Apportez votre aide…
Ceci est une ancienne révision du document !
Xen
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…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 / marcCependant, 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.
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, 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
Tout le matériel supporté par linux est disponible sous Xen (sous réserve de compatibilité avec le noyau).
Xen supporte tous les systèmes d'exploitation modifiés pour fonctionner en son sein.
Xen supporte les systèmes d'exploitation non-modifiés à travers la virtualisation matérielle des processeurs compatibles (Intel VT-X et AMD-V).
Installation de Xen
Installation du Dom0
Mettre son système à jour
Avant de commencer, il convient d'avoir son système à jour :
sudo apt get update sudo apt get upgrade
Installer le noyau Xen
Installer le paquet "ubuntu-xen-server" :
sudo apt get install ubuntu-xen-server
Redémarrer sur le noyau créé
Redémarrer votre système en choisissant "XEN" lors de l'invite GRUB
Vérifier le bon déroulement de l'installation
- Vérifier le nom du noyau
sudo uname -a
- Vérifier que dom0 est bien lancé
sudo xm list
- Vérifier que le réseau est bien configuré
ifconfig
doit vous retourner au moins 3 interfaces : lo (le loopback du système), eth0 (le bridge (qui n'est plus votre interface réseau mais son image pour les domU)) et veth0 (votre interface réseau).
- Vérifier votre connexion Internet
Vous devez pouvoir vous connecter à Internet (si c'était bien le cas avant).
Support XOrg
Pilotes graphiques
Les pilotes ATI semblent fonctionner avec le noyau Xen.
Accélération graphique
L'accélération graphique par OpenGL est supporté par Xen à travers VMGL
À compléter
=== 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, 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)
: Tutoriel d'installation de windows.
===== Liens =====
- XENfr : la communauté Francophone.
- Virtuatopia : Une série de tutos sur Xen en anglais
- Convirt : gerez vos machines virtuelles graphiquement (kvm, xen)
- liste de projets liés a Xen.
Contributeurs: Fabien26