Serveurs virtuels

From All4Dev

Configuration (par l'exemple) de XEN 3.0.1 sur Debian GNU/Linux 3.1 (sarge)

L'installation est appliquée sur une installation de base, avec trois RAID1 logiciels (swap,/,le reste) et du lvm (volume groupe vg_1) sur le 3ème RAID1.

# Xen pre-release packages
deb http://packages.debianbase.de/sarge/i386/xen3/ ./
deb http://www.backports.org/debian/ sarge-backports main
Package: *
Pin: release a=sarge-backports
Pin-Priority: 200

Package: udev
Pin: release a=sarge-backports
Pin-Priority: 999

Package: lsb
Pin: release a=sarge-backports
Pin-Priority: 999

Package: module-init-tools
Pin: release a=sarge-backports
Pin-Priority: 999
aptitude install xen linux-patch-xen udev/sarge-backports lsb-base/sarge-backports module-init-tools/sarge-backports bridge-utils
cd /usr/src
wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2
tar xjf linux-2.6.12.tar.bz2
cd linux-2.6.12
/usr/src/kernel-patches/i386/apply/xen
make ARCH=xen menuconfig

Outre les options propres au boot de la machine, il faut ici veiller a bien selectionner les options suivantes dans la section XEN

CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PHYSDEV_ACCESS=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_XEN_NETDEV_BACKEND=y
make-kpkg clean
mak-kpkg --revision=x1 --append_to_version="-xen0" --arch xen kernel_image
dpkg -i ../kernel-xen0-2.6.12-xen0_x1_i386.deb

Ajouter dans le fichier /boot/grub/menu.lst la section suivante, en bas du fichier sous la ligne "### END DEBIAN AUTOMAGIC KERNELS LIST"

title           Debian GNU/Linux, kernel 2.6.12  XEN
root            (hd0,1)
kernel          /boot/xen-3.0.gz
module          /boot/xen-linux-2.6.12-xen0 root=/dev/md1 md=1,/dev/sda2,/dev/sdb2 ro libata console=tty0
savedefault
boot

Adapter les options root à l'environnement ;)

Il faut également dire à grub d'utiliser ce noyau par défaut en changeant l'option "default" dans ce même fichier.

mv /lib/tls /lib/tls.disabled

Reprendre la même procédure que précédemment en:

CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
dpkg -i ../kernel-xen0-2.6.12-xenu0_x1_i386.deb
lvcreate -n x_test -L 3G vg_1
mkfs.ext3 /dev/vg_1/x_test
mount /dev/vg_1/x_test /mnt
rsync -av / /mnt --exclude="/mnt/*" --exclude="/sys/*" --exclude="/proc/*"
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/hda1	/		ext3	defaults,errors=remount-ro	0	1
proc	/proc	proc	defaults	0	0
umount /mnt

Créer le fichier /etc/xen/test avec le contenu suivant

kernel = "/boot/xen-linux-2.6.12-xenu0"
memory = 64
name = "test"
vif = [  ]
disk = [ 'phy:vg_1/x_test,hda1,w' ]
root = "/dev/hda1 ro"
extra = "2"

Ajuster ces paramêtres en s'inspirant des exemples dans /usr/share/doc/xen.

xm create -c test

Pour quitter le terminal Ctrl+]

cd /etc/xen/auto
ln -s ../test .