ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[xen]]

Piste: » xen


Xen

Si vous voulez utiliser la version "desktop" (c'est à dire pas un serveur) de Xen et que votre processeur gère la virtualisation matériel (AMD-V ou intel VT) je vous conseille de plutôt aller voir le fonctionnement de KVM qui est bien mieux intégré à Ubuntu et qui est plus simple d'installation et d'utilisation.

Si vous n'avez pas la fonction virtualisation matériel veuillez plutôt voir comment installer VirtualBox

(Lstr le 08/12/2006)

A compléter par les pratiquants étant arrivés à un résultat concret...:-D

Présentation

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 ... dans une moindre mesure (performances oblige): FTP, WEB, mail. N'est pas du tout adapté à gérer les périphériques USB et tout type de périphériques connecté à l'hote.

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 (EM64T & Opteron)
  • Jusqu'à 4Go de RAM
  • HyperThreading
  • Multi-Processeurs
  • Processeurs virtuels Intel VT-X (Vanderpool Technology)

Remarques :

  • Le portage sur PowerPC et Intel 64bits (Itanium = IA64) est en cours
  • Les processeurs virtuels AMD AMD-V (Pacifica), bien que développés essentiellement autour de Xen, je n'ai pas trouvé d'information quant à leur compatibilité qui est plus que probable.

Principe

Général

Les couches de l'OS

Dom0 et DomU

Le Dom0 est la partie qui doit être installée sur le système d'exploitation hôte (OS Host)

Le DomU est la partie à installer sur le système d'exploitation invité (OS Guest) Si vous avez une technologie de virtualisation sur votre processeur il n'est à priori pas indispensable de passer par cette étape (en tous cas pour MS Windows)

Différences avec VM-Ware, VirtualBox et QEmu

L'OS invité (Guest) doit ê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).

Depuis La dernière version de Xen il est aussi possible de faire tourner des OS non modifiés si vous disposez d'une technologie de virtualisation intégrée au processeur ...

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 totalement modifié pour son fonctionnement, ce qui peut poser problème avec certains pilotes (essentiellement les propriétaires de chez ati ...)

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.

Installation de Xen sous OS libre

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. Ce soit ê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

# 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

Installation de Windows et OS propriétaires dans Xen

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, Xeon et Itanium.
  • 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.

FIXME: Tutoriel d'installation de windows.

Liens


xen.txt · Dernière modification: 06/10/2008, à 21:15 par 90.49.127.86, 127.0.0.1
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL