La problématique de la virtualisation des serveurs est devenue une problématique centrale des entreprises.
Le marché est trusté par des acteurs assez éloignés du monde de l'OpenSource tels que VMWare ou Microsoft. Proxmox constitue donc une alternative particulièrement intéressante et performante.
Nous vous proposons donc d'étudier comment mettre en œuvre un cluster Proxmox. Ce type d'installation permet de répondre aux besoins suivants :
- Déployer des Containers de type LXC
- Déployer des Machines Virtuelles de type KVM (en mode cluster)
- Créer un cluster Proxmox avec trois nœuds afin d'assurer une redondance complète
- Permettre l'utilisation de la HA en utilisant un point de montage NFS partagé
- Assurer une sauvegarde des machines virtuelles et des containers
- Déployer l'ensemble de notre architecture en utilisant le système de fichiers ZFS en plus du montage NFS
Description de l'environnement :
Nous avons à notre disposition un ensemble de cinq serveurs opérationnels composés de la façon suivante :
- 3x serveurs Proxmox
- 1x serveur NFS FreeNAS
- 1x serveur de backup FreeNAS
Les trois serveurs Proxmox sont en cluster : c'est à dire qu'ils partagent un même réseau et échangent des informations qui permettent à tous les nœuds du cluster d'être au courant de l'ensemble des VM et containers déployés sur le Cluster.
Les données du Cluster sont généralement échangées sur un réseau distinct du réseau de diffusion des donnés. Autrement dit : il faut prévoir deux réseaux distincts : un pour vos donnés et un pour les échanges internes au cluster.
Afin de répondre à ces besoins, nous utilisons OpenVSwitch. Cette technologie est une technologie de Switch virtuels qui peuvent être déployés sur ProxMox. Attention : afin de disposer d'une version à jour d'OpenVSwitch vous devez avoir un accès au répertoire Entreprise de Proxmox.
Attention : il faut impérativement démarrer la configuration de votre cluster en utilisant des serveurs Proxmox ou il n'y a aucun container ou VM déployé dessus et aucun service réseau (montage NFS, ZFS, Ceph, …). L'idéal est de démarrer votre configuration avec des serveurs neufs ou qui viennent d'être ré-initialisés.
Mise en œuvre du cluster :
Après vous être synchronisé avec le répertoire entreprise de Proxmox, vous disposerez d'un serveur prêt à être inscrit dans votre cluster. Comme indiqué précédemment, vous devez disposer d'un réseau opérationnel pour votre la communication de votre cluster.
Les opérations d'inscription du cluster sont assez simple :
# pvecm add 192.168.21.11
Vous pouvez vérifier que votre cluster est opérationnel avec la commande suivante :
# pvecm status Quorum information ------------------ Date: Mon Jul 11 18:23:06 2016 Quorum provider: corosync_votequorum Nodes: 3 Node ID: 0x00000003 Ring ID: 80 Quorate: Yes Votequorum information ---------------------- Expected votes: 3 Highest expected: 3 Total votes: 3 Quorum: 2 Flags: Quorate Membership information ---------------------- Nodeid Votes Name 0x00000002 1 192.168.21.10 0x00000001 1 192.168.21.11 0x00000003 1 192.168.21.12 (local)
Inscription des serveurs FreeNAS pour NFS et le backup :
Les serveurs s'inscrivent en allant simplement dans l'interface (Datacenter >> Storage >> Add >> NFS) de l'un de vos nœuds de cluster et en ajoutant un serveur de type "NFS".
Si vous souhaitez utiliser NFS v.4 au lieu de la version 3, il faudra éditer à la main les paramètres de votre serveur NFS dans /etc/pve/storage.cfg et modifier la ligne :
#options vers=3 options vers=4
Pour activer la prise en compte de la modification de version, il faut démonter à la main le serveur NFS avec une commande umount - puis remonter le point de montage qui sera cette fois bien en version 4.
# umount /mnt/pve/NFS_LXC
Migration d'un serveur KVM en cluster :
Nous disposons maintenant d'un point de montage NFS partagé entre tous les nœuds de notre Cluster. Nous allons maintenant pouvoir migrer un serveur existant vers notre nœud de stockage NFS.
Je prendrais l'exemple d'un nœud créé avec une image disque de type "raw". Tout d'abord il faut éteindre le serveur et effectuer une sauvegarde à froid.
Ensuite vous pouvez restaurer ce backup en sélectionnant l'archive VMA sauvegardée. Prenez bien soin de restaurer l'image sur votre point de montage partagé NFS nouvellement créé.
A la fin de la sauvegarde migrez votre container pour avoir une image QCOW2 et non RAW :
# qemu-img convert -O qcow2 /mnt/pve/KVM/images/105/vm-105-disk-1.raw /mnt/pve/KVM/images/105/vm-105-disk-1.qcow2
Vous pouvez maintenant démarrer votre machine virtuelle et disposez d'un environnement en haute disponibilité.
Opérations complémentaires importantes :
Prenez soin de bien effectuer une sauvegarde régulière de votre environnement à deux niveaux :
- Sauvegarde du disque QCOW2 depuis le serveur NFS (il faut utiliser les snapshots ZFS pour ce faire)
- Sauvegarde du répertoire /etv/pve sur le serveur (comme vous êtes en cluster, c'est moins nécessaire, mais soyez certain de bien avoir une sauvegarde à votre disposition en dehors de votre cluster).
Conclusion et liens
Vous disposez maintenant d'un cluster opérationnel. Attention aux opérations de maintenance de votre cluster qui peuvent être assez délicates (supression de nœuds, ajout de nœuds et autres opérations effectuées directement sur le cluster).
Si vous souhaitez disposer d'une assistance pour la mise en œuvre de votre cluster, contactez-nous et faites-nous part de votre projet, nous serons ravis de vous aider pour cette mise en œuvre.
Pour approfondir vous pouvez regarder :
- https://pve.proxmox.com/wiki/Proxmox_VE_4.x_Cluster
- https://pve.proxmox.com/wiki/Network_Model
- https://forum.proxmox.com/
Comments
There are 2 comments on this post
bouziri (non vérifié)
- répondre
Mar 20, 2020ta oublier un point de défaillance le freenas, si ton freenas tombe en panne ton cluster n'a aucun valeur.
freenas est un super open source utile a la maison comme serveur de fichier ou tu peux tolerer une panne, dans un environement de production freenas sans HA n'a aucun valeur, les developpeur de freenas ils n'ont pas integrer le module HA et l'ont reserve sur Truenas integrer dans leur baie de stockage pour que tu achete
freenas c just de la pub pour leur produit baie de stockage.
gregober
- répondre
May 04, 2020Effectivement ce schéma n'est pas un schéma pour de la haute disponibilité et le NAS ne permet pas pour le moment de faire de la HA.
Cependant plusieurs points sont à prendre en compte :
• Il est possible de faire des snapshots toutes les 5' de votre point de montage NFS (sur un second serveur FreeNAS) et ainsi de disposer d'un backup efficace sans problème.
• FreeNAS et TrueNAS ont récemment annoncé que leur produit seront unifiés (TrueNAS Enterprise = FreeNAS + HA) -- il y aura donc probablement un moyen simple de passer "TrueNAS Community" en "TrueNAS Enterprise" si vous souhaitez disposer de la HA.
• La solution de snapshot ZFS fonctionne très bien, elle implique doit de remonter un point de montage NFS à partir d'un backup ou de restaurer à partir d'un snapshot externe. Mais effectivement ce n'est pas une solution de HA au sens de ce qui est proposé par Proxmox + Ceph.
Leave a comment.