Shellnode
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

Installer et configurer Xen sur Debian 4.0 Etch

Aller en bas

Installer et configurer Xen sur Debian 4.0 Etch Empty Installer et configurer Xen sur Debian 4.0 Etch

Message  Romeo Dim 24 Aoû - 22:00

en est une solution de virtualisation libre et gratuite disponible dans les dépôts de Debian 4.0 Etch. Cet article vous guide au travers de l'installation, la configuration et l'utilisation de Xen sur Debian 4.0 Etch.
Pour information

Dans ce guide, je parlerai en permanence de machines virtuelles. Cependant, Xen a sa propre terminologie. Dans une configuration Xen, les machines virtuelles instanciées (c'est à dire démarrées) sont appelées "Domaines".

Une fois votre machine configurée pour faire fonctionner Xen, tous les systèmes d'exploitation tournent dans des "domaines". Le système d'exploitation d'origine, ou se trouvent installés les outils de contrôle de Xen, est appellé le "dom0" (pour domaine n°0). Tous les systèmes d'exploitation invités sont dit installés dans un "domU" (pour domaine utilisateur).

Comme je suis un peut pantouflard, je n'ai pas envie de m'imposer cette torsion mentale, et je ne parlerai que de machines virtuelles pour simplifier le schmilblick. Aussi, si vous lisez ce guide, ne hurlez pas à mort à cause des dénominations.
Prérequis

Ce guide fait usage des possibilités de LVM. Si vous ne savez pas ce que c'est ou que vous souhaitez mettre en place LVM sur votre machine, je vous conseille de lire l'article suivant:

LVM, une autre manière de partitionner.
Installation

En premier lieu, nous installons le noyau spécifique à Xen ainsi qu'une libc patchée afin que Xen fonctionne correctement:

/usr/bin/apt-get install linux-image-2.6-xen-vserver-686 linux-headers-2.6-xen-vserver-686 libc6-xen \
xen-hypervisor-3.0.3-1-i386-pae xen-tools bridge-utils

Attention: Si vous utilisez une version 64 bits de Debian, utilisez la ligne de commande suivante:

/usr/bin/apt-get install linux-image-2.6-xen-vserver-amd64 linux-headers-2.6-xen-vserver-amd64 \
xen-hypervisor-3.0.3-1-amd64 xen-tools bridge-utils

Remarque: Si votre processeur le supporte, et si vous voulez installer des systèmes d'exploitation non modifiés (tel que Windows XP), il vous faut installer un paquet supplémentaire:

/usr/bin/apt-get install xen-ioemu-3.0.3-1

Dans le cas où vous ne souhaitez pas utiliser LVM pour gérer les disques des machines virtuelles Xen, nous augmentons le nombre de périphériques loopback disponibles:

echo "# Allow up to 64 loopback devices
options loop max_loop=64" \
| tee /etc/modprobe.d/loop

Une fois ceci fait, nous redémarrons afin d'utiliser le nouveau noyau.
Machines virtuelles Ubuntu 8.04 Hardy Heron

Enfin, afin de pouvoir utiliser Ubuntu 8.04 Hardy Heron dans nos machines virtuelles, nous ajoutons le lien symbolique nécessaire:

/bin/ln -s ubuntu.d /usr/lib/xen-tools/hardy.d

Et nous installons un backport de debootstrap. Pour ce faire, nous ajoutons les dépôts nécessaires:

/bin/echo "# Lone Wolf debootstrap backport for Debian 4.0 Etch
deb http://falcon.landure.fr etch debootstrap
deb-src http://falcon.landure.fr etch debootstrap" \
| /usr/bin/tee /etc/apt/sources.list.d/etch-landure-debootstrap.list

Nous téléchargeons ensuite la clef GPG signant ces dépots :

/usr/bin/wget http://falcon.landure.fr/falcon.landure.fr.gpg -O- | /usr/bin/apt-key add -

Nous mettons à jour la liste des paquets disponibles :

/usr/bin/apt-get update

Et nous installons debootstrap:

/usr/bin/apt-get install debootstrap

Configuration du réseau

Xen propose plusieurs méthodes de configuration du réseau, ce guide en aborde 2. Pour faire un rapide résumé:

* Mode bridge: les machines virtuelles sont des machines du réseau local de l'hôte Xen. C'est à dire qu'elles sont accessibles depuis d'autres ordinateurs que l'hôte Xen. C'est la configuration à préférer si votre ordinateur hôte (dom0) est dans un réseau local.
* Mode NAT: les machines virtuelles sont sur un réseau local virtuel. Elles ne sont accessibles que depuis l'ordinateur hôte, jusqu'à ce qu'une régle de routage NAT soit mise en place. C'est la configuration à préférer si votre ordinateur hôte (dom0) n'est pas dans un réseau local (serveur dédié, etc...).

Configuration en Mode bridge

La première étape est de désactiver la configuration réseau précédente:

/bin/sed -i -e 's/^(network-script .*).*$/# \0/' \
-e 's/^(vif-script .*).*$/# \0/' \
/etc/xen/xend-config.sxp

Et nous activons la configuration du réseau en pont (bridge):

/bin/sed -i -e 's/^#[ ]*\((network-script.*network-bridge).*\)$/\1/' \
-e 's/^#[ ]*\((vif-script.*vif-bridge).*\)$/\1/' \
/etc/xen/xend-config.sxp

Nous redémarrons le démon Xen:

/etc/init.d/xend restart

Remarque: vous pouvez vérifier que vous disposez de nouvelles interfaces réseau grâce à la commande:

/sbin/ifconfig xenbr0

Configuration en mode NAT

La première étape est de désactiver la configuration réseau précédente:

/bin/sed -i -e 's/^(network-script .*).*$/# \0/' \
-e 's/^(vif-script .*).*$/# \0/' \
/etc/xen/xend-config.sxp

Et nous activons la configuration du réseau en pont (bridge):

/bin/sed -i -e 's/^#[ ]*\((network-script.*network-nat).*\)$/\1/' \
-e 's/^#[ ]*\((vif-script.*vif-nat).*\)$/\1/' \
/etc/xen/xend-config.sxp

Nous redémarrons le démon Xen:

/etc/init.d/xend restart

Configuration de la création des machines virtuelles par Xen Tools
Utilisation d'un volume LVM pour les disques

Nous allons maintenant configurer Xen pour utiliser un group de volumes LVM. Commencez par renseigner le nom du groupe de volumes à utiliser:

LVM_VG=nom_du_volume_group

Et modifiez la configuration de Xen:

/bin/sed -i -e "s/^# \(lvm = \).*/\1$LVM_VG/" /etc/xen-tools/xen-tools.conf

Une fois ceci fait, nous configureons Xen pour se baser sur le bon kernel lors de la création de machines virtuelles:

/bin/sed -i -e "s/^\(kernel =\).*\$/\1 \/boot\/vmlinuz-$(uname -r)/" \
-e "s/^\(initrd =\).*\$/\1 \/boot\/initrd.img-$(uname -r)/" \
/etc/xen-tools/xen-tools.conf

Configuration du miroir de téléchargement des paquets

Par défaut, le miroir FTP utilisé est situé aux états unis. Il est préférable d'utiliser un miroir plus proche de chez vous:

FTP_MIRROR=http://ftp.fr.debian.org/debian/

Remarque: si votre serveur est hébergé par OVH, vous pouvez utiliser le mirroir suivant:

FTP_MIRROR=ftp://mir1.ovh.net/debian/

Appliquez la nouvelle configuration:

CLEAN_FTP_MIRROR=$(/bin/echo $FTP_MIRROR | sed -e 's/\//\\\//g')
/bin/sed -i -e "s/^\(mirror = \).*/\1$CLEAN_FTP_MIRROR/" /etc/xen-tools/xen-tools.conf

Configuration du squelette des machines virtuelles

Nous allons mettre en place quelque fichiers de configuration (bash et vim principalement) de façon à minimiser les configurations à modifier dans les machines virtuelles.

/bin/mkdir --parent /etc/xen-tools/skel/root
/bin/mkdir --parent /etc/xen-tools/skel/etc/default
/bin/cp /root/.bashrc /etc/xen-tools/skel/root/
if [ -e /root/.vimrc ]; then
/bin/cp /root/.vimrc /etc/xen-tools/skel/root/
fi
/bin/cp /etc/timezone /etc/xen-tools/skel/etc/
/bin/cp /etc/locale.gen /etc/xen-tools/skel/etc/
/bin/cp /etc/environment /etc/xen-tools/skel/etc/
/bin/cp /etc/default/locale /etc/xen-tools/skel/etc/default/

Remarque: Une partie de ceci est valide uniquement pour les machines virtuelles Debian 4.0 Etch.
Création d'une machine virtuelle Xen

Nous allons maintenant créer notre première machine virtuelle Xen. En premier lieu, nous configurons son nom d'hôte:

XEN_HOSTNAME=xen-vm1

Cas du bridge avec adresse IP fournie par DHCP

Et nous lançons la création d'une machine virtuelle avec un disque de 3 Giga octets.

* Pour Debian 4.0 Etch:

/usr/bin/xen-create-image --debootstrap --hostname $XEN_HOSTNAME \
--dhcp --passwd \
--dist=etch --swap 1G --size 3G

* Pour Ubuntu 8.04 Hardy Heron:

/usr/bin/xen-create-image --debootstrap --hostname $XEN_HOSTNAME \
--dhcp --passwd --swap 1G --size 3G \
--dist=hardy --mirror=http://archive.ubuntu.com/ubuntu/


Remarque: Ne perdez pas le mot de passe que vous saisissez, il s'agit du mot de passe root de votre machine virtuelle.
Cas de l'adresse IP fixe
En premier lieu, renseignez la configuration réseau de votre machine virtuelle:

IP_ADDRESS=10.0.0.3
GATEWAY=10.0.0.128
NETMASK=255.255.255.0

Puis créez la machine virtuelle en utilisant ces paramètres:

* Pour Debian 4.0 Etch:

/usr/bin/xen-create-image --debootstrap --hostname $XEN_HOSTNAME \
--ip $IP_ADDRESS --gateway $GATEWAY --netmask $NETMASK --passwd \
--dist=etch --swap 1G --size 3G

* Pour Ubuntu 8.04 Hardy Heron:

/usr/bin/xen-create-image --debootstrap --hostname $XEN_HOSTNAME \
--ip $IP_ADDRESS --gateway $GATEWAY --netmask $NETMASK --passwd \
--dist=hardy --mirror=http://archive.ubuntu.com/ubuntu/ --swap 1G --size 3G


Une fois ceci fait, nous y ajoutons une partition /var de 10 Giga octets:

LVM_VG=$(/bin/grep lvm /etc/xen-tools/xen-tools.conf | /bin/sed -e 's/lvm = //')
/sbin/lvcreate -n $XEN_HOSTNAME-var -L 10g $LVM_VG
/sbin/mkfs.ext3 /dev/$LVM_VG/$XEN_HOSTNAME-var

Nous modifions la configuration de la machine virtuelle pour prendre en compte cette partition:

/bin/sed -i -e "s/^\(disk[\t ]*=.*\)\]/\1, 'phy:$LVM_VG\/$XEN_HOSTNAME-var,sda3,w' ]/" /etc/xen/$XEN_HOSTNAME.cfg

Et nous modifions de même le fichier fstab de la machine virtuelle:

/bin/umount /dev/$LVM_VG/$XEN_HOSTNAME-disk
MOUNT_POINT=$(/bin/mktemp -d)
/bin/mount /dev/${LVM_VG}/${XEN_HOSTNAME}-disk ${MOUNT_POINT}
/bin/echo "/dev/sda3 /var ext3 defaults 0 1" | /usr/bin/tee -a ${MOUNT_POINT}/etc/fstab
VAR_MOUNT_POINT=$(/bin/mktemp -d)
/bin/mount /dev/${LVM_VG}/${XEN_HOSTNAME}-var ${VAR_MOUNT_POINT}
/bin/cp -a ${MOUNT_POINT}/var/* ${VAR_MOUNT_POINT}
/bin/umount ${VAR_MOUNT_POINT}
/bin/umount ${MOUNT_POINT}

Nous pouvons maintenant démarrer notre nouveau serveur virtuel (aka. domaine):

/usr/sbin/xm create /etc/xen/$XEN_HOSTNAME.cfg

Vous pouvez obtenir la liste des domaines démarré à l'aide de la commande:

/usr/sbin/xm list

Et pour accéder à la console de votre domaine récemment créé:

/usr/sbin/xm console $XEN_HOSTNAME

Attention: La console Xen se comporte comme une console série réelle. Cela pose problème avec vim.

Nous allons utiliser SSH pour nous connecter à notre nouvelle machine virtuelle:

/usr/bin/ssh root@$XEN_HOSTNAME

Une fois connecté, nous installons le paquet des locales afin de disposer de la francisation:

/usr/bin/apt-get install locales vim screen

Romeo
Admin

Messages : 82
Date d'inscription : 28/07/2008
Age : 52
Localisation : Quebec

https://shellnode.forumactif.org

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser