⚔ Réplication et basculement automatique de VMs en cas de panne d’un serveur hôte sous Linux (KVM + DRBD)
▶ Introduction
Dans ce tutoriel, nous allons configurer la réplication et le basculement automatique de machines virtuelles (VMs) sous Linux en utilisant KVM et DRBD (Distributed Replicated Block Device). DRBD permet de répliquer des volumes de disques en temps réel entre deux hôtes, garantissant ainsi que les VMs puissent basculer sur un autre hôte en cas de panne.
Prérequis
• Deux serveurs physiques sous une distribution Linux avec KVM installé (Ubuntu, CentOS, etc.).
• DRBD installé sur chaque serveur pour la réplication de disque.
• Outils de gestion de cluster tels que Pacemaker et Corosync.
• Droits d'administrateur sur chaque serveur.
Méthodologie
Étape 1 : Installer DRBD et configurer la réplication
• Installez DRBD sur les deux hôtes :
pour Ubuntu, ou
pour CentOS.
• Configurez le fichier /etc/drbd.conf pour définir les ressources de disque à répliquer entre les deux hôtes.
• Démarrez DRBD et synchronisez les disques entre les serveurs :
Étape 2 : Configurer le basculement automatique avec Pacemaker et Corosync
• Installez Pacemaker et Corosync sur chaque serveur pour gérer le basculement automatique :
pour Ubuntu, ou
pour CentOS.
• Configurez Corosync pour la communication entre les nœuds en modifiant le fichier /etc/corosync/corosync.conf.
• Utilisez crm configure pour ajouter DRBD en tant que ressource et activer le basculement automatique en cas de panne d’un hôte.
Étape 3 : Ajouter les VMs au cluster
• Créez les machines virtuelles avec KVM en utilisant virt-manager ou en ligne de commande avec virsh.
• Ajoutez les VMs comme ressources dans Pacemaker pour permettre leur migration automatique lors du basculement. Utilisez la commande suivante pour ajouter une VM :
• Vérifiez que la configuration des VMs est répliquée sur le serveur secondaire grâce à DRBD, ce qui assure que la machine pourra redémarrer en cas de panne du serveur principal.
Étape 4 : Tester la réplication et le basculement
• Une fois le cluster configuré, effectuez un test de basculement pour vérifier que tout fonctionne correctement. Pour ce faire, vous pouvez arrêter le serveur primaire ou simuler une panne avec la commande suivante :
• Pacemaker doit alors automatiquement transférer la VM vers le serveur secondaire, garantissant ainsi la continuité du service.
• Vous pouvez également surveiller le statut du basculement via la commande :
Astuce
Utilisez glusterFS en conjonction avec DRBD pour fournir une solution de stockage distribué si vous avez besoin de redondance pour les fichiers de configuration et les disques virtuels des VMs sur plusieurs serveurs.
Avertissement
Veillez à bien dimensionner votre réseau et vos disques pour la réplication avec DRBD. Une bande passante réseau insuffisante ou des disques lents peuvent entraîner des dégradations de performance lors de la synchronisation des données en temps réel.
Conseil
Effectuez des tests réguliers de basculement et de reprise après sinistre pour garantir la fiabilité de votre infrastructure. Utilisez des commandes comme crm resource migrate pour tester manuellement la migration des ressources dans des conditions de production.
Solution alternative
Si vous préférez une autre approche pour la haute disponibilité sous Linux, vous pouvez opter pour Proxmox VE qui offre des fonctionnalités de clustering et de réplication simples à configurer, tout en intégrant nativement KVM et LXC.
Télécharger Proxmox VE
Conclusion
Vous avez maintenant configuré la réplication et le basculement automatique de vos VMs sous Linux avec KVM et DRBD, garantissant la continuité des services en cas de panne d’un serveur hôte. Cette solution assure une haute disponibilité de vos infrastructures virtualisées, tout en restant flexible et performante.
▶ Introduction
Dans ce tutoriel, nous allons configurer la réplication et le basculement automatique de machines virtuelles (VMs) sous Linux en utilisant KVM et DRBD (Distributed Replicated Block Device). DRBD permet de répliquer des volumes de disques en temps réel entre deux hôtes, garantissant ainsi que les VMs puissent basculer sur un autre hôte en cas de panne.

