Auto-hébergement : configurer un cluster Proxmox 2 sans multicast

Ou comment interconnecter, via Internet et en Unicast, plusieurs noeuds Proxmox installés sur des réseaux distincts.

MAJ 30 mars 2012 : la version stable de Proxmox VE 2 est disponible et le billet est à jour. 🙂

Charlatan ! Le wiki de Proxmox 2 est formel : pas de multicast, pas de cluster

Oui mais non. (D’abord…)

Non seulement ça marche mais en plus, chose appréciable, la solution est plutôt élégante : suffit de faire tourner les noeuds Proxmox sur un réseau virtuel (supportant le Multicast) et d’interconnecter l’ensemble avec OpenVPN (en Unicast).

Bon, là, à priori et si vous êtes normalement constitués, z’avez les yeux qui brillent et la langue qui pendouille, sans parler du filet de bave qui coule le long de votre barbe encore tâchée par la pizza de la veille. (Ok, alors le cliché, ça c’est fait…)

Mais, halte camarades, rendons d’abord à César ce qui lui appartient car en fait (et sauf erreur), c’est « ned Productions Ltd » qui a dégainé le premier avec un tutorial (en Anglais) fort sympathique sur le sujet :

Configuring a Proxmox VE 2.x cluster running over an OpenVPN intranet

Ce que je vous propose ici n’est autre qu’une « traduction » libre, en français dans le texte, des différentes étapes à suivre avec en prime une petite touche de personnalisation car nous allons procéder d’une manière un peu différente.

En résumé, si après avoir lu ce billet vous n’y arriviez pas, franchement, je n’ai plus qu’à me pendre.

Retour en arrière : monter un cluster avec Proxmox 2, ça sert à quoi ?

A frimer dans la cour de récré…

D’abord, essayez d’oublier le discours marketing environnant et totalement merdique qui tente de vous vendre le « cloud » à toutes les sauces : l’intérêt majeur pour les hébergeurs est de rationaliser leurs coûts (donc plus de marge) tout en vendant un produit trois fois plus cher que sa valeur intrinsèque (donc encore plus de marge).

Proxmox, c’est d’abord un système de virtualisation (Open Source) qui permet de faire tourner plusieurs serveurs virtuels sur une même machine. Rien que ça, c’est déjà fort sympathique. (Si, si…)

Il y a deux modes de virtualisation possibles : Full Virtualization (KVM) et Container Virtualization (OpenVZ).

  • KVM : possibilité de faire tourner différents OS (Windows et Linux par ex mais nécessite un CPU avec instructions « VT »)
  • OpenVZ : uniquement des distributions utilisant un noyau Linux commun (celui de l’hôte, meilleures perfs)

Ensuite, vient le clustering qui permet de regrouper plusieurs serveurs Proxmox (les noeuds) au sein d’une même entité (le cluster).

Donc, supposons : vous avez chez vous un serveur Linux (normal pour un auto-hébergé) mais également un second serveur (lui aussi sous Linux) à votre disposition chez vos parents/amis/connaissances/autres auto-hébergés. (Rayez la mention inutile)

Avec un cluster, il est possible de déplacer une machine virtuelle d’un noeud à l’autre en un clic afin, par exemple, d’équilibrer la charge entre les serveurs. Il est également possible de faire des sauvegardes complètes (toujours en un clic) des machines virtuelles, synchroniser ces sauvegardes avec Rsync et, le jour ou un des deux noeud meurt (liaison ADSL coupée, panne EDF, météorite, attaque extraterrestre, etc), suffira juste de restaurer les machines virtuelles sur le noeud encore en vie, modifier les DNS et basta : les services repartiront comme si de rien n’était.

Bref, si avec tout ça vous n’êtes toujours pas convaincu que Proxmox « ça rox du poney » et bien retournez donc cliquer sous Windows. (Non mais c’te blague… Ces djeunz, ils ne respectent plus rien ! Et comme disait pépé : « de mon temps, on se contentait d’une orange à Noël… »)

Lire la suite…