Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



Xen

L'utilisation de Xen requiert une version LTS d'Ubuntu pour éviter tous conflits.
Ubuntu soutient principalement KVM qui est plus simple d'installation et d'utilisation, mais qui n'est pas une solution de paravirtualisation.
Si vous êtes débutant, VirtualBox est le plus simple d'approche mais n'est également pas une solution de paravirtualisation

(Lstr le 08/12/2006)

À compléter par les pratiquants étant arrivés à un résultat concret:-D
Xen, ce n'est pas seulement de la théorie, mais également du concret. Cela permet de réaliser simplement, par script des machines virtuelles légère et performantes / marc

Cependant, Xen n'est clairement pas supporté par toutes les versions d'Ubuntu (malgré la présence des paquets d'installation), et mieux vaut partir d'une release LTS.

liens

cette page gagnerait à être complètement refaite. Voici quelques liens intéressants au sujet de XEN. contrairement à ce qui est dit en introduction dans cette page, XEN n'est pas si compliqué à mettre en oeuvre. Xen est largement utilisé dans certaines entreprises portées sur le logiciel libre. Il permet de réaliser une virtualisation extrêmement légère et performante.

Xen est un logiciel de virtualisation de type hyperviseur. Il permet donc de faire tourner plusieurs systèmes d'exploitation (OS) sur une même ressource matérielle (PC, Serveur,…). Le principe de l'hyperviseur est de faire tourner les OS dans le noyau (kernel) même, et non-pas de les émuler, ce qui permet de conserver des performances proches des natives.

Utilisation

L'utilisation d'un hyperviseur comme Xen peut servir dans beaucoup d'applications :

  • Fonctionnement de plusieurs serveurs virtuels sur un unique serveur physique (avec création de serveurs virtuels "à la volée", notamment lorsque l'un d'entre-eux plante ou est victime de piratage,…)
  • Gestion de Clusters
  • Fonctionnement de plusieurs OS sur une même ressource matérielle (développement multi-OS,…)
  • Amélioration de la compatibilité (D'anciennes versions d'OS et d'applications peuvent devenir incompatibles avec du nouveau matériel)
  • Développement de kernel en live (débogage, test,…)
  • Facilite le développement de nouveaux OS en sachant que d'autres pilotes seront réutilisables.
  • de par la facilité de mise en oeuvre et ses performances proches de l'OS hébergeur, XEN est parfaitement adapté à la réalisation de machines virtuelles pour des serveurs d'infrastructure réseau : DNS, NTP, NIS, FTP, VOIP, FTP, WEB, mail,…

Caractéristiques

  • Pas d'émulation : ni matérielle, ni logicielle = sûreté
  • Performances proches des natives
  • Migration d'OS en direct
  • Supporte jusqu'à 32 processeurs virtuels par machine "hôte"
  • Supporte la plupart des pilotes Linux
  • Installation de la machine "hôte" en Ring1 (droits inférieurs au Ring0 = root) mais possibilité de faire des requêtes (HyperCall) vers le Ring0.

Support

  • Processeurs 32bits x86_32 (dont Intel-PAE)
  • Processeurs 64bits AMD x86_64
  • Processeurs 64bits Intel (x86_64 EM64T & IA64)
  • Processeurs à architecture Power
  • Jusqu'à 4Go de RAM
  • HyperThreading
  • Multi-Processeurs
  • Processeurs à virtualisation hardware Intel VT-X (Vanderpool Technology) et AMD-V (Pacifica)

Principe

Général

Les couches de l'OS

Dom0 et DomU

Le Dom0 correspond au système d'exploitation hôte (OS Host). Il gère l'infrastructure Xen et toute la partie matérielle. Les DomU dépendent du Dom0.

Les DomU correspondent à chaque système d'exploitation invité (OS Guest).

Différences avec VM-Ware, VirtualBox et QEmu

L'OS invité (Guest) doit en génral être modifié pour être virtualisé alors qu'avec un virtualiseur classique les systèmes d'exploitation fonctionnent en l'état (même s'il existe des optimiseurs à installer).

Il est aussi possible de faire tourner des OS non modifiés (HVM : Hardware Virtual Machine) si vous disposez d'une technologie de virtualisation intégrée au processeur : Intel VT-X ou AMD-V.

Contrairement aux autres technologies de virtualisation, Xen n'est pas composé d'un programme et d'un module du noyau, mais il est composé de plusieurs programmes et d'un noyau modifié pour son fonctionnement.

Support

Quasiment tout le matériel supporté par linux sera disponible sous Xen

Xen supporte tous les systèmes d'exploitation modifiés pour fonctionner en son sein.

l'installation consiste a fabriquer une arborescence Linux dans un disque virtuel. Il existe plusieurs méthodes pour le faire : debootstrap, cp ou tar. xen-tools est une surcouche à ces outils permettant de tout réaliser d'un seul trait.

On peut aussi fabriquer cette arborescence, via tar-cp, à partir d'une structure existante. Cette structure doit être obligatoirement un système Linux. Symboliquement voici la façon de procéder :

# creation d'un disque virtuel de 1Go
dd if=/dev/zero of=disk.img bs=1M count=1000

# idem pour swap
dd if=/dev/zero of=swap.img bs=1M count=512

# on format de disque en ext3 :
mkfs.ext3 -F disk.img

# et on monte cette image
mount -o loop disk.img /mnt/loop

# on va maintenant écrire dans cette partition virtuelle
cd /mnt/loop

# on récupere une archive du système distant ; ce n'est pas exactement ce qu'il faut faire ...
ssh root@machine-distant tar cvf - / | tar -xvf -

# maintenant que c'est terminé, on dispose de l'arborescence presque complete
cd /mnt/loop/lib/modules ; rm ...
cd /mnt/loop/boot ; rm ...
# faire du ménage et supprimer tout : pas de noyaux et modules nécessaire sous XEN
# c'est en fait une version XENéifiée de /lib/modules/ qui est nécessaire /marc31

# on peut demonter l'image virtuelle :
umount /mnt/loop

# l'image est maintenant activable sous XEN. Pour cela il faut un fichier de config (/etc/xen/machine.conf) ...
# voir autre section de ce tutoriel.

Installation du Dom0

Installation Pour Edgy

Documentations Anglaise (à transcrire) :

Xen sur Edgy (En)

Création de l'image de boot
Modification du fichier de boot

Installation pour Feisty et supérieure

  1. Pour Hardy, le paquet Xenman est manquant. Vous pouvez le trouver ici : http://launchpadlibrarian.net/11041870/xenman_0.6-5ubuntu1_all.deb
  2. Installer le paquet ubuntu-xen-desktop

Ceci installera et configurera les logiciels nécessaires à l'exécution de Xen sur votre ordinateur de bureau.

Pour installer la version serveur, utilisez ubuntu-xen-server

Si vous utilisez Ubuntu 64 bits il vous faudra utiliser le paquet ubuntu-xen-desktop-amd64

Il n'existe pas de paquet serveur pour Ubuntu 64 bits

Suite pour Feisty: Xen sur Feisty (En) (en traduction)

Support XOrg

Les pilotes nVidia fonctionnent. Voir cette page

Installation du DomU

INSTALLATION D'UN DomU NetBSD sur un Dom0 DEBIAN NON-PAE 3.1.0

  • Principe de l'installation
  • Récupérer deux archives NetBSD, l'une d'installation (netbsd-INSTALL_XEN3_DOMU) et l'autre de boot normal (netbsd-XEN3_DOMU).
  • Créer le fichier "image disque"
    dd if=/dev/zero of=disk.img bs=1024k seek=3000 count=1
  • Créer le fichier de boot de machine virtuelle NetBSD qui utilisera lors du premier démarrage l'archive d'installation et pour les boots suivants l'archive de boot.

Fichier Xen du DomU NetBSD sur un Dom0 DEBIAN NON-PAE 3.1.0

    kernel = "/vserver/netbsd/noyaux-netbsd-xen3/netbsd-INSTALL_XEN3_DOMU"
    #kernel = "/vserver/netbsd/noyaux-netbsd-xen3/netbsd-XEN3_DOMU"
    memory = 128
    name = "netbsd"
    disk = [ 'file:/vserver/netbsd/disk.img,sda1,w' ]
    vif = [ '' ]
  • Installation d'un NetBSD DomU (Non-PAE)
  • 1) - Installation de la machine virtuelle NetBSD : sudo xm create -c netbsd.sxp
  • L'installation se déroule comme pour une machine normale. Bien faire attention à l'adresse du serveur FTP et du répertoire de récupération des src.
  • Une fois l'installation terminée, changer le fichier netbsd.sxp afin d'utiliser maintenant le fichier de boot normal et non celui d'installation.
  • 2) - Démarrage de la machine virtuelles NetBSD : sudo xm create -c netbsd.sxp

INSTALLATION D'UN DomU DEBIAN (etch) sur un Dom0 DEBIAN NON-PAE 3.1.0

  • 1) Installation et utilisation de xen-tools
  • XEN-TOOLS est un utilitaire permet de créer les machines virtuelles de XEN très simplement et sans rien oublier. Donc XEN-TOOLS n'est pas obligatoire, mais bien utile.
    apt-get install xen-tools
  • 2) Configuration de xen-tools via /etc/xen-tools/xen-tools.conf
  • Commenter tout, surtout la ligne "initrd" et ne laisser que ce qui suit.
    size   = 4Gb      # Disk image size.
    memory = 128Mb    # Memory size
    swap   = 128Mb    # Swap size
    fs     = ext3     # use the EXT3 filesystem for the disk image.
    dist   = sarge    # Default distribution to install.
    image  = sparse   # Specify sparse vs. full disk images.
    gateway   = 172.20.0.1
    netmask   = 255.255.255.0
    passwd = 1
    kernel = /boot/vmlinuz-2.6.18-xen
    mirror = http://ftp2.de.debian.org/debian/
  • 3) Créer la machine virtuelle avec xen-tools
  • Créer le répertoire d'accueil des machines virtuelles
    mkdir /vserver
    
    sudo xen-create-image --hostname=xen1 --size=4Gb --swap=256Mb --ide \
    --ip=192.168.50.176 --netmask=255.255.255.0 --gateway=192.168.50.1 \
    --force --dir=/vserver --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.18-xen \
    --debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --passwd
  • 4) Créer et démarrer la machine virtuelle
  • sudo xm create /etc/xen/xen-amm.cfg
    qqun@xen:~$ sudo xen-create-image --hostname=xen-amm --size=4Gb \ 
    --swap=256Mb --ide --ip=172.20.0.178 --netmask=255.255.255.0  \
    --gateway=172.20.0.1 --force --dir=/vserver --memory=128Mb --arch=i386 \
    --kernel=/boot/vmlinuz-2.6.18-xen --debootstrap --dist=sarge \
    --mirror=http://ftp2.de.debian.org/debian/ --passwd
    General Infomation
    --------------------
    Hostname       :  xen-amm
    Distribution   :  sarge
    Fileystem Type :  ext3
    
    Size Information
    ----------------
    Image size     :  4Gb
    Swap size      :  256Mb
    Image type     :  sparse
    Memory size    :  128Mb
    Kernel path    :  /boot/vmlinuz-2.6.18-xen
    
    Networking Information
    ----------------------
    IP Address 1   : 172.20.0.178
    Netmask        : 255.255.255.0
    Gateway        : 172.20.0.1
    
    WARNING
    -------
    Loopback module not loaded and you're using loopback images
    Run the following to load the module:
    
    modprobe loop loop_max=255
    
    Creating swap image: /vserver/domains/xen-amm/swap.img
    Done
    
    Creating disk image: /vserver/domains/xen-amm/disk.img
    Done
    
    Creating ext3 filesystem on /vserver/domains/xen-amm/disk.img
    Done
    
    Installing your system with debootstrap mirror http://ftp2.de.debian.org/debian/
    Done
    
    Running hooks
    Done
    
    No role script specified.  Skipping
    
    Creating Xen configuration file
    Done
    Setting up root password
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    All done
    
    
    Logfile produced at:
             /var/log/xen-tools/xen-amm.log
    qqun@xen:~$

