Dans le guide d’aujourd’hui, nous allons procéder à l’Installation d’un hyperviseur Xen sur CentOS ainsi qu’à l’installation d’une machine virtuelle sur celui-ci. Xen est une plateforme de virtualisation qui est open source et qui permet de gérer plusieurs VM sur un même serveur physique.
Installation de Xen
La première étape consiste à vérifier la prise en charge de votre processeur pour les extensions de virtualisation Intel VT ou AMD-V.
La vérification se fera à l’aide de la commande suivante :
egrep -c '(vmx|svm)' /proc/cpuinfo
Si la sortie de la commande egrep ci-dessus est égale à 1 ou supérieure à 1, cela confirme que la virtualisation matérielle est activée et prise en charge.
Vous pouvez également utiliser la commande suivante :
lscpu | grep Virtualisation
Virtualisation : VT-x
Dans le cas où la virtualisation matérielle n’est pas activée, redémarrez votre système, accédez aux paramètres du BIOS, puis recherchez l’option de virtualisation Intel-VT ou AMD-V et activez l’option qui convient à l’architecture de votre système.
Pour commencer l’installation, il vous faudra activer les dépôts Xen sur CentOS :
sudo yum -y install centos-release-xen
Par la suite, mettre à jour le kernel :
sudo yum -y update kernel
Et enfin, installer Xen :
sudo yum -y install xen
Parce que l’hyperviseur démarre avant votre système d’exploitation, nous devons changer la façon dont le processus de démarrage du système est configuré :
sudo vim /etc/default/grub
Modifiez la quantité de mémoire de dom0 pour qu’elle corresponde à votre mémoire allouée :
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2048M,max:4096M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"
Il vous faudra également mettre à jour grub :
grub2-mkconfig -o /boot/grub2/grub.cfg
Vous pouvez maintenant redémarrer le serveur :
sudo systemctl reboot
Ici, je vous invite à vous connecter en root et avec la commande suivante, à vérifier que Xen fonctionne :
xl info
host : xen.domaine.com
release : 4.9.199-35.el7.x86_64
version : #1 SMP Fri Nov 8 12:22:37 UTC 2019
machine : x86_64
nr_cpus : 2
max_cpu_id : 127
nr_nodes : 1
cores_per_socket : 2
threads_per_core : 1
cpu_mhz : 4008
....
À ce stade, vous devriez être prêt à installer votre première machine virtuelle. Nous utiliserons virt-install pour déployer cette VM.
sudo yum -y install libvirt libvirt-daemon-xen virt-install
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
Installation d’une machine virtuelle
Ici, pour l’exemple nous installerons la version buster de Debian avec la commande suivante :
virt-install --name VmDebianTest --graphics none --location http://deb.debian.org/debian/dists/stable/main/installer-amd64/ --extra-args "console=ttyS0" -v --disk /var/lib/libvirt/images/VmDebianTest.img,size=10 --ram 1024 --vcpus 1
En cas d’erreur pendant l’installation, je vous invite à consulter ce fichier de log :
/var/log/libvirt/libxl/libxl-driver.log
Si vous n’avez aucune erreur, l’installation poursuivra donc en mode textuel, je vous invite à compléter celui-ci comme vous avez l’habitude de le faire pour une installation de Debian.
Une fois l’installation terminée, vous pouvez utiliser la commande suivante pour voir la liste des domaines :
virsh list
Nous retrouvons ici, notre machine fraîchement installée :
ID Nom État
-------------------------------------------
0 Domain-0 en cours d'exécution
3 VmDebianTest en cours d'exécution
Par ailleurs, vous pouvez également éteindre (brutalement) la VM depuis le serveur Xen :
virsh destroy VmDebianTest
La commande pour démarrer une VM :
virsh start VmDebianTest
De plus, pour vous rattacher directement à votre VM, vous pouvez utiliser la commande suivante :
virsh console VmDebianTest
Pour finir, « Ctrl » + « F5 » vous permettra de vous détacher de cette console.
Pour d’autres commandes, je vous invite directement à consulter le man de virsh et le wiki à cette adresse : https://wiki.xenproject.org/wiki/Main_Page
D’autres articles sur Xen sont à prévoir sur https://sqx-bki.fr/categorie/virtualisation/.
Vous savez à présent comment se déroule l’Installation d’un hyperviseur Xen sur CentOS.