2

Proxmox 4.x : mise en place d’un cluster HA

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 :
    • vmbr0 10.10.8.202
      vmbr2 192.168.94.1

    • pve-02 :
    • vmbr0 10.10.8.204
      vmbr2 192.168.94.2

    • pve-03 :
    • vmbr0 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 tous les noeuds, ajouter ces informations dans /etc/hosts :
    192.168.94.1 pve-01
    192.168.94.2 pve-02
    192.168.94.3 pve-03
    
  • Sur pve-01 créé le nom du cluster :
  • pvecm create kluster -bindnet0_addr 192.168.94.1 -ring0_addr pve-01
  • Sur pve-02, rejoindre le cluster :
  • pvecm add 192.168.94.1 -ring0_addr 192.168.94.2
  • Même chose sur pve-03 :
  • pvecm add 192.168.94.1 -ring0_addr 192.168.94.3
  • Dans l’interface web, les 3 nœuds sont présent :

Préparation des serveurs NFS sur pve-03

  • Installation du serveur NFS :
  • apt install nfs-kernel-server nfs-common
  • Création du répertoire partagé :
  • mkdir /var/lib/vz/pve
  • Configuration du fichier /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)
    
  • Exporter la configuration NFS :
  • exportfs -r
  • Vérification :
  • 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

    • Cliquer sur « Datacenter », puis « HA » et « Add » :
    • La VM est ajoutée au groupe « pveha » du cluster HA :

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.

  • Revenir au menu « Groups », éditer le groupe « pveha » et indiquer les priorités :

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 :

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
  • Supprimer le dièze pour activer :
  • # select watchdog module (default is softdog)
    WATCHDOG_MODULE=ipmi_watchdog
    
  • Créer un fichier de configuration /etc/modprob.d/ipmi_watchdog.conf :
  • nano /etc/modprobe.d/ipmi_watchdog.conf
  • Ajouter :
  • options ipmi_watchdog action=power_cycle panic_wdt_timeout=10
  • Modifier le grub :
    • Éditer /etc/default/grub :
    • nano /etc/default/grub
    • Modifier la ligne GRUB_CMDLINE_LINUX_DEFAULT :
    • GRUB_CMDLINE_LINUX_DEFAULT="quiet nmi_watchdog=0"
    • Recharger la configuration du grub :
    • update-grub
  • Redémarrer le serveur :
  • reboot
  • Une fois connecté au serveur, vérifier les nouvelles valeurs :
  • 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 :

Partager l'article :





fred

Administrateur Système autodidacte et utilisateur au quotidien de GNU/Linux (Debian, Ubuntu, Manjaro et un peu de CentOS).

2 Comments

  1. Bonjour,
    Tout d’abord merci pour cet excellent tuto.
    Rencontrez vous des problèmes sur votre cluster au quotidien?
    Je désirerai monter une architecture similaire cependant la redondance du stockage suffit-elle à une architecture de production?
    Vous parlez de l’interface Vmbr1 au début du tuto et plus rien après, cette interface n’est pas utilisée?
    Merci.
    Nico

  2. Bonjour,
    l’interface vmbr1(interface fibre) est celle qui sera renseignée comme interface réseau pour les VM.
    Jusqu’à maintenant aucun souci, au préalable j’ai fais des tests de panne pour m’assurer le basculement des VM sur les autres nœuds.
    Le point faible de cette architecture est le stockage, car dans le cas présent pas de redondance. Faut que je prenne le temps de me documenter sur ceph…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *