Grappe de virtualisation Proxmox VE à trois nœuds
Mise en place et configuration d'un environnement de virtualisation en cluster.
- Référence
- HL-PRC-003
- Version
- 0.1
- Date d’édition
- 23/08/2026
Installation des hyperviseurs, raccordement au réseau segmenté par étiquetage 802.1Q, constitution de la grappe sur lien d’isolation dédié et paramétrage préalable à tout déploiement d’instance.
1. Objet
Cette procédure décrit la mise en service d’une grappe de virtualisation composée de trois hyperviseurs physiques, depuis l’installation du système jusqu’à l’obtention d’un ensemble cohérent, quorate et administrable, prêt à recevoir des machines virtuelles et des conteneurs.
Elle couvre le raccordement des nœuds à un réseau segmenté par étiquetage 802.1Q, la séparation du trafic de cohérence de grappe sur un réseau non routé, la déclaration des espaces de stockage et le paramétrage minimal exigé avant tout déploiement. L’ordre des opérations est contraignant : plusieurs paramètres deviennent immuables une fois la grappe constituée.
2. Périmètre et prérequis
Périmètre
Sont couverts : l’installation des trois hyperviseurs, leur nommage, la configuration du pont réseau et des interfaces étiquetées, la modification correspondante sur le commutateur d’accès, la bascule des dépôts logiciels, la création de la grappe avec deux liens de cohérence, la déclaration des volumes de stockage locaux et la création du groupe d’administration.
Sont exclus : le déploiement des instances, la sauvegarde dédiée, la haute disponibilité, la réplication entre nœuds, la synchronisation horaire et le raccordement à un annuaire externe. Ces sujets relèvent de procédures distinctes.
Prérequis
- Trois machines physiques disposant chacune d’au moins une interface réseau exploitable et d’un disque système dédié. Les versions installées doivent être strictement identiques.
- Un commutateur administrable capable d’étiquetage 802.1Q, déjà configuré avec les réseaux virtuels cibles et raccordé au routeur assurant le routage inter-segments.
- Un routeur ou pare-feu portant la passerelle du segment d’administration.
- Un poste d’administration raccordé au segment d’administration, sur un port distinct de ceux des hyperviseurs.
- Un accès console physique ou série à chacun des trois nœuds, disponible pendant toute la durée de l’intervention.
- Une clé publique d’administration, à déposer sur les nœuds dès l’installation.
Paramètres de la procédure
Le corps de la procédure ne contient aucune valeur en dur. Chaque valeur propre à une installation est déclarée ci-dessous et référencée ensuite par son nom.
| Paramètre | Description | Exemple | Contrainte |
|---|---|---|---|
| NOM_GRAPPE | Nom de la grappe | labo | Alphanumérique et tirets. Immuable après création. |
| DOM_ADM | Zone de nommage du segment d’administration | adm.exemple.lan | Suit le segment de gestion, non le rôle |
| VID_ADM | Identifiant du segment d’administration | 10 | Doit exister sur le commutateur |
| VID_ISO | Identifiant du segment de cohérence | 99 | Non routé, sans passerelle |
| VID_LISTE | Segments transportés vers les instances | 10 20 30 99 | Autorisés sur le lien agrégé |
| RES_ADM | Préfixe du segment d’administration | 10.0.10.0/24 | — |
| RES_ISO | Préfixe du segment de cohérence | 10.0.99.0/24 | Aucun routage sortant |
| GW_ADM | Passerelle du segment d’administration | 10.0.10.254 | Unique route par défaut |
| IP_ADM_n | Adresse d’administration du nœud n | 10.0.10.11 | Plage réservée aux serveurs |
| IP_ISO_n | Adresse de cohérence du nœud n | 10.0.99.11 | Même indice que IP_ADM_n |
| HOTE_n | Nom court du nœud n | hv1 | Sans point. Immuable en pratique. |
| NIC_LAN | Interface physique de production | nic0 | Nom stabilisé par épinglage |
| PORT_n | Port de commutation du nœud n | fa1 | Configuré en lien agrégé |
| GRP_ADM | Groupe d’administration de la grappe | grp-admin | — |
3. Rôles et responsabilités
| Rôle | Responsabilité |
|---|---|
| Opérateur | Exécute les étapes dans l’ordre, relève les sorties de contrôle et interrompt l’intervention dès qu’un critère d’acceptation n’est pas satisfait. |
| Administrateur système | Arbitre les paramètres immuables avant démarrage, valide le choix du type de stockage et prononce la recette finale. |
| Administrateur réseau | Applique et vérifie les modifications sur le commutateur d’accès, garantit la disponibilité du chemin de secours pendant la bascule. |
4. Procédure de mise en service
Les étapes s’exécutent dans l’ordre. Chacune se termine par un contrôle dont l’échec interdit de passer à la suivante.
4.1. Arbitrages préalables
Trois décisions ne peuvent pas être différées. Les reprendre après coup impose une réinstallation complète ou la destruction de la grappe.
| Décision | Conséquence si différée | Critère d’arbitrage |
|---|---|---|
| Type de stockage local | Réinstallation des trois nœuds | Un gestionnaire de volumes à allocation fine n’offre ni réplication entre nœuds, ni sommes de contrôle, ni compression. Un système de fichiers intégrant la gestion de volumes offre les trois mais réserve de la mémoire vive pour son cache de lecture. |
| Nom de la grappe | Destruction et reconstruction | Figuré dans la configuration de cohérence et dans l’interface. Court, en minuscules, aligné sur la zone de nommage. |
| Nom d’hôte des nœuds | Intervention manuelle étendue | Référencé par la cohérence, les certificats et l’arborescence de configuration partagée. |
4.2. Installation des hyperviseurs
Installer les trois nœuds depuis le même support, avec le même schéma de partitionnement et le même type de stockage. Renseigner séparément le nom court et le domaine.
| Champ | Nœud 1 | Nœud 2 | Nœud 3 |
|---|---|---|---|
| Nom d’hôte | HOTE_1 | HOTE_2 | HOTE_3 |
| Domaine | DOM_ADM | DOM_ADM | DOM_ADM |
| Adresse | IP_ADM_1 | IP_ADM_2 | IP_ADM_3 |
| Passerelle | GW_ADM | GW_ADM | GW_ADM |
Contrôle — sur chaque nœud, la version doit être strictement identique et le nom pleinement qualifié conforme :
hostname -f
pveversion
for f in /usr/local/lib/systemd/network/*.link; do echo « == $f »; cat « $f »; done
4.3. Résolution locale des noms
La grappe s’appuie sur la résolution des noms pleinement qualifiés. Tant que le service de noms interne n’est pas déployé, la résolution est assurée localement, avec un contenu strictement identique sur les trois nœuds.
Fichier /etc/hosts
IP_ADM_1 HOTE_1.DOM_ADM HOTE_1
IP_ADM_2 HOTE_2.DOM_ADM HOTE_2
IP_ADM_3 HOTE_3.DOM_ADM HOTE_3
Contrôle — les trois entrées doivent être résolues depuis chacun des nœuds :
getent hosts HOTE_1.DOM_ADM HOTE_2.DOM_ADM HOTE_3.DOM_ADM
hostname -i
4.4. Configuration du lien agrégé sur le commutateur
Les ports des hyperviseurs doivent transporter le segment d’administration et le segment de cohérence sous forme étiquetée, ainsi que les segments destinés aux futures instances. L’opération est non perturbante : ajouter un segment étiqueté ne modifie pas le trafic existant.
configure
interface range PORT_1-PORT_3
switchport mode trunk
switchport trunk allowed vlan add VID_LISTE
exit
end
copy running-config startup-config
Contrôle — sur chacun des trois ports, les segments attendus doivent apparaître en étiqueté statique :
show interfaces switchport PORT_1
4.5. Configuration réseau des nœuds — phase de recouvrement
Le pont est basculé en mode conscient des segments, et deux interfaces étiquetées sont ajoutées. L’adresse préexistante est conservée à ce stade : elle garantit l’accès si l’étiquetage n’est pas opérationnel.
Sauvegarder avant modification :
cp -a /etc/network/interfaces /root/interfaces.bak.$(date +%F-%H%M)
Fichier /etc/network/interfaces
iface lo inet loopback
iface NIC_LAN inet manual
auto vmbr0
iface vmbr0 inet static
address <adresse provisoire>/24
gateway <passerelle provisoire>
bridge-ports NIC_LAN
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids VID_LISTE
auto vmbr0.VID_ADM
iface vmbr0.VID_ADM inet static
address IP_ADM_n/24
auto vmbr0.VID_ISO
iface vmbr0.VID_ISO inet static
address IP_ISO_n/24
source /etc/network/interfaces.d/*
Paramètres notables :
- bridge-vlan-aware yes — active le filtrage par segment sur le pont. Sans lui, aucune instance ne peut être rattachée à un segment par étiquette.
- bridge-vids — énumère les segments admis à traverser le pont. Un segment absent est rejeté.
- Aucune passerelle sur l’interface de cohérence : ce segment n’est pas routé et ne doit pas l’être.
- Une seule route par défaut est déclarée dans le fichier. Deux directives de passerelle font échouer le rechargement.
Appliquer la configuration. La commande est différée pour survivre à la coupure de la session qui la lance :
systemd-run --on-active=5 --timer-property=AccuracySec=1s ifreload -a
Contrôle — après reconnexion, les deux interfaces étiquetées doivent porter leur adresse et répondre depuis le poste d’administration :
ip -br addr show
ip route
# depuis le poste d’administration
ping -c3 IP_ADM_n
ifreload -a -d 2>&1 | tail -30
Retour arrière
Depuis la console, restaurer la sauvegarde et recharger :
cp -a /root/interfaces.bak.* /etc/network/interfaces
ifreload -a
4.6. Bascule définitive et retrait du recouvrement
Une fois les trois nœuds joignables sur le segment d’administration, l’adresse provisoire est retirée et la route par défaut migre sur l’interface étiquetée.
Fichier /etc/network/interfaces
auto vmbr0
iface vmbr0 inet manual
bridge-ports NIC_LAN
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids VID_LISTE
auto vmbr0.VID_ADM
iface vmbr0.VID_ADM inet static
address IP_ADM_n/24
gateway GW_ADM
Puis, sur le commutateur, retirer le segment natif des ports des hyperviseurs :
configure
interface range PORT_1-PORT_3
switchport trunk native vlan 1
exit
end
copy running-config startup-config
4.7. Dépôts logiciels
L’installation active par défaut un dépôt soumis à abonnement, qui renvoie une erreur d’autorisation à chaque mise à jour. Le remplacer par le dépôt communautaire sur les trois nœuds.
Relever d’abord l’état réel, les noms de fichiers variant selon la version :
grep -rH '' /etc/apt/sources.list.d/ /etc/apt/sources.list 2>/dev/null
Réécrire intégralement les fichiers concernés plutôt que d’y ajouter une ligne :
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: <nom de code de la base>
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Enabled: false
EOF
cat > /etc/apt/sources.list.d/pve-no-subscription.sources <<’EOF’
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: <nom de code de la base>
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt update
Contrôle — la mise à jour des index doit se terminer sans erreur d’autorisation, et sans avertissement de source déclarée plusieurs fois.
4.8. Création de la grappe
La grappe est initialisée sur un seul nœud, avec deux liens de cohérence. Le lien prioritaire emprunte le segment d’isolation ; le second, le segment d’administration.
–link0 IP_ISO_1,priority=20 \
–link1 IP_ADM_1,priority=10
Le mécanisme de priorité : seul le lien de priorité la plus élevée transporte le trafic de cohérence tant qu’il fonctionne. Déclarer en priorité basse un réseau utilisé par d’autres trafics est la stratégie recommandée : il ne sert que si le lien dédié tombe.
Contrôle avant d’aller plus loin :
pvecm status
cat /etc/pve/corosync.conf
La configuration doit comporter deux directives d’adresse par nœud et deux blocs d’interface portant les priorités déclarées. Une erreur constatée ici se corrige en détruisant la grappe, opération triviale tant qu’aucun nœud n’a adhéré.
4.9. Adhésion des nœuds
L’adhésion se lance depuis le nœud entrant, un nœud à la fois, en désignant le nœud initial par son nom pleinement qualifié.
–link0 IP_ISO_n,priority=20 \
–link1 IP_ADM_n,priority=10
Contrôle après chaque adhésion :
pvecm status
pvecm nodes
corosync-cfgtool -s
ps aux | grep pvecm | grep -v grep
# si un processus est présent, le terminer avant toute autre action
kill <PID>
# uniquement si plus aucun processus n’est actif
ls -la /var/lock/pvecm.lock
4.10. Déclaration des stockages
Les volumes locaux propres à un nœud doivent être déclarés en restreignant explicitement leur portée à ce nœud.
Inventaire préalable, et suppression des résidus d’une installation antérieure :
lsblk
vgs
lvs -a
# suppression d’un volume résiduel, après vérification de son contenu
lvremove -f <groupe>/<volume>
# récupération de l’espace libéré
lvextend -l +100%FREE <groupe>/<reservoir>
# inspection non destructive d’un volume résiduel
lvchange -ay <groupe>/<volume>
lsblk -f /dev/<groupe>/<volume>
Déclaration :
–content rootdir,images –nodes HOTE_n
pvesm status
4.11. Groupe d’administration
L’utilisateur privilégié hérité du système ne doit pas rester le seul moyen d’administration. Trois objets distincts interviennent : l’utilisateur, le groupe, et la règle de contrôle d’accès qui associe un groupe à un rôle sur un chemin.
pveum group add GRP_ADM -comment "Administration de la grappe"
pveum acl modify / -group GRP_ADM -role Administrator
pveum user add <identifiant>@pve -groups GRP_ADM
pveum passwd <identifiant>@pve
Contrôle :
pveum group list
pveum acl list
pveum user list
5. Intégration réseau
Synthèse des éléments à consigner au dossier d’exploitation à l’issue de la mise en service.
Adressage par nœud
| Élément | Nœud 1 | Nœud 2 | Nœud 3 |
|---|---|---|---|
| Interface physique | NIC_LAN | NIC_LAN | NIC_LAN |
| Administration | vmbr0.VID_ADM | vmbr0.VID_ADM | vmbr0.VID_ADM |
| Adresse d’administration | IP_ADM_1 | IP_ADM_2 | IP_ADM_3 |
| Cohérence | vmbr0.VID_ISO | vmbr0.VID_ISO | vmbr0.VID_ISO |
| Adresse de cohérence | IP_ISO_1 | IP_ISO_2 | IP_ISO_3 |
| Passerelle | GW_ADM | GW_ADM | GW_ADM |
| Port de commutation | PORT_1 | PORT_2 | PORT_3 |
Flux
| Flux | Protocole | Ports | Portée |
|---|---|---|---|
| Interface web d’administration | TCP | 8006 | Poste d’administration vers chaque nœud |
| Console distante | TCP | 22 | Poste d’administration vers chaque nœud |
| Cohérence de grappe | UDP | 5405 – 5412 | Entre nœuds, sur les deux liens déclarés |
| Migration d’instance | TCP | 60000 – 60050 | Entre nœuds |
Dépendances
- Routage inter-segments assuré par le pare-feu portant GW_ADM. Sa perte isole les nœuds du poste d’administration mais n’affecte pas la cohérence, portée par un segment non routé.
- Lien agrégé entre le commutateur et le routeur : sa perte supprime tout routage entre segments.
- Résolution des noms : locale pendant la mise en service, à migrer vers le service de noms interne dès son déploiement.
6. Durcissement et sécurité
- Isoler l’interface d’administration des hyperviseurs dans un segment distinct de celui des instances hébergées. Une instance compromise ne doit pas être adjacente au niveau liaison à l’interface d’administration de son propre hôte.
- Maintenir le segment de cohérence non routé et dépourvu de passerelle.
- Désactiver et neutraliser toute interface sans fil présente sur les nœuds : elle constitue un chemin hors du plan de segmentation, invisible du pare-feu comme du commutateur.
- Authentifier l’accès distant par clé publique et refuser l’authentification par secret partagé.
- Créer un compte d’administration nominatif et réserver l’utilisateur privilégié hérité du système aux interventions de secours.
- Activer le filtrage applicatif au niveau de la grappe et n’autoriser les ports d’administration que depuis le segment d’administration.
- Consigner toute dérogation — modification manuelle d’un fichier fourni par un paquet, en particulier — avec sa justification et sa durée de validité.
7. Vérifications finales
Chaque contrôle est mesurable et se prononce sur une sortie observable.
| Contrôle | Critère d’acceptation | Statut |
|---|---|---|
| Versions homogènes | La commande de version renvoie une valeur identique sur les trois nœuds | ☐ |
| Résolution des noms | Les trois noms pleinement qualifiés sont résolus depuis chaque nœud | ☐ |
| Adressage | Aucune adresse résiduelle hors du segment d’administration et du segment de cohérence | ☐ |
| Route par défaut | Une seule route par défaut, portée par l’interface d’administration étiquetée | ☐ |
| Lien agrégé | Les segments attendus apparaissent en étiqueté statique sur les trois ports | ☐ |
| Joignabilité | Chaque nœud répond depuis le poste d’administration sur son adresse d’administration | ☐ |
| Segment de cohérence | Chaque nœud répond aux deux autres sur le segment d’isolation | ☐ |
| Quorum | Trois nœuds, trois voix, quorum atteint | ☐ |
| Lien de cohérence prioritaire | Le lien 0 est connecté vers les trois identifiants de nœud | ☐ |
| Lien de cohérence secondaire | Le lien 1 est connecté vers les trois identifiants de nœud | ☐ |
| Dépôts | La mise à jour des index se termine sans erreur d’autorisation ni doublon | ☐ |
| Stockages | Chaque stockage déclaré apparaît actif et restreint à son nœud propriétaire | ☐ |
| Contrôle d’accès | Le groupe existe, la règle est posée sur le chemin racine, la connexion aboutit | ☐ |
| Stabilité des sessions | Aucune fermeture inopinée de session d’administration sur une heure d’usage | ☐ |
Commandes de recette, à exécuter sur chacun des trois nœuds :
pveversion
getent hosts HOTE_1.DOM_ADM HOTE_2.DOM_ADM HOTE_3.DOM_ADM
ip -br addr show
ip route
pvecm status
corosync-cfgtool -s
apt update
pvesm status
pveum acl list
8. Références et historique des révisions
Documentation éditeur
- Proxmox VE — Cluster Manager. Constitution de la grappe, liens multiples et priorités, adhésion et retrait de nœuds. https://pve.proxmox.com/wiki/Cluster_Manager
- Proxmox VE — Network Configuration. Ponts conscients des segments, interfaces étiquetées, épinglage des noms d’interface. https://pve.proxmox.com/wiki/Network_Configuration
- Proxmox VE — Package Repositories. Format de déclaration des sources et dépôts disponibles. https://pve.proxmox.com/wiki/Package_Repositories
- Cisco — Guide de référence des commandes de segmentation pour commutateurs administrables de petite capacité. Syntaxe d’ajout à la liste des segments autorisés d’un lien agrégé.
Documents associés
- HL-PRC-001 — Configuration d’un pare-feu de périmètre. Décrit le routage inter-segments et les passerelles référencées par la présente procédure.
- HL-PRC-002 — Configuration d’un commutateur d’accès. Décrit la création des segments et le lien agrégé homologue, prérequis de l’étape 4.4.
Limites connues
- La procédure suppose une interface physique unique par nœud. Une topologie à interfaces multiples permet une redondance matérielle des liens de cohérence, non traitée ici.
- Aucune synchronisation horaire n’est mise en place. La dérive d’horloge entre nœuds produit à terme des symptômes difficiles à diagnostiquer sur les certificats et la corrélation des journaux.
- La sauvegarde des instances et la reprise après sinistre sortent du périmètre.
- La procédure a été établie sur une grappe de trois nœuds. À deux nœuds, le quorum exige un arbitre externe, non traité ici.
Historique des révisions
| Version | Date | Auteur | Modifications |
|---|---|---|---|
| 0.1 | 23/08/2026 | Administrateur système et réseaux | Création du document à partir d’une mise en service réelle. |