Outils pour utilisateurs

Outils du site


israd:xen

Quelques documentations à parcourir attentivement.

* http://www.bortzmeyer.org/xen.html

* http://julien.danjou.info/xen.html

* http://wiki.xensource.com/xenwiki/

* http://wiki.xensource.com/xenwiki/XenNetworking

* http://wiki.xensource.com/xenwiki/XenIntro

Installation des paquets xen

Dans sources.list :

deb http://www.backports.org/debian/ sarge-backports main

/etc/apt/preferences

Package: xen-3.0
Pin: release a=sarge-backports
Pin-Priority: 999

Package: xen-tools
Pin: release a=sarge-backports
Pin-Priority: 999

Package: linux-2.6
Pin: release a=sarge-backports
Pin-Priority: 999

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

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

Package: module-init-tools
Pin: release a=sarge-backports
Pin-Priority: 999

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

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=sarge-backports
Pin-Priority: 300
# apt-get install xen-hypervisor-3.0-i386 xen-utils-3.0 xen-tools linux-image-xen-686

S'il y a un problème avec udev :

# dpkg --purge udev
# apt-get install udev

Le fichier intrd n'étant pas encore créé automatiquement :

# update-initramfs -t -c -k 2.6.16-1-xen-686

Configuration de grub :

title  Xen-3.0 - 2.6-xen-686 - 256M
kernel /boot/xen-3.0-i386.gz dom0_mem=262144
module /boot/vmlinuz-2.6.16-1-xen-686 root=/dev/hdXX ro
module /boot/initrd.img-2.6.16-1-xen-686
savedefault
boot

Configuration d'un domU

On va réutiliser les images utilisées pour user mode linux : dans /etc/xen/fw

kernel = "/boot/vmlinuz-2.6.16-1-xen-686"
ramdisk = "/boot/initrd.img-2.6.16-1-xen-686"
memory = 64
name = "fw"
root = "/dev/hda1 ro"
disk = [ "file:/home/ftp/ISRAD/UML/fw.root,hda1,w", "file:/home/ftp/ISRAD/UML/fw.swap,hdb1,w"]
vif = [ '' , '', '' ]

Modifier /etc/fstab sur fw.root ubd0 devient hda1, ubd1 devient hdb1 et /etc/inittab tty0 devient tty1

Installer les modules du noyau xen dans l'image fw.root :

# mount -o loop fw.root /mnt
# cp -a /lib/modules/2.6.16-1-xen-686/ /mnt/lib/modules/
# umount /mnt

S'assurer que le module loop est bien chargé :

:
modprobe loop

Ou ajouter loop au fichier /etc/modules

Par défaut il n'y a que 8 devices loop de possible, utiliser l'option max_loop=64 pour avoir une valeur plus confortable.

modprobe loop max_loop=64

Ou ajouter options loop max_loop=64 au fichier /etc/modprobe.d/loop

Création du domaine (= lancement de la machine virtuelle) :

xm create fw -c

Pour quitter la console du domaine Ctrl ], pour y revenir :

xm list
xm console "id du domaine"

configuration du réseau

S'assurer que le paquet bridge-utils est installé.

Lire /usr/share/doc/bridge-utils/README.Debian.gz

Editer le fichier de configuration de xend /etc/xen/xend-config.sxp et y choisir le script voulu. Voir http://wiki.xensource.com/xenwiki/XenNetworking.

Pour obtenir le même type de configuration que pour l'UML avec fw, lan et dmz :

(network-script network-bridge)

créera un pont ethernet relié à internet auquel se raccordera l'interface eth0 du fw via l'option vif=['bridge=xenbr0'] de son fichier de configuration /etc/xen/fw

Créer deux autres ponts lan et dmz en utilisant /etc/network/interface :

auto dmz
iface dmz inet manual
      bridge_ports none
      # optional
      bridge_maxwait 0