• Deux serveurs physiques sous une distribution Linux avec KVM installé (Ubuntu, CentOS, etc.).
• DRBD installé sur chaque serveur pour la réplication de disque.
• Outils de gestion de cluster tels que Pacemaker et Corosync.
• Droits d'administrateur sur chaque serveur.


• Installez DRBD sur les deux hôtes :
Code:
sudo apt install drbd-utils
Code:
sudo yum install drbd-utils
• Configurez le fichier /etc/drbd.conf pour définir les ressources de disque à répliquer entre les deux hôtes.
• Démarrez DRBD et synchronisez les disques entre les serveurs :
Code:
sudo drbdadm create-md ressource_name
Code:
sudo drbdadm up ressource_name
Code:
sudo drbdadm -- --overwrite-data-of-peer primary ressource_name

• Installez Pacemaker et Corosync sur chaque serveur pour gérer le basculement automatique :
Code:
sudo apt install pacemaker corosync
Code:
sudo yum install pacemaker corosync
• Configurez Corosync pour la communication entre les nœuds en modifiant le fichier /etc/corosync/corosync.conf.
• Utilisez crm configure pour ajouter DRBD en tant que ressource et activer le basculement automatique en cas de panne d’un hôte.

• Créez les machines virtuelles avec KVM en utilisant virt-manager ou en ligne de commande avec virsh.
• Ajoutez les VMs comme ressources dans Pacemaker pour permettre leur migration automatique lors du basculement. Utilisez la commande suivante pour ajouter une VM :
Code:
crm configure primitive my-vm VirtualDomain params config="/etc/libvirt/qemu/my-vm.xml"
• Vérifiez que la configuration des VMs est répliquée sur le serveur secondaire grâce à DRBD, ce qui assure que la machine pourra redémarrer en cas de panne du serveur principal.

• Une fois le cluster configuré, effectuez un test de basculement pour vérifier que tout fonctionne correctement. Pour ce faire, vous pouvez arrêter le serveur primaire ou simuler une panne avec la commande suivante :
Code:
sudo crm node standby node_name
• Pacemaker doit alors automatiquement transférer la VM vers le serveur secondaire, garantissant ainsi la continuité du service.
• Vous pouvez également surveiller le statut du basculement via la commande :
Code:
crm status

Utilisez glusterFS en conjonction avec DRBD pour fournir une solution de stockage distribué si vous avez besoin de redondance pour les fichiers de configuration et les disques virtuels des VMs sur plusieurs serveurs.

Veillez à bien dimensionner votre réseau et vos disques pour la réplication avec DRBD. Une bande passante réseau insuffisante ou des disques lents peuvent entraîner des dégradations de performance lors de la synchronisation des données en temps réel.

Effectuez des tests réguliers de basculement et de reprise après sinistre pour garantir la fiabilité de votre infrastructure. Utilisez des commandes comme crm resource migrate pour tester manuellement la migration des ressources dans des conditions de production.

Si vous préférez une autre approche pour la haute disponibilité sous Linux, vous pouvez opter pour Proxmox VE qui offre des fonctionnalités de clustering et de réplication simples à configurer, tout en intégrant nativement KVM et LXC.
Télécharger Proxmox VE

Vous avez maintenant configuré la réplication et le basculement automatique de vos VMs sous Linux avec KVM et DRBD, garantissant la continuité des services en cas de panne d’un serveur hôte. Cette solution assure une haute disponibilité de vos infrastructures virtualisées, tout en restant flexible et performante.