Chapitre 02

Installation des noeuds et création du cluster

De l'ISO au cluster en quorum, avec les options qui évitent d'avoir à tout refaire trois mois plus tard.

Lecture 8 min  ·  Prérequis : chapitre 01

01Installation des noeuds

L'installation depuis l'ISO officielle est directe. Deux choix comptent vraiment.

  • Système de fichiers : ZFS en miroir sur deux disques, avec un ashift de 12 pour des disques à secteurs de 4 Ko. Cela offre les instantanés, la somme de contrôle et la tolérance à la perte d'un disque système.
  • Nom et adresse : le nom court du noeud et son adresse d'administration sont écrits en dur dans la configuration du cluster. Les changer après coup est possible mais pénible. Choisissez une convention et tenez-la.
Réserve ZFS

Sur un pool ZFS système, limitez l'ARC : par défaut ZFS peut prendre la moitié de la mémoire, au détriment des machines virtuelles. Sur un noeud de virtualisation, quelques gigaoctets suffisent largement pour le pool système.

Limiter l'ARC ZFS à 8 Go
echo "options zfs zfs_arc_max=8589934592" > /etc/modprobe.d/zfs.conf
update-initramfs -u -k all

02Dépôts, mises à jour, horloge

Sans abonnement, le dépôt entreprise renvoie une erreur à chaque mise à jour. Basculez sur le dépôt sans abonnement, ou souscrivez : pour une plateforme de production, l'abonnement donne accès à des paquets testés plus longuement, ce qui n'est pas un détail.

Dépôt sans abonnement, sur chaque noeud
# desactiver le dépôt entreprise
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list

# ajouter le dépôt sans abonnement
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-no-subscription.list

apt update && apt dist-upgrade -y

Vérifiez ensuite deux points souvent oubliés.

  • Résolution des noms : chaque noeud doit résoudre le nom court de tous les autres, via /etc/hosts renseigné à l'identique partout. Ne dépendez pas d'un DNS externe pour le fonctionnement du cluster.
  • Horloge : chrony sur tous les noeuds, pointant vers les mêmes sources. Une dérive de plus de 50 ms perturbe Ceph, et davantage encore l'analyse des journaux.

03Configuration réseau

La configuration vit dans /etc/network/interfaces. Proxmox VE applique les changements sans redémarrage via ifreload -a, mais gardez un accès console ouvert pendant la manipulation.

/etc/network/interfaces (extrait, noeud 1)
# administration
auto vmbr0
iface vmbr0 inet static
    address 10.10.0.11/24
    gateway 10.10.0.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

# corosync lien 0 et lien 1, dédiés, sans agrégation
auto eno2
iface eno2 inet static
    address 10.10.1.11/24

auto eno3
iface eno3 inet static
    address 10.10.2.11/24

# Ceph et migration, agrégation LACP, trames etendues
auto bond0
iface bond0 inet manual
    bond-slaves enp1s0f0 enp1s0f1
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit-hash-policy layer3+4
    mtu 9000

auto bond0.13
iface bond0.13 inet static
    address 10.10.3.11/24
    mtu 9000

auto bond0.14
iface bond0.14 inet static
    address 10.10.4.11/24
    mtu 9000

# production, pont compatible VLAN
auto vmbr1
iface vmbr1 inet manual
    bridge-ports enp2s0f0
    bridge-vlan-aware yes
    bridge-vids 2-4094

04Création du cluster et liens corosync

Le cluster se crée sur un seul noeud, puis les autres le rejoignent. Déclarez les deux liens corosync des la création : les ajouter après coup demande de modifier la configuration corosync à la main, opération délicate sur un cluster en production.

Sur le premier noeud
pvecm create CLUSTER-AZUR \
  --link0 10.10.1.11 \
  --link1 10.10.2.11
Sur chacun des autres noeuds
pvecm add 10.10.1.11 \
  --link0 10.10.1.12 \
  --link1 10.10.2.12
Piège classique

Un noeud qui rejoint un cluster perd sa configuration locale de machines virtuelles. Les VM existantes doivent être sauvegardées puis restaurées après l'adhésion, ou le noeud doit rejoindre le cluster avant toute création de VM.

Vérifications immédiates

Contrôles après formation du cluster
# quorum, nombre de voix, liste des noeuds
pvecm status

# état de chaque lien corosync : les deux doivent être connectes
corosync-cfgtool -s

# latence observee sur les liens
corosync-cfgtool -n

Sur le lien 0, une latence moyenne au-delà de 5 ms sur un réseau local signale un problème : lien partagé, commutateur saturé, ou négociation de vitesse incorrecte. Ce chiffre devient un indicateur suivi, voir le chapitre 06.

05QDevice pour les clusters à nombre pair

Sur un cluster à deux ou quatre noeuds, un QDevice apporte une voix supplémentaire depuis une machine tierce. Cette machine n'a pas besoin d'être puissante : un petit conteneur Debian héberge ailleurs suffit, à condition qu'il ne partage pas le même point de défaillance que le cluster.

Mise en place
# sur la machine tierce
apt install corosync-qnetd

# sur chaque noeud du cluster
apt install corosync-qdevice

# depuis un noeud, une seule fois
pvecm qdevice setup 10.10.0.250

# vérification : le total des voix doit avoir augmente de 1
pvecm status

06Comptes, rôles et accès

  • Ne travaillez pas en root@pam au quotidien. Créez un domaine d'authentification (PAM, LDAP ou OpenID) et des utilisateurs nominatifs.
  • Rôles : Proxmox VE dispose d'un modèle de permissions fin par chemin. Un exploitant n'a pas besoin de Sys.Modify sur le centre de données.
  • Double authentification sur tous les comptes disposant de droits d'administration, TOTP ou WebAuthn.
  • Certificat : ACME intégré pour un certificat reconnu sur l'interface d'administration, quand elle est joignable depuis un réseau interne routable.
  • Exposition : le port 8006 ne doit jamais être accessible depuis Internet. VPN ou machine rebond, sans exception.
Avant de passer au stockage

A ce stade, pvecm status doit montrer tous les noeuds, le quorum atteint et deux liens actifs. Ne commencez pas Ceph tant que ce n'est pas le cas : diagnostiquer un problème de quorum une fois Ceph installe est nettement plus pénible.

Un cluster a batir, a auditer ou a reprendre en main

Nous concevons, deployons et exploitons des clusters Proxmox VE et Ceph en production pour des PME, des structures reglementees et des collectivites. Nous formons aussi vos equipes, notamment dans le cadre des migrations depuis VMware.