Outils pour utilisateurs

Outils du site


benevoles:technique:proxmox

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
benevoles:technique:proxmox [2025/03/30 23:21] ljfbenevoles:technique:proxmox [2025/06/06 18:44] (Version actuelle) ljf
Ligne 1: Ligne 1:
 <markdown> <markdown>
 +
 # Proxmox pour ARN # Proxmox pour ARN
  
Ligne 23: Ligne 24:
 1. Booter sur l'iso proxmox 1. Booter sur l'iso proxmox
 2. choisir l'installation ZFS RAID 10 (en faisant attention que les disques avec des serial number proche, ne soient pas dans le même sous mirroir du RAID 10...) 2. choisir l'installation ZFS RAID 10 (en faisant attention que les disques avec des serial number proche, ne soient pas dans le même sous mirroir du RAID 10...)
 +
 +#### Installation d'utilitaire
 +```
 +apt install jq python3-unidecode
 +```
  
 #### Création de l'entrée DNS #### Création de l'entrée DNS
Ligne 62: Ligne 68:
         dad-attemps 0         dad-attemps 0
         post-up /sbin/ip a a 2a00:5881:8100::134 dev $IFACE         post-up /sbin/ip a a 2a00:5881:8100::134 dev $IFACE
 +        
 +auto vmbr1
 +iface vmbr1 inet static
 + address 169.254.42.1/32
 + bridge-ports none
 + bridge-stp off
 + bridge-fd 0
 + post-up  /sbin/ip a a 10.254.42.1/32 dev $IFACE
 +
 +iface vmbr1 inet6 static
 + address fe80::42:1/64
 + post-up  /sbin/ip a a fc00::42:1/64 dev $IFACE
 ``` ```
  
 +On configure le forwarding pour les VM
  
 +/etc/sysctl.d/arn.conf
 +```
 +net.ipv6.conf.all.autoconf=0
 +net.ipv6.conf.all.disable_ipv6 = 0
 +net.ipv4.ip_forward=1
 +net.ipv6.conf.all.forwarding=1
 +net.ipv6.conf.default.forwarding = 1
 +net.ipv6.conf.all.proxy_ndp = 1
 +net.ipv6.conf.default.proxy_ndp = 1
 +```
 +Puis, on applique
 +```
 +service procps force-reload
 +```
 #### Ajout dans le cluster #### Ajout dans le cluster
-#### Configuration SSH+#### SSH
 /etc/ssh/sshd_config /etc/ssh/sshd_config
  
 A partir d'ici il faudra se connecter via ssh avec le port 722. A partir d'ici il faudra se connecter via ssh avec le port 722.
  
-#### Configuration x509 Let's Encrypt+#### x509 Let's Encrypt
 Dans l'interface web: Dans l'interface web:
 1. Cliquer sur le noeud `hwhost-4 > Certificates` 1. Cliquer sur le noeud `hwhost-4 > Certificates`
Ligne 78: Ligne 111:
 4. Cliquer sur `Edit` (account) et mettre `arn-fai` puis `Apply` 4. Cliquer sur `Edit` (account) et mettre `arn-fai` puis `Apply`
 5. `Order certificates now` 5. `Order certificates now`
 +
 +#### Résolveur DNS
 +/etc/resolv.conf
 +```
 +search arn-fai.net
 +nameserver 80.67.169.40
 +nameserver 185.233.100.101
 +nameserver 89.234.141.66
 +```
 +#### Fichier /etc/hosts
 +Ajouter 
 +```
 +89.234.141.134 hwhost-4.arn-fai.net hwhost-4
 +```
  
 #### Déployer les scripts d'ARN #### Déployer les scripts d'ARN
Ligne 100: Ligne 147:
 sync-nodes sync-nodes
 ``` ```
 +#### Installer lufi-cli
 +https://wiki.arn-fai.net/benevoles:technique:lufi-cli
  
 #### Désactiver le message de souscription sur l'interface web #### Désactiver le message de souscription sur l'interface web