auto lan
iface lan inet manual
      bridge_ports none
      # optional
      bridge_maxwait 0
  • Y rattacher le fw (en plus de xenbr0: vif=['bridge=xenbr0','bridge=lan','bridge=dmz']
  • Y rattacher lan : vif=['bridge=lan'] et dmz vif=['bridge=dmz']

Rebooter afin que xend prenne en compte la modification de son fichier de configuration.

Lancer fw, lan et dmz, il doit y avoir du réseau entre elles.

Extrait de http://www.shorewall.net/XenMyWay.html (page très intéressante) :

“Caution

Under some circumstances, UDP and/or TCP communication from a domU won't work for no obvious reason. That happened with the lists domain in my setup. Looking at the IP traffic with tcpdump -nvvi eth1 in the firewall domU showed that UDP packets from the lists domU had incorrect checksums. That problem was corrected by arranging for the following command to be executed in the lists domain when its eth0 device was brought up:”

ethtool -K eth0 tx off

Cette commande désactive la vérification des checksums des paquets transmis via eth0. Il y a apparemment quelquefois un problème avec l'implémentation des interfaces réseau virtuelles de xen. La commande ethtool est dans le paquet ethtool.

Afin que cette commande soit lancée juste après la configuration de l'interface, rajouter dans /etc/network/interfaces du lan et de la dmz

post-up ethtool -K eth0 tx off

Installation d'un serveur dhcp sur fw

fw:~# apt-get install dhcp3-server

Le serveur dhcp doit éciouter l'interface eth1 : Dans /etc/default/dhcp3-server

INTERFACES="eth1"

shorewall doit laisser passer les paquets dhcp sur eth1 : /etc/shorewall/interfaces :

loc     eth1            detect          dhcp

Redémarrer shorewall : shorewall restart

Indiquer au serveur dhcp le réseau qu'il doit servir : modifier /etc/dhcp3/dhcpd.conf

option domain-name "isri.u-picardie.fr";
option domain-name-servers 193.49.184.6;
subnet 192.168.253.0 netmask 255.255.255.0 {
  range 192.168.253.100 192.168.253.150;
  option routers 192.168.253.1;
}

Redmarrer le serveur dhcp.

Installation d'un domU netbsd

Création du disque :

dd if=/dev/zero of=netbsd.img bs=1 seek=1024M count=1

Récupèrer les noyaux, iso et fichier de configuration sur http://www.u-picardie.fr/~jcd/XEN/

Modifications à apporter au fichier /etc/xen/netbsd (copie du fichier netbsd.cfg récupéré précédemment) :

kernel = "/home/jcd/ISRAD/UML/netbsd-INSTALL_XEN3_U"
vif = [ 'bridge=lan' ]
disk = [ 'file:/home/jcd/ISRAD/UML/netbsd.img,hda,w','file:/home/jcd/ISRAD/UML/i386cd-3.0.iso,hdb,r']
dhcp="dhcp"

Démarrer le domaine. Choisir l'installation CD, le cdrom est sur accessible via le device xbd1a.

Une fois l'installation termninée, ne pas demander à l'installeur de rebooter : quitter l'installation puis arrêter le domU (halt). Sinon le domU va redémarrer sur le noyau d'installation.

Changer de noyau dans /etc/xen/freebsd, utilisez le noyau netbsd_XEN3_U. À la fin du fichier, vérifier que vous montez bien la bonne partition :

extra += ",vfs.root.mountfrom=ufs:/dev/xbd0a"

Démarrer le domaine.

domU freebsd

Récupérer kernel-current, mdroot-7.0.bz2 et freebsd.cfg. Bunziper mdroot-7.0.bz2. Utiliser le fichier freebsd.cfg comme fichier de configuration pour le domU.

Démarrer le domaine. (Pas de mot de passe).

Objectif JC Delepine

israd/xen.txt · Dernière modification: 2008/04/22 08:36 par m20505933