====== Installation de xen ======
===== Installation du paquet xen-system =====
# apt-get install xen-system
Jessie propose la version 4.4 de xen.
===== Booter avec xen =====
==== Ordre de boot par défaut ===
# ls -la /etc/grub.d/
total 88
drwxr-xr-x 2 root root 4096 mai 1 13:55 .
drwxr-xr-x 145 root root 12288 août 9 16:49 ..
-rwxr-xr-x 1 root root 9424 mars 23 17:33 00_header
-rwxr-xr-x 1 root root 6058 mars 23 16:23 05_debian_theme
-rwxr-xr-x 1 root root 12261 mars 23 17:33 10_linux
-rwxr-xr-x 1 root root 11082 mars 23 17:33 20_linux_xen
-rwxr-xr-x 1 root root 11692 mars 23 17:33 30_os-prober
-rwxr-xr-x 1 root root 1416 mars 23 17:33 30_uefi-firmware
-rwxr-xr-x 1 root root 214 mars 23 17:33 40_custom
-rwxr-xr-x 1 root root 216 mars 23 17:33 41_custom
-rw-r--r-- 1 root root 483 mars 23 17:33 README
#
C'est le contenu du répertoire /etc/grub.d qui définit l'ordre de recherche des systèmes présents et par conséquence leur ordre d'affichage lors du boot.
==== Modification d'ordre ====
Il suffit de passer 20_linux_xen avant 10_linux
# dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
Ajout de « détournement local de /etc/grub.d/20_linux_xen en /etc/grub.d/08_linux_xen »
#
# ls -la /etc/grub.d/
total 88
drwxr-xr-x 2 root root 4096 août 9 18:14 .
drwxr-xr-x 145 root root 12288 août 9 16:49 ..
-rwxr-xr-x 1 root root 9424 mars 23 17:33 00_header
-rwxr-xr-x 1 root root 6058 mars 23 16:23 05_debian_theme
-rwxr-xr-x 1 root root 11082 mars 23 17:33 08_linux_xen
-rwxr-xr-x 1 root root 12261 mars 23 17:33 10_linux
-rwxr-xr-x 1 root root 11692 mars 23 17:33 30_os-prober
-rwxr-xr-x 1 root root 1416 mars 23 17:33 30_uefi-firmware
-rwxr-xr-x 1 root root 214 mars 23 17:33 40_custom
-rwxr-xr-x 1 root root 216 mars 23 17:33 41_custom
-rw-r--r-- 1 root root 483 mars 23 17:33 README
#
Un "mv" pourrait faire l'affaire mais une mise à jour pourrait poser problème.
Remarque : Modifier le paramètre GRUB_DEFAULT du fichier /etc/default/grub n'est pas une bonne idée car l'installation d'un nouveau noyau peut décaler le nombre d'entrées dans le menu.
===== Paramétrage de la mémoire et de la CPU de la dom0 =====
Ajouter dans le fichier /etc/default/grub :
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2G,max:2G dom0_max_vcpus=4"
Ce paramétrage permet de limiter la mémoire utilisée par la dom0 à 2 Go et l'utilisation de 4 cpus.
Sur mon serveur la dom0 utilise généralement moins d'un Go.
Préconisation de [[http://support.citrix.com/article/CTX139714|Citrix]] pour le nombre de VCPU de la dom0 :
| CPU | VCPU | Pinning |
| < 5 | toutes | non |
| < 24 | 4 | non |
| < 32 | 6 | non |
| < 48 | 8 | non |
| >= 48 | 8 | oui |
J'ai donc choisi 4 VCPU puisque je dispose de 8 CPU.
===== Prise en compte des modification de grub =====
Les modifications du paramétrage de grup nécessitent la régénération du fichier /boot/grub/grub.cfg
# update-grub
===== Bloquer le ballooning de la dom0 =====
Dans le fichier /etc/xen/xl.conf, modifier le paramètre
## Global XL config file ##
# Control whether dom0 is ballooned down when xen doesn't have enough
# free memory to create a domain. "auto" means only balloon if dom0
# starts with all the host's memory.
autoballoon="off"
...
Ce paramétrage est recommandé par les [[http://wiki.xenproject.org/wiki/Xen_Project_Best_Practices#Why_should_I_dedicate_fixed_amount_of_memory_for_Xen_Project_dom0.3F|"xen project best practices"]]. A vérifier si ce paramétrage est encore d'actualité pour la version 4.4.
===== Contrôle de l'installation =====
Après un reboot :
# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1997 4 r----- 55445.5
#
# xl vcpu-list
Name ID VCPU CPU State Time(s) CPU Affinity
Domain-0 0 0 1 -b- 9624.2 all
Domain-0 0 1 7 -b- 18487.2 all
Domain-0 0 2 5 -b- 9594.3 all
Domain-0 0 3 0 r-- 17738.7 all
#
===== Remarques =====
- Avec Jessie, la version de xen est la 4.4
- Par défaut, xen utilise le toolstack xl
===== Sources =====
https://wiki.debian.org/Xen