Un mémo sur la mise en place d’un cluster haute disponibilité d’hyperviseurs Proxmox avec un serveur NFS.
Contrairement à la version précédente de proxmox, il n’est plus possible de créer un cluster HA sur 2 noeuds depuis la version 4.x de Proxmox.
Dû à une contrainte budgétaire, je n’ai que 3 serveurs pour créer mon cluster avec partage NFS compris.
Pour le stockage partagé, j’ai choisi la technologie NFS pour sa facilité de mis en œuvre et sa maintenance.
La sauvegarde des données vivantes des serveurs de fichiers ne sera pas traitée dans cet article.
Présentation de l’architecture serveur choisie
- 2 Serveurs Dell R730 4 disques 4To 3.5pouces en RAID5
- 1 Serveur Dell R830 16 disques 1,2To 2,5pouces RAID6
- Hyperviseurs Proxmox en cluster nommés pve-01, pve-02 et pve-03.
- Pve-01 et pve-02 auront la gestion des machines virtuelles.
- Les VMs seront réparties sur pve-01 et pve-02
- Sauvegarde des VMs en local sur pve-01, pve-02 (en cas d’indisponibilité du serveur NFS, possibilité de restaurer les VMs sur pve01 ou pve-02)
- Pve-03 sera le serveur NFS ou seront hébergées les machines virtuelles.
- Les réseaux :
- LAN réseau entreprise : 10.10.8.0/24
- LAN privée non routé : 192.168.94.0/24
- Les interfaces réseaux :
- Vmbr0 : interface administration des proxmox en port cuivre
- Vmbr1 : interface réseau sur le LAN réseau entreprise en port fibre
- Vmbr2 : interface réseau sur le LAN privé en port fibre
- Schéma réseau simplifié du cluster HA :
- Adresses réseaux :
- pve-01 :
- pve-02 :
- pve-03 :
vmbr0 10.10.8.202
vmbr2 192.168.94.1vmbr0 10.10.8.204
vmbr2 192.168.94.2vmbr0 10.10.8.206
vmbr2 192.168.94.3
L’installation de Proxmox 4.x est identique à la version 3.x : tuto installation Proxmox 3.x
Mise en cluster des 3 nœuds proxmox
- Sur pve-01 créé le nom du cluster :
pvecm create kluster
pvecm add 10.10.8.202
pvecm add 10.10.8.202
Préparation des serveurs NFS sur pve-03
- Installation du serveur NFS :
apt install nfs-kernel-server nfs-common
mkdir /var/lib/vz/pve
/etc/exports
:nano /etc/exports
/var/lib/vz/pve 192.168.94.1(rw,no_subtree_check,sync,no_root_squash) /var/lib/vz/pve 192.168.94.2(rw,no_subtree_check,sync,no_root_squash) /var/lib/vz/pve 192.168.94.3(rw,no_subtree_check,sync,no_root_squash)
exportfs -r
exportfs -v
/var/lib/vz/pve 192.168.94.1(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash) /var/lib/vz/pve 192.168.94.2(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash) /var/lib/vz/pve 192.168.94.3(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)
Ajout du partage NFS sur les pve en cluster
- Cliquer sur « Datacenter », puis sur « Storage » et « Add » :
- Sélectionner « NFS » :
- Indiquer les renseignements demandés :
- Le stockage NFS est ajouté automatiquement à tout les nœuds :
Configuration du cluster HA
Depuis la version 4.x de proxmox, la mise place d’un cluster HA a été très simplifiée et peut être entièrement configurée depuis l’interface web d’administration.
- Création d’un groupe comprenant les nœuds proxmox :
- Cliquer sur « Datacenter », puis sur « HA », « Groups » et « Create » :
- Renseigner un nom et sélectionner les nœuds :
Créer une machine virtuelle
La méthode pour créer une VM sous proxmox 4.x est quasi identique par rapport à Proxmox 3 : https://memo-linux.com/creation-dune-machine-virtuelle-avec-proxmox-3/
Ajouter une VM au cluster
Prioriser les noeuds du cluster HA
Pour rappel, ce sont les nœuds pve-01 et pve-02 qui doivent gérer la disponibilité des VM et pve-03 uniquement l’hébergement et seulement la gestion des VM en cas d’indisponibilité des deux autres nœuds.
Configuration du minuteur Watchdog matériel
Sous Proxmox 4.x il n’est plus nécessaire de configurer le fencing car il est pris en charge directement par Proxmox. Cependant, la gestion est au niveau logiciel et je souhaite qu’elle soit au niveau matériel. Pour ce faire, il faut installer OpenManage et l’utilitaire ipmitool :
- Installation d’OpenManage : https://memo-linux.com/proxmoxdebian-installer-dell-openmanage-server-administrator/
- Installation de l’utilitaire ipmitool :
apt install ipmitool
Les valeurs par défaut sont trop hautes et pas d’action définit :
ipmitool mc watchdog get
Watchdog Timer Use: SMS/OS (0xc4) Watchdog Timer Is: Started/Running Watchdog Timer Actions: No action (0x00) Pre-timeout interval: 0 seconds Timer Expiration Flags: 0x00 Initial Countdown: 480 sec Present Countdown: 472 sec
- Editer le fichier
/etc/default/pve-ha-manager
pour activer watchdog :
nano /etc/default/pve-ha-manager
# select watchdog module (default is softdog) WATCHDOG_MODULE=ipmi_watchdog
/etc/modprob.d/ipmi_watchdog.conf
:nano /etc/modprobe.d/ipmi_watchdog.conf
options ipmi_watchdog action=power_cycle panic_wdt_timeout=10
reboot
ipmitool mc watchdog get
Watchdog Timer Use: SMS/OS (0x44) Watchdog Timer Is: Started/Running Watchdog Timer Actions: Power Cycle (0x03) Pre-timeout interval: 0 seconds Timer Expiration Flags: 0x00 Initial Countdown: 10 sec Present Countdown: 9 sec
Ressources
Principalement la documentation officielle de Proxmox :