mardi 12 mai 2009

[xen] sortir du mode console

Pour sortir du mode console de xen (après un xm console 2 par exemple) il suffit de faire un
Ctrl + Alt Gr + )

et le tour est joué !

[Xen] Installation d'une debian (domU) sur une debian (dom0)

Je vais ici énoncer la procédure que j'ai employée pour installer un domU sous debian 5.0 Lenny, sur un dom0 du même type. Le réseau étant configuré en bridge et les disques gérés par LVM.

Tout d'abord créer les disques LVM. Dans l'exemple mon groupe de volumes est 'vg-00'.

#lvcreate -L 3G -n debian-domU /dev/vg-00

Ici l'option -L spécifie la taille (3 giga), -n le nom de la partition et vg-00 spécifie mon groupe de volumes.

On partitionne le disque
#mkfs.ext3 /dev/vg-00/debian-dom0


Nous allons maintenant installer notre système. Ceci va consister à montrer le système et "placer" les fichiers du système d'exploitation sur notre partition.
Montons la partition
#mount -t ext3 /dev/vg-00/debian-domU /mnt/debian-domU


Bien heureusement nous n'allons pas faire l'installation à la main c'est l'utilitaire debootstrap qui s'en chargera.
Si vous utilisez un serveur de cache de paquet .deb comme apt-cacher utilisez cette commande. (Bien evidement vous pouvez choisir un autre repo et/ou un autre port !)
#debootstrap lenny /mnt/debian-domU http://apt-cacher-host:3142/ftp.fr.debian.org/debian/

Si vous n'utilisez pas de cache la commande est sensiblement la même
#debootstrap lenny /mnt/debian-domU http://ftp.fr.debian.org/debian/


Après cette installation sans soucis, configurons notre VM ! Pour cela nous allons "chroot-er" notre disque. C'est à dire que nous allons limiter l'exécution de nos commandes à notre nouvelle debian.
#chroot /mnt/debian-domU /bin/bash


Configurons apt pour utiliser notre proxy (si vous n'avez toujours pas de proxy sautez cette étape !).
#vi /etc/apt/apt.conf.d/30proxy

Et entrez ceci (à adapter à votre configuration)
Acquire::http { Proxy "http://apt-cacher-repo:3142"; };

Ensuite éditer votre fichier sources.list à votre guise voici le mien (classique !)
deb http://ftp.fr.debian.org/debian/ lenny main
deb-src http://ftp.fr.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main


Installons le paquet libc6-xen
#aptitude install libc6-xen


Ensuite il faut configurer notre fstab
#vi /etc/fstab
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1


Notre installation est terminées sortons du chroot et démontons l'image.
#exit
#umount /mnt/debian-domU


Ensuite il faut créer notre fichier de configuration. (Il est aussi possible d'utiliser l'utilitaire xen-create-image mais cette méthode n'est pas détaillée ici.)



#vi /etc/xen/debian-domU.cfg

Voici le contenu de mon fichier
name="ma-debian-en-domU"

kernel="/boot/vmlinuz-2.6.26-2-xen-686"
ramdisk="/boot/initrd.img-2.6.26-2-xen-686"


root="/dev/hda1"
memory="128"

disk=['phy:/dev/vg-00/debian-domU,hda1,w']


vif=[ '' ]

dhcp="on"

extra='xencons=tty'

Voici l'explication des options :
name : nom de la machine
kernel : noyaux a utiliser pour booter (ici le noyaux est le même que celui de notre dom0 !)
ramdisk : image mémoire de démarrage (idem)
root : partition à booter (interne à la VM)
memory : mémoire ram en Mo
disk : disque interne de la VM. Ici nous utilisons notre partition LVM mais vous pouvez aussi utiliser des fichiers faisant office de disque dur, des lecteurs CD-Rom, des images iso, ...
vif : configuration du réseau. Ici vide correspond à la configuration par défaut.
dhcp : spécifie si on utilise ou non le DHCP pour récupérer notre adresse IP. Si vous ne voulez pas utiliser DHCP il vous faudra utiliser les options ip, netmask, gateway et hostname qui parlent d'elles même.
extra : spécifie une option de démarrage, (ici extra='xencons=tty' est indispensable si vous voulez pouvoir vous logger après la création de la machine).

Maintenant que tout est près finissons-en ! Pour cela xen fournit la commande xm que nous utiliserons comme suit :
#xm create -c /etc/xen/debian-domU.cfg

N'oubliez pas l'option -c qui vous attachera la machine au terminal actuel.
Vous pourrez éteindre votre machine avec xm shutdown. Pour plus d'info utilisez le man.

Bonne virtualisation !