Fonctionnalités générales :
Un système Xen est composé :
- d’un hyperviseur Xen
- de machines virtuelles sécurisées appelées domaines
Il existe 2 types de domaines :
- dom0 : le domaine privilégié créé lors de l’installation de xen et démarré au boot de la machine physique
- domU : le ou les domaines non privilégiés hébergeant la ou les machines invitées ou encore systèmes d’exploitation invités
Les principales fonctionnalités apportées par Xen sont :
- isolation complète entre les machines invitées
- performances pour les machines invitées proches d’un système natif
- très bon support du matériel (Xen utilise les pilotes du noyau du dom0)
- possibilité de migrer des machines virtuelles entre des serveurs Xen sans interruption de service
- possibilité de régler finement les ressources allouées aux machines virtuelles
Xen3 peut héberger des systèmes d’exploitation invités non modifiés (si le hardware le permet).
Limitations, difficultés, fonctionnalités importantes non couvertes:
Les ressources documentaires peuvent parfois être un peu limitées ou obsolètes.
Voici quelques points sensibles que nous avons rencontrés :
- il est possible d’avoir des machines virtuelles en 32 ou 64 bits sur des dom0 en 64 bits, ce qui est très pratique. Par contre,
il est impossible de sauver/restaurer/migrer ces MV (par sauver/restaurer on entends l’état de la MV, pas son image disque).
Cette limitation peut être contournée en utilisant un noyau 64 bits dans le domU avec des binaires en 32 bits, c’est souvent possible sans problème, à quelques exceptions près (exemple : outils de gestion de quota qui “segfaultent” dans ce cas là).
- Version du Noyau du dom0 actuellement limitée à la 2.6.18 (si Linux), ce qui peut être limitant si la machine physique dispose de partie matérielle non supportée par cette version.
Certaines distributions proposent des backports (?) des patchs sur des noyaux récents, mais les listes de diffusion semblent indiquer de possibles instabilités (n’ayant pas testé personnellement, je ne confirmerai ni n’infirmerai).
L’intégration dans la branche Vanilla du noyau Linux devrait résoudre ce petit problème, mais il est vrai que cela commence un peu à tarder.