Proxmox dans Proxmox

ATTENTION : Cet article à plus de 4 années, il se peut que les infos soient obsolètes ou à adapter aux dernières versions des logiciels.

C’est un peu bizarre comme titre d’article vous allez me dire. Le but en fait ici est de faire fonctionner un serveur Proxmox dans une machine virtuelle gérée par un Proxmox.
A quoi ça sert ? C’est simple, cela permet de maquetter une infrastructure de clusters Proxmox pour tester/apprendre/maquetter avant de passer sur des serveurs réels.

Dans la littérature du net on appelle ceci « Nested Virtualisation ». En fait cela ne concerne pas que Proxmox, mais on peut très bien installer un autre hyperviseur dans une machine virtuelle.

Pour que cela fonctionne, il faut que la machine virtuelle puisse accéder aux instructions de virtualisation implémentées dans les processeurs réels du serveur (kvm_amd ou kvm_intel).

Prérequis

Voici les prérequis côté serveur, donc côté serveur Proxmox hôte :

  • un processeur récent supportant les instructions de virtualisation
  • un kernel de version supérieur à la version 3.10 (donc pas le kernel de base de Proxmox)
  • activer le support nested

 

Activation du support nested

On commence par contrôler si nested est activé ou pas :

# cat /sys/module/kvm_intel/parameters/nested
N

NB : par la suite, remplacer kvm_intel par kvm_amd pour les processeur AMD (logique 😉 )
NB2 : suivant le cas la réponse est N ou 0 dans le cas du support non activé

Pour activer le support :

# echo "options kvm-intel nested=1" > /etc/modprobe.d/kvm-intel.conf

Il faut redémarrer le module kvm. Pour cela il faut que toutes les vms soient arrêtée sur le serveur.

# modprobe -r kvm-intel
# modprobe kvm-intel

On vérifie :

# cat /sys/module/kvm_intel/parameters/nested 
Y

 

Côté VM

Il y a quelques obligation du côté de la vm :

  • le CPU doit être du model « host »
  • de la RAM
  • rajouter le paramètre : args: -enable-kvm dans le fichier de conf de la vm (vmid.conf)

 

A partir de maintenant il est possible d’installer Proxmox dans une VM et dans ce Proxmox créer des VM. Bien sûr il ne faut pas s’attendre à avoir de grosses performances mais cela permet de tester des architectures.

Dans mon idée ma maquette va comporter :

  • 3 serveurs Proxmox en cluster HA
  • un cluster de stockage « rapide » avec CEPH
  • un cluster de stockage « lent » avec du NFS

 

Sources

http://pve.proxmox.com/wiki/Nested_Virtualization

Leave a Comment

Your email address will not be published.