Xen
Vocabulaire
- Hyperviseur: socle d'exécution
- Dom0 = hôte
- DomU = invité = sous-système virtualisé
Dom0 comme DomU sont des noyaux Linux modifiés pour passer par l'hyperviseur Xen à la place d'accéder directement aux ressources du système. Dom0 et DomU peuvent utiliser la même image noyau - c'est même souvent le cas.
Avec une installation Debian Etch standard:
- /boot/xen-3.0.3-1-i386-pae.gz : hyperviseur (on boot dessus)
- /boot/vmlinuz-2.6.18-4-xen-686 : noyau Linux modifié à utiliser pour Dom0 et DomU
- /boot/initrd.img-2.6.18-4-xen-686 : image ramdisk associée au noyau Linux modifié
Installation dans le cas où tout va bien
Base:
aptitude install xen-linux-system-2.6.18-4-xen-686 # noyau, hyperviseur, etc. aptitude install xen-tools # outils pour créer un DomU
TODO: get xen-create-image to work
Survival:
xm list # list running Xen instances xm create yourxen # start an instance xm console yourxen # enter an instance, type C-] to quit xm destroy yourxen # force shutdown
Les coquetteries de Xen
- Vole/désactive les ports séries par défaut - ce qui est loin d'être pratique sur des serveurs dédiés, ou le port série est l'accès de secours en cas de problème réseau. Solution: ajouter xencons=tty6 dans le grub.conf
- Les paquets Debian ne fournissent que des binaires avec support PAE activé. Si vous voulez tester sur votre portable à base de Pentium-M (sans support PAE), vous n'avez plus qu'à installer votre propre noyau, car les paquets Debian ne fonctionneront pas (compilés en mode PAE uniquement; erreurs PAE mode mismatch in Xen (xen=no Dom0=yes) ou Cannot execute a PAE-enabled kernel on a PAE-less CPU au boot). Utiliser greb pae /proc/cpuinfo pour voir si votre processeur gère PAE. C'est à se demander pourquoi une version de l'hyperviseur en mode non-PAE est disponible :/
- Des ralentissements et des bugs au niveau du clavier dans certains cas, pas tout le temps, même avec libc6-xen (temporairement avec les paquets Etch, permenent avec hypervisor 3.1 + k2.6.18): répétitions aléatoires de touches au moment de la frappe, ralentissement impressionnant de gnome-terminal.
Installation semi-manuelle avec l'image binaire officielle
Le site officiel est xensource.com, mais est bourré de propagande liée à une obscure "vente" de produits "entreprise". Bref allez directement sur http://xen.xensource.com/ , puis sur la page de téléchargement. On prend ici une des tarballs binaires; choisissez 32bit, 32bit+pae ou 64bit en fonction de votre système.
tar xzf xen-3....tar.gz cd dist ./install.sh # Image initrd: depmod 2.6.16.29-xen update-initramfs -k 2.6.16.29-xen -ct update-grub
Ça fonctionne, mais: - 2.6.16: carte réseau non gérée (malgré la présence du module concerné) - 2.6.18: carte réseau OK, mais des BUG en rafale dans la console - pas rassurant
Installation manuelle
Vous récupérez une version de Linux xenifiée, et vous la compilez comme d'habitude, avec un panneau menuconfig en plus pour paramétrer Xen.
make world make install
permet de recréer l'image binaire officielle.
Pour recompiler avec une config perso? TODO
Quelle version du noyau Linux?
Les tarballs officielles sont basées sur des noyaux relativement vieux (2.6.16 pour Xen 3.0, 2.6.18 pour Xen 3.1). On trouve quelques forward-ports chez RedHat: http://hg.et.redhat.com/kernel/ (utilisés notamment dans le noyau 2.6.18 de Etch).
Liens
- Debian Etch Xen Install: config de base
- Create DomU: script de base
- Xen@Debian Wiki: les paquets de base
- Xen 3 for Debian: une introduction
- Manuel de l'utilisateur: spartiate
- Xen console grabbded /dev/ttyS0: un truc pour réactiver le port série