Proxmox - tests cluster et High Availability
Nœuds
plmasrv06
plmasrv07
plmasrv08
Cluster
bellebaie
plmasrv06
plmasrv07
plmasrv08
Serveur NFS externe (Debian)
vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp13s0
iface enp13s0 inet static
address 192.168.207.100
netmask 255.255.255.0
gateway 192.168.207.254
allow-hotplug enp15s0
iface enp15s0 inet static
address 10.10.207.100
netmask 255.255.255.0
apt install nfs-kernel-server
mkdir /usr/share/nfs-shared
chmod 757 /usr/share/nfs-shared
vi /etc/exports
/usr/share/nfs-shared/ 10.10.207.60(rw,root_squash)
/usr/share/nfs-shared/ 10.10.207.70(rw,root_squash)
/usr/share/nfs-shared/ 10.10.207.80(rw,root_squash)
# reboot
Création d'une sauvegarde régulière
Datacenter → Backup → Add
Storage : local
Selection mode : All
Mode : Snapshot
Création de VMs
Créer VM Debian Stretch sur plmasrv06
ID : 100
Name : vm1
Hard Disk (scsi0) : NFS:100/vm-100-disk-1.qcow2,size=32G
Processors : 2 (1 sockets, 2 cores)
Memory : 2.00 GiB
→ Options → Start at boot → Yes
Full clone de VM 100
Attendre que le clone vm2 soit créé - OK
Full clone de VM 100
Attendre que le clone vm3 soit créé - OK
Proxmox
→ Datacenter
→ Storage
→ Add
→ “NFS”
Migration à chaud
vm1
plmasrv06 → plmasrv07 - OK
plmasrv07 → plmasrv08 - OK
plmasrv08 → plmasrv06 - OK
vm2
plmasrv06 → plmasrv07 - OK
plmasrv07 → plmasrv08 - OK
plmasrv08 → plmasrv06 - OK
vm3
plmasrv06 → plmasrv07 - OK
plmasrv07 → plmasrv08 - OK
plmasrv08 → plmasrv06 - OK
Toutes les VMs sont de retour sur plmasrv06.
High Availability
Datacenter → HA → Groups → Create
ID : g123
Tout les nœuds
pas d'options cochées
Datacenter → HA → Resources → Add
Status
root@plmasrv06:~# ha-manager status
quorum OK
master plmasrv06 (active, Tue Sep 18 11:31:50 2018)
lrm plmasrv06 (active, Tue Sep 18 11:31:51 2018)
lrm plmasrv07 (active, Tue Sep 18 11:31:54 2018)
lrm plmasrv08 (idle, Tue Sep 18 11:31:56 2018)
service vm:100 (plmasrv06, started)
service vm:101 (plmasrv06, started)
service vm:102 (plmasrv06, started)
Tests
Déconnexion de l'interface d'admin du nœud plmasrv06
L'ciône du nœud passe du vert au rouge
vm1 et vm3 sont redémarrées sur plmasrv06 et vm2 sur plmasrv07
plmasrv06 redémarre au bout de 60s
Reconnexion de l'interface d'admin du nœud plmasrv06
Migration VMs vers plmasrv06 - OK
Retrait des VMs du groupe HA “g123”
→ VM
→ More
→ Manage HA
→ Group : effacer “g123”
Suppression des ressources HA et du groupe “g123”
→ Datacenter
→ HA
→ Resources
→ sélectionner ressources
→ Remove
root@plmasrv06:~# ha-manager status
quorum OK
master plmasrv07 (active, Tue Sep 18 12:00:05 2018)
lrm plmasrv06 (idle, Tue Sep 18 12:00:12 2018)
lrm plmasrv07 (active, Tue Sep 18 12:00:04 2018)
lrm plmasrv08 (active, Tue Sep 18 12:00:05 2018)
Création de groupes HA
g1
plmasrv06
“restricted” coché
“no failback” non coché
g2
plmasrv07
“restricted” non coché
“no failback” coché
g3
plmasrv08
“restricted” coché
“no failback” coché
Création de ressources HA
vm1 → g1
vm2 → g2
vm3 → g3
vm3 se retrouve migrée sur plmasrv08
Déconnexion de l'interface d'admin du nœud plmasrv06
L'icône du nœud passe du vert au rouge
vm2 est redémarrée sur plmasrv07
vm1 reste sur plmasrv06
plmasrv06 reboot après 60 secondes
vm1 n'est PAS redémarrée sur plmasrv06
Reconnexion de l'interface d'admin du nœud plmasrv0i6
Démarrage manuel de vm1 sur plmasrv06
Requesting HA start for VM 100
service 'vm:100' in error state, must be disabled and fixed first
TASK ERROR: command 'ha-manager set vm:100 --state started' failed: exit code 255
→ vm1
→ More
→ Manage HA
Request State : disabled
Start
L'option “restricted” restreint la VM dans un groupe. S'il n'y a pas assez de nœuds dans le groupe, le service reste stoppé. On peut utiliser ça pour, par exemple, si l'on aun dongle USB comme clé pour un logiciel (pas besoin de redémarrer la VM sur un autre n&ud sans le dongle).
Déconnexion de l'interface d'admin du nœud plmasrv07
L'icône du nœud passe du vert au rouge
plmasrv07 reboot après 60 secondes
vm2 est redémarrée sur plmasrv06
Reconnexion de l'interface d'admin du nœud plmasrv07
L'option “no failback” permet à une VM de redémarrer sur un nœud qui ne fait pas partie de son groupe. Mais dans ce cas, et après qu'un nœud du groupe soit bon, la VM n'est pas migrée de nouveau dans le groupe.
Utile si, par exemple, on veux migrer les VMs à la main si l'on a peur d'une seconde saturation de l'infrastructure.
Migration de la vm2 sur plmasrv07 - OK
vm1 est UP sur plmasrv06
vm2 est UP sur plmasrv07
vm3 est UP sur plmasrv08
Déconnexion de l'interface d'admin du nœud plmasrv08
Reconnexion de l'interface d'admin du nœud pmasrv08
Démarrage manuel de vm3 sur plmasrv08
Requesting HA start for VM 103
service 'vm:103' in error state, must be disabled and fixed first
TASK ERROR: command 'ha-manager set vm:103 --state started' failed: exit code 255
→ vm3
→ More
→ Manage HA
Request State : disabled
Start
Je ne peux pas imaginer un cas intéressant où “restricted” et “no failback” seraient tout deux cochés.
Suppression de toutes les ressources et groupes HA
Création d'un groupe “g123” contenant les trois nœuds
Ajouter chaque VM dans le groupe “g123”
Migrer vm2 et vm3 sur plmasrv06 - OK
Éteindre plmasrv06
L'icône de plmasrv06 passe du vert au rouge
vm1 et vm3 sont redémarrées sur plmasrv07
vm2 est redémarrée sur plmasrv08