INSTALLATION D'UN DomU PLAN 9 sur un Dom0 DEBIAN NON-PAE 3.1.0

  • PLAN 9 présente un tuto très bien fait : HowTo Installing Plan9 on XEN 3
  • Créer le répertoire de la machine virtuelle
    mkdir /vserver/domains/plan9
  • Récupérer les kernel et les sources
    wget http://plan9.bell-labs.com/sources/xen/xen3/9xeninst.gz
    wget http://plan9.bell-labs.com/sources/xen/xen3/9xenpcf.gz
    wget http://plan9.bell-labs.com/plan9/download/plan9.iso.bz2
    bzip2 -d plan9.iso.bz2
  • Créer les fichiers XEN du DomU PLAN9
  • Fichier d'installation de PLAN 9 utilisant 9xeninst.gz
    kernel = "/usr/xen9/9xeninst.gz"
    memory = 32
    name = "plan9"
    vif = [ 'mac=aa:00:10:00:00:10' ]
    disk = [ 'file:/vserver/domains/plan9/plan9.img,sda,w',
             'file:/vserver/domains/plan9/plan9.iso,sdb,r' ]
    restart = 'never'
    # This is the equivalent of plan9.ini:
    extra="""
    
    
    nobootprompt=local!/boot/bzroot
    bootfile=sd01!cdboot!bootdisk.img
    """
    LOL

source: http://www.unix-revolution.info/?q=node/69

Il est nécessaire de disposer de la version 3 de Xen et d'un processeur supportant Intel VT ou AMD-V (Pacifica).

Car seuls les processeurs ayant le support matériel de la virtualisation peuvent faire tourner des systèmes d'exploitation propriétaires étant donné qu'il n'est plus nécessaire d'installer un noyau modifié.

Liste des processeurs Intel VT et AMD-V :

  • Tous les Intel Centrino Core 2 Solo, Core 2 Quad, Core 2 XE, Itanium, i7.
  • Certains Intel Xeon
  • Tous les AMD Athlon 64, Athlon 64 X2, les turions X2 TL-50 et +, ainsi que les Opteron sur sockets AM2, AM2+ et socket F (donc Phenom OK)

FIXME: Tutoriel d'installation de windows.

—- Contributeurs: Fabien26

  • xen.1264007212.txt.gz
  • Dernière modification: Le 18/04/2011, 14:55
  • (modification externe)