Aller au contenu

Proxmox : mise en place de 2 nœuds en Haute disponibilité(HA)


Ldfa

Messages recommandés

Cet article est un mémo pour mes besoins sur comment mettre en place un cluster de haute disponibilité avec 2 nœuds Proxmox.

proxmox-01

Il se peut qu’il manque certaines précisions, dans ce cas je vous invites à lire les 2 sites, que j’ai mis en référence à la fin.

Pour mettre en place ma solution de haute disponibilité, je suis confronté aux contraintes suivantes :

  • 2 serveurs maximum pour le cluster,
  • Facilité de mise en œuvre en cas de réinstallation complète (pas de DRBD),
  • Les Vms, qui ont les rôles de : Contrôleur de domaine, DHCP, Proxy et DNS doivent toujours être joignable,
  • Une sauvegarde journalière des VMs ou se trouvent les données vivantes des services en plus de la sauvegarde périodique,
  • Les serveurs de données virtualisés peuvent être indisponible pour une durée maximum de 4heures.
  • Chaque Proxmox et le serveur NFS doivent être supervisé.
  • Gestion automatique :

Les machines virtuelles sont hébergées sur le serveur NFS et partagées avec les nœuds Proxmox. Seul un Proxmox a la gestion des machines virtuelles et s’il est indisponible, le deuxième nœud prend la main. Lorsque le premier nœud est de nouveau opérationnel, la gestion des Vms reste sur le deuxième nœud Proxmox.

Gestion manuel :

Dans le cas ou le serveur NFS est injoignable, un technicien active les VMs sur un seul et unique nœud Proxmox.

Voici l’architecture qui sera mis en place :
Diagramme-proxmox

Pour faire simple dans l’article, je ne représente que deux interfaces réseau sur les serveurs Proxmox et NFS.

  • Proxmox-01 :
    • eth0 : IP_noeud1
    • eth1 : Ip_Q1
  • Proxmox-02 :
    • eth0 : IP_noeud2
    • eth1 : IP_Q2
  • Serveur NFS :
    • eth0 : IP_NFS
    • eth1 : IP_Q

nb:
La partie sauvegarde des données vivantes n’est pas traité dans cet article.
La création d’une sauvegarde périodique des Vms n’est pas traité dans cet article, mais c’est très simple à mettre en place (Onglet Sauvegarde dans le Centre de données).
La supervision des serveurs Proxmox et NFS sera traitée dans un article futur.

Voir proxmox: mise en place d’un cluster entre deux serveurs

Important :
Suivant la distribution GNU/Linux choisi pour le serveur NFS, il faut prévoir lors du partitionnement un petit espace d’environ 10Mo de libre pour le Quorum.
Voir Debian/Ubuntu : installer et configurer un serveur NFS

La partition Quorum a pour rôle de garantir la bonne marche du cluster HA lorsqu’il n’y a que 2 nœuds Proxmox. Cette partition doit être sur un troisième noeud, qui sera dans mon cas sur le serveur NFS.

Intervention sur le serveur NFS

  • Création de la partition LVM pour le Quorum :
lvcreate -n pve_quorum -L 10M
Installation du paquet tgt :
apt-get install tgt
Activation au démarrage :
update-rc.d tgt enable
  • Edition du fichier de configuration de tgt :
    nano /etc/tgt/targets.conf
    
  • Le fichier modifié :
<target IP_Q>
       backing-store /dev/deb-quorum-vg/quorum_vg
       initiator-address IP_noeud1
       initiator-address IP_noeud2
</target>
  • Démarrage du service tgt :
service tgtd start
Vérification de la configuration :
tgt-admin -s

Exemple de sortie :

Target 1: IP_Q
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 10
            Initiator: iqn.1993-08.org.debian:01:353c04bd8b3 alias: proxmox-01
            Connection: 0
                IP Address: IP_noeud1
        I_T nexus: 11
            Initiator: iqn.1993-08.org.debian:01:f830c0a48dc4 alias: proxmox-02
            Connection: 0
                IP Address: IP_noeud2
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 13 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/deb-quorum-vg/quorum_vg
            Backing store flags: 
    Account information:
    ACL information:
        IP_noeud1
        IP_noeud2

Intervention sur chaque nœud Proxmox

Installation du paquet :

apt-get install tgt

Relance du service :

/etc/init.d/open-iscsi restart

Détection de du partage ISCI :

tail -f /var/log/dmesg
sd 8:0:0:1: [sdc] 24576 512-byte logical blocks: (12.5 MB/12.0 MiB)
sd 8:0:0:1: [sdc] Attached SCSI disk

Création de de partition :

fdisk /dev/sdc
n
p
1
w

Format de la partition Quorum

mkqdisk -c /dev/sdc1 -l pve_quorum

Intervention à faire sur le serveur Proxmox ou le cluster a été créé.

  • Copie du fichier de configuration :
cp /etc/pve/cluster.conf /etc/pve/cluster.conf.new
Modification du fichier cluster.conf.new :
nano /etc/pve/cluster.conf.new

Dans mon cas :

<?xml version="1.0"?>
<cluster config_version="2" name="eole">
  <cman expected_votes="3" keyfile="/var/lib/pve-cluster/corosync.authkey"/>
  <quorumd allow_kill="0" interval="1" label="pve_quorum" tko="10" votes="1"/>
  <totem token="54000"/>
...

A chaque modification il fait incrémenter de 1 la version du fichier : config_version= »2″.

Activation des modifications :
ccs_config_validate -v -f /etc/pve/cluster.conf.new
Relance des services rgmanager et cman :
/etc/init.d/rgmanager stop #cela bascule les Vms en mode HA
/etc/init.d/cman reload #cela active la partition Quorum
Vérification du bon fonctionnement avec la commande clustat:
clustat

Cluster Status for eole @ Fri Apr  3 15:42:25 2015
Member Status: Quorate

 Member Name                                                     ID   Status
 ------ ----                                                     ---- ------
 proxmox-01                                                          1 Online, Local, rgmanager
 proxmox-02                                                          2 Online, rgmanager
 /dev/block/8:17                                                     0 Online, Quorum Disk

Pour finir la mise en place du cluster en mode HA, il faut ajouter la gestion des VMs en mode HA :
Cliquer sur « Centre de données » -> sur l’onglet « HA » -> bouton « Ajouter » -> « VM/CT gérée par HA »
proxmox-vm-ha

Sélectionner les Vms :
proxmox-vm-crer

Et pour finir cliquer sur Activer (sur la capture c’est grisé, mais normalement le bouton est actif) :
proxmox-activer

Dans l’onlet « Résumé » vérifier que RGManager est actif, sinon le démarrer sur le serveur proxmox :

service rgmanager start
service rgmanager status

proxmox-resume

Pour visualiser la bascule des Vms sur le deuxième nœud Proxmox, il suffit d’arrêter le service rgmanager sur le premier nœud (cela évite d’éteindre le serveur pour rien) :

Proxmox-01#service rgmanager stop

Sur le premier nœud les Vms s’arrêtent, basculent sur le deuxième nœud où elles s’activent immédiatement. Alors effectivement, il y a une petite coupure de disponibilité le temps de la bascule. Pour mes besoins, ce n’est pas gênant.

Je me suis aidé des sites suivants (qui sont très bien fais au passage avec d’excellentes précisions) + le wiki de Proxmox :


Afficher l’article complet

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.