benevoles:technique:proxmox
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| benevoles:technique:proxmox [2025/03/31 00:58] – ljf | benevoles:technique:proxmox [2025/06/06 20:44] (Version actuelle) – ljf | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| < | < | ||
| + | |||
| # Proxmox pour ARN | # Proxmox pour ARN | ||
| Ligne 15: | Ligne 16: | ||
| #### Avant l' | #### Avant l' | ||
| + | * Un serveur | ||
| + | * Pas de carte RAID matériel | ||
| + | * 4 disques de 4To + 1 disque de spare (moitié Samsung 870 EVO, moitié Crucial XXXXXXX) | ||
| + | * Vérifier que les 2 alims fonctionnent | ||
| + | |||
| #### Installation de proxmox | #### Installation de proxmox | ||
| + | 1. Booter sur l'iso proxmox | ||
| + | 2. choisir l' | ||
| + | |||
| + | #### Installation d' | ||
| + | ``` | ||
| + | apt install jq python3-unidecode | ||
| + | ``` | ||
| + | |||
| #### Création de l' | #### Création de l' | ||
| A faire sur ns0.arn-fai.net | A faire sur ns0.arn-fai.net | ||
| Ligne 54: | Ligne 68: | ||
| dad-attemps 0 | dad-attemps 0 | ||
| post-up /sbin/ip a a 2a00: | post-up /sbin/ip a a 2a00: | ||
| + | | ||
| + | auto vmbr1 | ||
| + | iface vmbr1 inet static | ||
| + | address 169.254.42.1/ | ||
| + | bridge-ports none | ||
| + | bridge-stp off | ||
| + | bridge-fd 0 | ||
| + | post-up | ||
| + | |||
| + | iface vmbr1 inet6 static | ||
| + | address fe80:: | ||
| + | post-up | ||
| ``` | ``` | ||
| + | On configure le forwarding pour les VM | ||
| + | / | ||
| + | ``` | ||
| + | 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 |
| / | / | ||
| 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 |
| Dans l' | Dans l' | ||
| 1. Cliquer sur le noeud `hwhost-4 > Certificates` | 1. Cliquer sur le noeud `hwhost-4 > Certificates` | ||
| Ligne 71: | Ligne 112: | ||
| 5. `Order certificates now` | 5. `Order certificates now` | ||
| + | #### Résolveur DNS | ||
| + | / | ||
| + | ``` | ||
| + | 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 | ||
| + | |||
| + | Ajouter la config ssh | ||
| + | ``` | ||
| + | Host hwhost-2.arn-fai.net | ||
| + | Port 2222 | ||
| + | Host * | ||
| + | User root | ||
| + | Port 722 | ||
| + | ``` | ||
| + | |||
| + | Valider les fingerprint sur l' | ||
| + | ``` | ||
| + | ssh hwhost-3.arn-fai.net | ||
| + | ssh hwhost-4.arn-fai.net | ||
| + | ``` | ||
| + | |||
| + | A faire sur un des nœuds déjà installé | ||
| + | ``` | ||
| + | sync-nodes | ||
| + | ``` | ||
| + | #### Installer lufi-cli | ||
| + | https:// | ||
| + | |||
| + | #### Désactiver le message de souscription sur l' | ||
| + | |||
| + | |||
| + | Remplacer aux alentour de la ligne 565 du fichier / | ||
| + | ``` | ||
| + | .data.status.toLowerCase() !== " | ||
| + | ``` | ||
| + | |||
| + | par | ||
| + | |||
| + | ``` | ||
| + | .data.status.toLowerCase() !== " | ||
| + | ``` | ||
| + | |||
| + | #### Libérer du stockage inutilisé sur les machines virtuelles | ||
| + | * En activant l' | ||
| + | |||
| + | #### Modifier les repository de base de l' | ||
| + | |||
| + | ``` | ||
| + | cat <<EOF >/ | ||
| + | # deb https:// | ||
| + | EOF | ||
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | cat <<EOF >/ | ||
| + | deb http:// | ||
| + | EOF | ||
| + | ``` | ||
| + | |||
| + | #### Enlever le message d' | ||
| + | |||
| + | ``` | ||
| + | echo " | ||
| + | apt --reinstall install proxmox-widget-toolkit | ||
| + | ``` | ||
| + | | ||
| + | Source : https:// | ||
| + | |||
| + | #### Optimisations | ||
| + | |||
| + | ##### Général | ||
| + | |||
| + | * Récupérer le nom du pool ZFS, en cliquant sur la machine du cluster de la //server view//, sous // | ||
| + | |||
| + | * Désactiver les mises à jour des // | ||
| + | |||
| + | ``` | ||
| + | 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 à **/ | ||
| + | * 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:// | ||
| + | |||
| + | ##### Modifier le profil de mise à l' | ||
| + | |||
| + | * Modifier le fichier crontab | ||
| + | ``` | ||
| + | | ||
| + | ``` | ||
| + | |||
| + | * Ajouter les lignes | ||
| + | |||
| + | ``` | ||
| + | # Modification de la mise à l' | ||
| + | @reboot (sleep 60 && echo " | ||
| + | ``` | ||
| + | ## Réflexion technique | ||
| + | ### CPU des VM | ||
| + | Par défaut, nous allons utiliser le `cpu_type` `host` qui aura les meilleures performances, | ||
| Ligne 123: | Ligne 290: | ||
| ### Ajouter une image cloud-init | ### Ajouter une image cloud-init | ||
| ``` | ``` | ||
| - | wget https:// | + | wget https:// |
| sync-nodes | sync-nodes | ||
| ``` | ``` | ||
| Ligne 171: | Ligne 338: | ||
| - Utiliser libguestfs pour personnaliser les images avec [virt-builder](https:// | - Utiliser libguestfs pour personnaliser les images avec [virt-builder](https:// | ||
| - ~~Faire en sorte que les VM netplan fonctionnent~~ | - ~~Faire en sorte que les VM netplan fonctionnent~~ | ||
| - | - Écrire la routine d' | + | |
| - Automatiser le partage de route (soit via le snippets arn-set-routes.sh, | - Automatiser le partage de route (soit via le snippets arn-set-routes.sh, | ||
| - | - Pouvoir créer des VM sur un nœud mais depuis un autre nœud | + | |
| - | - Pouvoir lister les VM de tous les nœuds | + | |
| - | - Raccorder COIN au cluster pour proposer le bouton provisionner | + | |
| - | - Ajouter d' | + | - Ajouter d' |
| - Renforcer le script pour couper l’exécution en cas d' | - Renforcer le script pour couper l’exécution en cas d' | ||
| - 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' | + | |
| - 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) | ||
| + | |||
| </ | </ | ||
benevoles/technique/proxmox.1743375493.txt.gz · Dernière modification : de ljf