Mise en œuvre d’un cluster de serveurs
Vous pouvez mettre en place un cluster de serveurs de virtualisation ProxMox VE. Depuis n’importe quel nœud de ce cluster, vous administrerez les VMs d’un autre nœud. Vous pouvez également migrer sans interruption d’activité des machines virtuelles d’un serveur vers un autre.
Tous les nœuds ProxMox VE sont installés de la même façon mais doivent appartenir au même réseau et être associés à des adresse IP distinctes : Dans le cadre de cet article, nous installerons un cluster de deux serveurs :
- serveur 1 – 192.168.1.33
- serveur 2 – 192.168.1.30
Dès que l’installation est terminée, connectez-vous en SSH sur le premier serveur. Avec la commande suivante, initiez le serveur 1 comme maître de cluster.
pveca -c
server1:~# pveca -c
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ce:bf:a2:cd:69:23:e4:78:fc:05:db:fc:55:ef:52:1d root@server1
cluster master successfully createdVous noterez que les échanges entre serveurs sont cryptés. Vérifiez que la commande a bien été interprétée :
pveca -l
server1:~# pveca -l
CID—-IPADDRESS—-ROLE-STATE——–UPTIME—LOAD—-MEM—ROOT—DATA
1 : 192.168.1.33 M A 00:14 0.00 5% 1% 0%Ensuite, toujours en SSH mais sur le second serveur, tapez la commande ci-dessous pour le placer en nœud esclave :
pveca -a -h 192.168.1.33
server2:~# pveca -a -h 192.168.1.33
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ea:ad:21:fc:5d:9b:af:ab:fb:0d:72:72:c7:94:23:ca root@server2
The authenticity of host ‘192.168.0.100 (192.168.0.100)’ can’t be established.
RSA key fingerprint is 7c:17:8c:35:9c:be:60:6b:56:97:2a:0b:72:60:57:09.
Are you sure you want to continue connecting (yes/no)? <– yes
Warning: Permanently added ‘192.168.0.100’ (RSA) to the list of known hosts.
root@192.168.1.33’s password: <– root password of server1.example.com
cluster node successfully createdLe cluster est prêt à fonctionner.
Pour contrôler la liste et les rôles de chacun des nœuds du cluster, tapez la commande:
server2:~# pveca -l
CID—-IPADDRESS—-ROLE-STATE——–UPTIME—LOAD—-MEM—ROOT—DATA
1 : 192.168.1.33 M S 00:15 0.00 5% 1% 0%
2 : 192.168.1.30 N S 00:04 0.08 15% 1% 0%Désormais, depuis l’interface d’administration WEB, dans la section administration, menu cluster, vous avez une vue globale sur l’état de votre ferme de serveurs de virtualisation.
Migration de machines virtuelle entre nœuds
Dès que votre cluster est fonctionnel, vous pouvez migrer des machines virtuelles d’un serveur à un autre et ainsi équilibrer manuellement la charge entre les nœuds de la ferme de virtualisation. Pour cela, rendez-vous dans le menu Virtual machine, onglet migrate. Choisissez le nœud source et la machine virtuelle qui y tourne puis choisissez le nœud de destination.
Si vous choisissez online migration, la migration d’un serveur vers un autre sera réalisée sans perte d’activité de la machine virtuelle. Sinon, la machine virtuelle sera mise en pause le temps du transfert d’un serveur vers un autre. Dès que la migration est terminée, vous pouvez constater depuis le menu Virtual machines, list que la machine virtuelle est effectivement hébergée par le serveur Proxmox VE de destination.
Conclusion
ProxMox VE est une solution libre et extrêmement simple à mettre en œuvre pour monter un cluster de virtualisation. Grâce à l’usage des technologies OpenVZ et KVM, en fonction des caractéristiques matérielles des nœuds du serveur et des OS des machines virtuelles, vous êtes assuré de performances optimales.
Bien évidemment, cette distribution ne remplacera pas en entreprise les poids lourds de la virtualisation comme Vmware ou Citrix. Il lui manque par exemple des fonctionnalités comme la haute disponibilité des machines virtuelles (basculement des VMs d’un nœud défaillant vers un autre), l’équilibrage de charge entre nœuds, la possibilité de créer des switches virtuels au sein des serveurs de virtualisation, la gestion optimisée de la mémoire…. Certaines de ces fonctionnalités sont d’ailleurs planifiées pour la version 2 ; aussi, ProxMox est une distribution à suivre de près.
En fait depuis j’ai trouvé la solution “propre” !
Il n’y a même pas besoin de redémarrer les serveurs…
Côté node client, en root :
/etc/init.d/pvemirror stop
/etc/init.d/pvetunnel stop
rm /etc/pve/cluster.cfg
rm /root/.ssh/known_hosts
Coté master, idem si on veut enlever tous les clients, sinon un par un il faut supprimer les nodes dans les 2 fichiers :
nano /etc/pve/cluster.cfg
nano /root/.ssh/known_hosts
Dans le cluster.cfg, vous pouvez aussi renommer les numéros de node pour remettre de l’ordre, et remettre le maxcid (première ligne) au nombre de node restant.
Et voilà 😉
Bonjour,
Merci pour cette série d’articles sur Proxmox, très bien faite.
J’ai le même problème que J-Philippe : je veux supprimer un node
Coté master pas de problème :
server:~# pveca -d
Il n’apparait plus dans l’interface
Mais coté node, il continue à exister… impossible à supprimer avec pveca et toujours présent dans l’interface
J’ai fait le menage à la mano :
server:~# /etc/init.d/pvemirror stop
Stopping PVE Cluster Server: pvemirror.
server:~# /etc/init.d/pvetunnel stop
Stopping PVE Tunnel Server: pvetunnel.
server:~# echo “” > /etc/pve/cluster.cfg
et ça a l’air de fonctionner, mais c’est un peu bourrin et je crains qu’il ne reste des traces
Quelqu’un a une idée ?
Merci
Merci pour cet article…
Petite question : Comment supprimer un node côté master et coté esclave ?
Merci
Bonjour,
Il y a t-il une solution pour faire un petit cluster de pc tournant sous windows ou linux ?
Car j’ai plusieur petit PC et je veux coupler leurs performances.
Merci.
Merci je vais regarder sa de plus près.
je ne suis là personne sur ce forum avec le plus d’expérience “terrain” sur proxmox mais je pense que ce soit possible
Il suffit de configurer ton serveur comme serveur ISCSI et d’attacher cet espace de stockage à proxmox comme répertoire de sauvegarde.
tu dois aussi pouvoir configurer un cluster DRDB entre deux proxmox. Les vms de l’un seront repliquées automatiquement et en temps réel sur l’autre – Là on parle de haute-dispo des données; pas de sauvegarde car en cas de fausse manip, les deux copies de la VM sont impactées!
Bonjour,
Excellent article sur proxmox.
j’ai un serveur proxmox avec trois VM qui tourne impeccable je souhaiterais mètre en place un second serveur (serveur de backup au cas ou le premier viendrais à tombé en panne pour ne pas avoir d’interruption de prod trop importante penser vous que c’est possible. car dans mon cas les mètre en cluster ne servirais pas à grand chose.
qu’en pensez vous.
y a t’il un moyen de faire cela avec proxmox.
Merci d’avance.
Installé depuis un peu plus de 3 mois maintenant en v1.6 (Plusieurs vps sous linux avec OpenVZ et quelques machines sous Windows avec KVM), le tout tourne impeccablement bien : )
De plus avec OpenVZ, l’installation, la ré-installation ou un simple redémarrage se fait en quelques secondes seulement : )
@+
Nico
Extrement interessant
merci beaucoup du retour d’expérience?
Quel était ton objectif? les perfs? Quels résulats?
Bonjour,
J’ai tenté un truc. Je voulais que le disque hôte soit autre que celui d’origine système. Je voulais une partition btrfs, non supportée par Debian Lenny mais gérée par Squeeze gelé depuis quelques mois. J’ai donc modifié la seule première ligne du sources.list, de Proxmox, vers Squeeze.
Aptitude update
Aptitude full-upgrade
Aptitude install btrfs-tools
J’ai réussi à créer la partition btrfs et LVM. Faudra voir si ça passe à long terme.
PC: HPxw 6400
CPU:xeon e5320 quadricore 1.86
Mem: 16 G°
2nd proc dès que possible.