Ligne 114: Ligne 163:
 .data.status.toLowerCase() !== "active") {orig_cmd(); } else if ( false ) { .data.status.toLowerCase() !== "active") {orig_cmd(); } else if ( false ) {
 ``` ```
 +
 +#### Libérer du stockage inutilisé sur les machines virtuelles
 +  * En activant l'option //**Discard**// de chaque machine virtuelle sous //**Hardware**// puis //**Hard Disk**//
 +
 +#### Modifier les repository de base de l'instance Proxmox
 +
 +```
 +cat <<EOF >/etc/apt/sources.list.d/pve-enterprise.list
 +# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
 +EOF
 +```
 +
 +```
 +cat <<EOF >/etc/apt/sources.list.d/pve-install-repo.list
 +deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
 +EOF
 +```
 +
 +#### Enlever le message d'alerte de souscription lors de la connexion à l'interface graphique
 +
 +```
 +  echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
 +  apt --reinstall install proxmox-widget-toolkit
 +```
 +  
 +Source : https://github.com/tteck/Proxmox/blob/main/misc/post-pve-install.sh
 +
 +#### Optimisations
 +
 +##### Général
 +
 +  * Récupérer le nom du pool ZFS, en cliquant sur la machine du cluster de la //server view//, sous //**Disks**// puis //**ZFS**//
 +
 +  * Désactiver les mises à jour des //**metadata**// pour les accès aux fichiers
 +
 +```
 +sudo zfs set atime=off [Nom du pool de stockage]
 +```
 + 
 +   * Désactiver la compression du système de fichiers
 +
 +```
 +sudo zfs set compression=off [Nom du pool de stockage]
 +```
 +
 +##### Régler le quota de mémoire utilisée par ZFS
 +
 +  * Ajouter la ligne suivante à **/etc/modprobe.d/zfs.conf**
 +  * La valeur est calculée selon cette méthode : **2 GB** de base + **1 GB** par **TB de stockage**
 +
 +```
 +    options zfs zfs_arc_max=[Valeur]
 +```
 +
 +  * Dans notre cas, nous avons sur hwhost-3 un stockage ZFS de 8 To, nous avons donc besoin de 10 GB de mémoire.
 +  * Soit **10** //GB * 1024 * 1024 * 1024// = **10737418240**
 +
 +Source : https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_limit_memory_usage
 +
 +##### Modifier le profil de mise à l'échelle du CPU
 +
 +  * Modifier le fichier crontab
 +```
 +   crontab -e
 +```
 +
 +  * Ajouter les lignes
 +
 +```
 +# Modification de la mise à l'échelle du processeur par le gouverneur "Conservative"
 +@reboot (sleep 60 && echo "conservative" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor)
 +```
 +
 +## Réflexion technique
 +
 +### CPU des VM
 +Par défaut, nous allons utiliser le `cpu_type` `host` qui aura les meilleures performances, on sacrifie l fait de pouvoir faire des migrations live (sans redémarrage des VM).
 +
  
  
Ligne 163: Ligne 290:
 ### Ajouter une image cloud-init ### Ajouter une image cloud-init
 ``` ```
-wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 -P /var/lib/vz/images -bookworm.qcow2+wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 -P /var/lib/vz/images -bookworm.qcow2
 sync-nodes sync-nodes
 ``` ```
Ligne 211: Ligne 338:
  - Utiliser libguestfs pour personnaliser les images avec [virt-builder](https://www.libguestfs.org/virt-builder.1.html)  - Utiliser libguestfs pour personnaliser les images avec [virt-builder](https://www.libguestfs.org/virt-builder.1.html)
  - ~~Faire en sorte que les VM netplan fonctionnent~~  - ~~Faire en sorte que les VM netplan fonctionnent~~
- - Écrire la routine d'import de VM depuis ganeti+ ~~Écrire la routine d'import de VM depuis ganeti~~
  - Automatiser le partage de route (soit via le snippets arn-set-routes.sh, soit via ospf ou ibgp)  - Automatiser le partage de route (soit via le snippets arn-set-routes.sh, soit via ospf ou ibgp)
- - Pouvoir créer des VM sur un nœud mais depuis un autre nœud + ~~Pouvoir créer des VM sur un nœud mais depuis un autre nœud~~ 
- - Pouvoir lister les VM de tous les nœuds + ~~Pouvoir lister les VM de tous les nœuds~~ 
- - Raccorder COIN au cluster pour proposer le bouton provisionner + ~~Raccorder COIN au cluster pour proposer le bouton provisionner~~ 
- - Ajouter d'autres boutons (redémarrer, rescue, iso, faire évoluer les ressources, stop, start, changer le mot de passe, changer la clé publique)+ - Ajouter d'autres boutons (~~redémarrer~~, rescue, iso, faire évoluer les ressources, stop, start, changer le mot de passe, changer la clé publique)
  - Renforcer le script pour couper l’exécution en cas d'échecs d'une commande (+ trap)  - Renforcer le script pour couper l’exécution en cas d'échecs d'une commande (+ trap)
  - Vérifier les permissions des membres sur proxmox  - Vérifier les permissions des membres sur proxmox
  - Ajouter le support de la réplication  - Ajouter le support de la réplication
- - Documenter l'installation d'un nœud+ ~~Documenter l'installation d'un nœud~~
  - Utiliser une zone et un Vnet (SDN) à la place d'une interface vmbr1 configurée manuellement sur chaque nœud  - Utiliser une zone et un Vnet (SDN) à la place d'une interface vmbr1 configurée manuellement sur chaque nœud
  - Revoir le réseau pour éviter de tout faire passer par le switch dédié au backbone  - Revoir le réseau pour éviter de tout faire passer par le switch dédié au backbone
  - Relire des bouts de doc proxmox au cas où on a loupé des choses  - Relire des bouts de doc proxmox au cas où on a loupé des choses
  - Utiliser cicustom pour lancer un script finale (install yunohost)  - Utiliser cicustom pour lancer un script finale (install yunohost)
 +
 </markdown> </markdown>
benevoles/technique/proxmox.1743376896.txt.gz · Dernière modification : de ljf