Le Blog Utux

HTTP 200 GET /

Proxmox VE

Rédigé par uTux 6 commentaires

Proxmox VE fait partie de ces projets cool à vocation commerciale mais libre et distribué gratuitement avec toutes les fonctionalités (comme FreeNAS). Il s'agit d'une solution de virtualisation basée sur Linux-KVM + LXC, le tout avec un web-ui plutôt bien fichu. Aperçu des fonctionnalités:

  • Cluster simili-HA (non testé)
  • Web-ui HTML5
  • Multiples backend de stockage: local, LVM, iSCSi, Ceph, Gluster, ZFS
  • Snapshots à chaud
  • Backups à chaud
  • Ajout CPU/RAM/disk à chaud (pas testé)
  • Console Web noVNC (pas de plugin à installer!)

J'ai installé Proxmox 5.1 sur mon NUC et l'utilise actuellement pour propulser mes services privés @home répartis sur 6 machines virtuelles debian.

Proxmox VE

Par le passé, l'un des points les plus gênants de Proxmox VE à mon sens était la console VNC qui nécessitait l'installation d'un plugin navigateur avec les inconvénients que l'on connait: problèmes de clavier, temps de chargement du plugin (on rate le grub!!!), latence... et j'ai été très content de constater que tout se fait maintenant en HTML5 avec noVNC, merci Proxmox!

Je rédige cet article car tout comme FreeNAS j'ai ressenti un effet "wow" (en positif). On côtoie beaucoup de logiciels dans notre métier, libres ou pas, parfois mauvais, parfois passables, mais rarement très bons. Proxmox devrait être plus connu.

Virtualisation

KVM:

Proxmox utilise KVM pour la virtualisation, avec des périphériques virtio si le système invité le supporte (Linux + BSD family). Il est possible d'allouer une quantité fixe de RAM ou un provisionnement dynamique ce qui revient en fait techniquement à autoriser le ballooning. L'installation se fait à l'aide de la console noVNC en HTML5 et d'une ISO que l'on peut uploader via le web-ui.

Proxmox active également la fonctionnalité KSM qui permet de partager entre les VM les pages de mémoire similaires par mesure d'économie. L'ensemble est donc plutôt bien pensé.

On retrouve cependant les éternels bugs communs aux solutions KVM, tels que les VM qui ne veulent parfois pas s'arrêter, il faut se connecter en SSH et forcer l'extinction car le web-ui n'y parvient pas. Dommage.

LXC:

Historiquement, Proxmox VE se basait sur OpenVZ pour les containers. Désormais c'est LXC qui est utilisé, pour cause de souplesse si on en croit ce post sur le forum Proxmox. J'ai toujours trouvé OpenVZ supérieur en terme d'isolation et d'outils d'administration, mais ce projet n'est pas upstream et a longtemps été bloqué au kernel 2.6.32 et il semble que ce soit encore le cas aujourd'hui.

Donc le passage à LXC est une bonne chose d'autant que LXCFS semble présent! Pour rappel, LXCFS permet à un container de ne voir que la quantité de RAM qui lui est alloué (via top ou htop) idem pour l'espace disque avec df ce qui améliore l'isolation.

L'installation d'un container LXC se fait à partir de templates que l'on peut télécharger chez Proxmox et il est possible de choisir si on veut le faire fonctionner en mode unprivileged ou pas, pour plus de sécurité. Je n'utilise pas de containers LXC, je privilégie KVM pour plus de souplesse. En effet avec LXC il n'y a pas de migration de stockage possible et il n'est pas possible d'activer ou désactiver le mode unprivileged, il faut recréer le container. Cette implémentation semble donc un peu moins mure que celle de KVM.

Stockage, snapshots, backups

Le support des snapshots dépend du backend de stockage. Par défaut c'est un stockage local LVM-thin et ils sont supportés. Idem sur du stockage local qcow2. Les snapshots se font et se suppriment à chaud, rien à dire là dessus à part que ça marche bien. En revanche pour les backups c'est une autre histoire. Proxmox dispose d'une planificateur de sauvegardes qui non seulement ne supporte que du full, mais en plus ne permet pas de définir une durée de rétention. C'est extrêmement basique, limite pas utilisable en l'état, je passe par du backuppc.

