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 [2024/10/25 18:54] – [Importer un VPS depuis ganeti] ljf | benevoles:technique:proxmox [2025/06/06 18:44] (Version actuelle) – ljf | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
< | < | ||
+ | |||
# Proxmox pour ARN | # Proxmox pour ARN | ||
Ligne 12: | Ligne 13: | ||
### Ajout d'un nœud | ### Ajout d'un nœud | ||
+ | Ici on prendra 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 | ||
+ | 1. Booter sur l'iso proxmox | ||
+ | 2. choisir l' | ||
+ | |||
+ | #### Installation d' | ||
+ | ``` | ||
+ | apt install jq python3-unidecode | ||
+ | ``` | ||
+ | |||
+ | #### Création de l' | ||
+ | A faire sur ns0.arn-fai.net | ||
+ | ``` | ||
+ | hwhost-4 A 89.234.141.134 | ||
+ | hwhost-4 AAAA 2a00: | ||
+ | ``` | ||
+ | |||
+ | #### Mise en réseau | ||
+ | |||
+ | ! Cette configuration est temporaire, car on utilise le switch non manageable dédié du cluster pour accéder à internet, ce qui n' | ||
+ | |||
+ | 1. Brancher un câble vert du switch manageable au premier port du serveur | ||
+ | 1. Brancher un câble bleu du switch non manageable au second port du serveur | ||
+ | 1. Ajouter une route `ip r a 2a00: | ||
+ | 1. Configurer / | ||
+ | |||
+ | |||
+ | ``` | ||
+ | auto eno2 | ||
+ | iface eno2 inet manual | ||
+ | iface eno2 inet6 manual | ||
+ | |||
+ | auto vmbr0 | ||
+ | iface vmbr0 inet static | ||
+ | address 192.168.11.4/ | ||
+ | gateway 192.168.11.2 | ||
+ | bridge-ports eno2 | ||
+ | bridge-stp off | ||
+ | bridge-fd 0 | ||
+ | post-up /sbin/ip a a 89.234.141.134 dev $IFACE | ||
+ | |||
+ | iface vmbr0 inet6 static | ||
+ | address fe80:: | ||
+ | gateway fe80::69:2 | ||
+ | accept_ra 0 | ||
+ | autoconf 0 | ||
+ | dad-attemps 0 | ||
+ | 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 | ||
+ | #### SSH | ||
+ | / | ||
+ | |||
+ | A partir d'ici il faudra se connecter via ssh avec le port 722. | ||
+ | |||
+ | #### x509 Let's Encrypt | ||
+ | Dans l' | ||
+ | 1. Cliquer sur le noeud `hwhost-4 > Certificates` | ||
+ | 2. Dans la partie `ACME` cliquer sur `Add` | ||
+ | 3. Saisir `hwhost-4.arn-fai.net` | ||
+ | 4. Cliquer sur `Edit` (account) et mettre `arn-fai` puis `Apply` | ||
+ | 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, | ||
+ | |||
+ | |||
+ | |||
## Commandes utiles | ## Commandes utiles | ||
Ligne 59: | Ligne 290: | ||
### Ajouter une image cloud-init | ### Ajouter une image cloud-init | ||
``` | ``` | ||
- | wget https:// | + | wget https:// |
sync-nodes | sync-nodes | ||
``` | ``` | ||
Ligne 107: | 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) | ||
- | </markdow | + | |
- | n> | + | </markdown> |
benevoles/technique/proxmox.1729882487.txt.gz · Dernière modification : de ljf