wiki:InsiaAdminSysTp3_11

Sommaire

TP - Virtualisation (Xen)

Ressources:

1. Xenification

Nous allons passer une machine virtuelle utilisant notre chère "Debian Etch" par défaut sous Xen. Ce dernier étant bien packagé, cela va être très simple:

# aptitude install xen-linux-system-2.6.18-4-xen-686

Vous allez constater qu'en fin d'installation, dans le menu de boot (/etc/grub/menu.lst), l'entrée par défaut va démarrer Xen (et non un noyau Linux). Le noyau se retrouve en paramètre de Xen, il s'agit en de l'ancien noyau. Cela veut dire que le système existant devient notre dom0 et tourne au-dessus de Xen.

Attention: pour rebooter, vous ne pourrez pas vous contenter de l'émulation i386 de QEMU, elle n'est pas assez complète pour que Xen fonctionne correctement. Il va falloir passer par l'émulation 64bits qui est nettement plus lente sur vos plateformes 32bits (Pentium4):

/virtual/bla$ qemu-system-x86_64 -hda xen.iso

2. Système invité

Pour gagner du temps, nous allons tout simplement faire tourner dans une ou deux machines virtuelles des systèmes existants, que vous avez déjà développés en TP. Par exemple, démarrez votre système Xen ansi:

/virtual/bla$ qemu-system-x86_64 -hda xen.iso -hdb nagios.img -m 256

Vous allez devoir configurer une machine virtuelle, en lui allouant une quantité de mémoire du dom0, en lui assignant une interface réseau et en lui exposant les partitions disques qui conviennent (notez que le swap devenant sda2 ne sera pas utilisé par défaut par votre système). Inspirez-vous de cet exemple:

# Fichier /etc/xen/nagios.cfg
#
# Il s'agit d'un fragment de programme Python, attention à la syntaxe !

#  Kernel + memory size
#
kernel      = '/boot/vmlinuz-2.6.18-4-xen-i686'
ramdisk     = '/boot/initrd.img-2.6.18-4-xen-i686'
memory      = '128'

#
#  Disk device(s).
#
root        = '/dev/sda1 ro'
disk        = [ 'phy:hdb1,sda1,w', 'phy:hdb2,sda2,w' ]

#
#  Hostname
#
name        = 'nagios'

#
#  Networking
#
vif         = [ 'mac=52:54:00:01:01:01' ]

#
#  Behaviour
#
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Et enfin démarrez votre système en suivant sa console:

# xm create -c nagios.cfg

Notez qu'en dehors de la commande xm create, vous ferez référence à votre machine virtuelle à l'aide e son nom (nagios) et non son fichier de configuration.

Mémoire

Aide sur le dimensionnement de la mémoire:

  • La RAM physique émulée par QEMU est réglée par son paramètre -m
  • La RAM utilisée par Xen est contrôlée par le paramètre de boot mem= (cf. GRUB)
  • La RAM utilisée par le dom0 est contrôlée par le paramètre de boot dom0_mem= (cf. GRUB)
  • La RAM minimale garantie par le dom0 est contrôlée par le paramètre dom0_min_mem dans /etc/xen/xend-config.sxp (redémarrez xend après une modification=
  • La RAM utilisée par un domU est spécifiée dans sa configuration
  • Pour connaître l'utilisation de la RAM (Xen, dom0, domU): xm info et free.

Réseau

Pour connecter les interfaces virtuelles à l'interface "réelle" de votre QEMU, vous devrez modifier 2 lignes dans votre fichier de configuration /etc/xend/xend-config.sxp) en suivant ce modèle:

(network-script 'network-bridge netdev=eth0')
(vif-script vif-bridge)

Correctifs

Votre système invité ne va pas très bien fonctionner dans son nouvel environnement, notamment parce qu'il ne possède pas les modules associés au noyau de para-virtualisation avec lequel on l'a démarré. Installez le noyau ad hoc dans votre système invité pour améliorer vos résultats:

# aptitude install linux-image-2.6.18-4-xen-686

3. Contrôle de Xen

On peut se rattacher à une console (xm console <nom>) et s'en détacher à tout moment (Control-]).

Essayez les commandes suivantes (et consultez les pages de manuel !):

# xm list
# xentop
...
Last modified 13 years ago Last modified on Jun 10, 2007, 9:29:37 PM

Attachments (1)

Download all attachments as: .zip