Pour revenir sur les backend de stockage (dont la liste est disponible ici) je ne suis pas parvenu à faire fonctionner Zfs over iScsi, il semble que cela nécessite une connexion SSH avec le NAS, un choix de conception étrange. Donc je me contente du local (LVM-thin) et d'un datastore NFS.

Il faut noter que l'on peut uploader des iso directement depuis le web-ui pour les mettre dans un datastore, et c'est super.

Conclusion

Proxmox constitue une bonne alternative à ESXi pour un labo @home ou pour une infra de virtualisation maitrisée de A à Z. Espérons que le produit continuera à mûrir sur les containers et la partie sauvegarde, en tous cas merci!

6 commentaires

#1  - willy1009 a dit :

Hello,

On est loin du simili HA pour proxmox, c'est du vrai HA avec bascule des VMs. Ca marche vraiment bien si c'est configuré comme il faut.

Répondre
#2  - uTux a dit :

La doc est très sommaire: https://pve.proxmox.com/wiki/High_Availability_Cluster
Mais elle dit: "In simple words, if a virtual machine (VM) is configured as HA and the physical host fails, the VM is automatically restarted on one of the remaining Proxmox VE Cluster nodes."
Pour moi c'est pas de la HA car tu as bien une coupure de service.

Répondre
#3  - Thomas a dit :

Il s'agit d'un article assez ancien. La nouvelle documentation HA est disponible ici : https://pve.proxmox.com/wiki/High_Availability

Répondre
#4  - zwindler a dit :

Oui il y a coupure de service, mais est ce que ça a vraiment du sens de se poser cette question ?
C'est pareil pour tous les produits de virtualisation et c'est bien normal => l’exécution du kernel de la VM tourne sur le CPU et dans la RAM de l'hôte qui l'héberge et donc limité à ce contexte là.
Le seul hyperviseur x86 (à ma connaissance) qui peut faire du "vrai" HA comme tu l'entend, c'est VMware avec la fonctionnalité Fault Tolerance et c'est HYPER limité en nombre de vCPU et ultra consommateur en ressources.
Je rejoins donc le commentaire précédent, c'est du vrai HA au sens virtualisation du terme (c'est à dire redémarrage de la VM)

Répondre
#5  - Alex59 a dit :

Bonjour
Article intéressant
Je me pose une question; peux t on faire du load balancing avec Proxmox?
Imaginons 3 serveurs physiques et une baie de stockage.
Le cluster permet de rebooter une vm sur un autre serveur du cluster en cas de défaillance d un serveur physique (de facon automatique ou manuellement ?)
Si une VM à besoin de plus de RAM et que le noeud rattaché est full ? Utiliser de la RAM d un autre serveur du cluster?

Répondre
#6  - Simon L a dit :

Salut,

Merci pour ton article :) mais je voulais revenir un peu sur le coté backup.
"Proxmox dispose d'une planificateur de sauvegardes qui non seulement ne supporte que du full,

Alors oui ok il ne fait que du full mais il a le mérite de proposer une solution de backup inclus. Ce qui n'ai pas le cas de Vmware ou il faut un veeam ou de hyperv qui fait du windows backup si on reste dans le gratuit qui marche a moitié ^^. Je ne pense pas qu'il faut en demander plus a ce niveau

"mais en plus ne permet pas de définir une durée de rétention. "
En faite si tu monte un nfs via l'interface par exemple tu peux spécifier le "Max Backups" ainsi les ancienne sauvegarde se supprime toute seule quand elle atteint le nombre voulu.

Voila pour mes petites remarques.

Merci pour ton blog que je suis je kiff tes articles ^^

Répondre

Écrire un commentaire

Quelle est le troisième caractère du mot ueynml1 ?