Un outil pour les gouverner tous et un outil pour les backuper tous
Certes je suis très fan de la solution proxmox mais il y a quelque chose qui me fait bander chez VMware c'est le vCenter. Avoir une seule interface pour manager tous les cluster ou du standalone, cela n'a pas de prix. Une seule IP à se souvenir, un seul FQDN à se souvenir, une seule UI à se souvenir <3. Proxmox a mis longtemps avant de sortir une solution qui répond à ce besoin mais elle est enfin là ! Et elle s'appelle Proxmox Datacenter Manager, communément appelé PDM.
Aussi, même si le stockage ceph permet de se prémunir d'un crash d'un disque ou d'un node, il est toujours intéressant d'avoir des saves des VM pour repartir dessus si mauvaise manipulation cliente ou disque corrompu. Il existe plusieurs solutions sur le marché mais j'ai décidé d'utiliser celle de proxmox : Proxmox Backup Server, communément appelé PBS.
Vous l'aurez deviné : on va installer ces deux outils magnifiques. Je vais utiliser un subnet de management (VNET3000) où :
- PVE1 : 100.76.1.51/24
- PVE2 : 100.76.1.52/24
- PVE3 : 100.76.1.53/24
- PBS : 100.76.1.150/24
- PDM : 100.76.1.200/24
Installation et configuration de PDM
On se base sur l'ISO fourni par proxmox. Comme d'hab, ce blog ne tend pas à expliquer comment installer une VM, tout est dans la documentation 😄. Il est installé sur le cluster des PVE.
On se connecte via https://100.76.1.200:8443 :

Comme vous pouvez le voir en haut, cet outil est encore en bêta (officiellement en v1 à l'heure où j'écris cet article) mais on peut le comparer au vCenter dans l'environnement VMware. On peut configurer le SDN, des VM (migration, suppression, allumage), faire du monitoring et surtout avoir une visu de tous les nodes du cluster. L'outil permet aussi de visualiser plusieurs cluster indépendant.
Pour ajouter le cluster, il suffit d'appuyer sur add dans l'onglet remote :

Puis on renseigne un nom et le login/password. On pourrait très bien utiliser un token pour que PDM tape les PVE via API :

Il détecte les IP des autres nodes (cela semble aléatoire par contre. Sur les deux installations que j'ai faite, il m'a aussi affiché le nom du pve sans le domain) :

Le cluster est bien ajouté. Sur le dashboard, on peut visualiser la santé du cluster, le nombre de VM et leur statut (fonctionne aussi pour les LXC), etc.

On peut aussi avoir les informations sur un node en particulier :

Proxmox Datacenter Manager semble être un bon outil mais pas encore assez développé pour qu'il y ait une quelconque intérêt à l'heure actuelle pour moi. J'aimerai bien créer des interfaces, avoir accès au VXLAN dans le SDN, avoir une API qui permet de créer des VM sur le node le moins chargé, etc. Encore en bêta donc il faut attendre !
Installation et configuration de PBS
Comme pour PDM, on se base sur l'ISO fournie par proxmox 😄 Le PBS est une VM hébergé sur le cluster avec en stockage, un partage de fichier NFS sur un serveur dédié. Pour ce faire, on ajoute un nouveau storage NFS :

Sur mon PBS, j'ai donc un disque pour l'OS et un disque qui est dédié pour les backups des VM qui iront sur le serveur de partage de fichier NFS :

On se connecte via https://100.76.1.150:8007 pour initialiser le disque qui va servir au backup :

Une fois le disque formaté en ext4 (format que j'ai choisi), on peut créer le directory :

Et avant de partir, on copie colle le fingerprint !

Retournons sur le cluster. Maintenant, il faut lier le PBS aux PVE. Pour ce faire, on crée un storage Proxmox Backup Server avec un nom / IP du PBS / Login+MDP / Nom du datastore / Fingerprint du PBS :

Le storage est opérationnel. Maintenant, il faut créer un job de backup sur les VM qu'on souhaite (on peut très bien inclure toutes les VM d'un coup). J'ai choisi de faire un test sur la VM "test". Pour ce faire, il faut aller dans backup et add. Ici, j'ai choisi une backup tous les lundi à 1h du matin. On peut faire plus de custom notamment sur la rétention :

Pour aller plus vite, j'ai fait un run now sur le job qui permet de lancer le backup tout de suite. Sur PBS, on peut voir que le job est bien en vert :

Mais on peut très bien aussi checker sur le cluster :

Dernier élément : on peut restore une VM sur une save :

Pour information, je backup directement la VM mais on pourra backup des fichiers. Pour cela, il faut installer proxmox-backup-client sur les machines clientes. Je n'aborderai pas ce point dans ce blog car je ne pense pas que ce soit intéressant pour les clients (à part s'ils veulent payer un peu moins cher les backups :p)
Conclusion
La solution PDM est encore en beta donc il reste assez inutile. Il faudra retester une fois la première version officielle pour de la production.
Concernant PBS, je trouve l'outil simpliste. On voit bien que c'est conçu pour proxmox (et c'est logique vous me direz). L'installation et le linkage avec le cluster est enfantine. Certes j'ai pris les paramètres par défaut mais je suppose qu'on peut pousser plus loin mais, en attendant de convaincre une certaine personne, je pense que cette infrastructure tient la route. Un cluster bien dimensionné, du réseau EVPN/VXLAN sur chaque node vers la fabric Arista, du ceph et des backup ...
Franchement, plutôt pas mal nan ?
Ce fut le dernier épisode de l'infra hosting ! Oui, je sais, je n'ai pas parlé de l'automatisation des VM et c'est normal ! Je trouve que d'assembler du code à droit et à gauche ne va pas tenir sur le long terme. Donc on commence à monter l'infra "NetOps" (oui avant celle de la téléphonique car je vais avoir beaucoup de boulot).
Je termine sur un mot de fin : Vive le libre, fuck le propriétaire