Outils pour utilisateurs

Outils du site


virtualisation_sur_centos_5.6

Introduction

Ce qui est présenté ici est un ensemble de notes sur la mise en place de la virtualisation avec XEN sous Centos 5.7 et non un tutorial validé.

Depuis la version 5.4 de Centos, il est possible en plus de XEN de virtualiser avec KVM. Il importe toutefois d'activer le jeux VT du processeur si celui-ci le permet. Ce réglage se fait en général dans le bios. La commande suivante doit retourner des lignes si la VT est supportée par le processeur.

egrep '(svm|vmx)' /proc/cpuinfo
  • vmx pour processeur Intel
  • svm pour processeur amd

Installation de la virtualisation

Faire une installation basique de Centos dans un premier temps.Exemple ici

Procéder à la mise à jour des package et installer le groupe Virtualisation

yum -y update
yum -y install kernel-xen xen

Ceci va mettre en place un nouveau noyau Linux dit xénifié. Il faut modifier la séquence de boot pour utiliser ce noyau en editant le fichier /boot/grub/menu.lst et en mettant le niveau 0 sur l'option default.

...
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-274.12.1.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-274.12.1.el5
        dom0_mem=256M
        module /vmlinuz-2.6.18-274.12.1.el5xen ro root=LABEL=/
        module /initrd-2.6.18-274.12.1.el5xen.img
        ...

La ligne dom0_mem=256M permet de donner au minimum 256Mo de RAM au Dom0.

Relancer la machine et verifier l'utilisation du noyau Xen

uname -r
=> 2.6.18-274.12.1.el5xen

Mise en place des sources d'installation

Pour installer une VM paravirtualisée, les sources d'installation, l'image ISO de la distribution, doit être accèssible par le réseau ( http, nfs…) . l'exemple ici présente l'installation avec un serveur web local sur l'IP 192.168.1.100.

Installer le serveur web

yum install httpd
service httpd start
chkconfig httpd on

Créer une image iso depuis le DVD d'installation

dd if=/dev/cdrom of=/home/centos57.iso

Sur ce serveur, monter l'image iso de la distribution

mkdir -p /u01
mount -o loop -t iso9660 /home/centos57.iso /u01
ln -s /u01 /var/www/html/centos

Important, désactiver selinux en edittant le fichier /etc/selinux/config et en passant la ligne SELINUX à disabled, puis activer la configuration

setenforce 0

En pointant un navigateur sur http://192.168.1.100/centos, la liste des fichiers de la distribution doit s'afficher.

Création des VM

Commandes de base

La méthode n'utilise aucun outils graphiques ou scripts virt-install.

Création d'un file-system pour héberger les VM

mkfs -t ext3 /dev/sda11
mkdir /u01
mount -t ext3 /dev/sda11 /u01

Création de l'image VM

dd if=/dev/zero of=/u01/adi101.img oflag=direct bs=1M count=8192

Installer wget

yum install wget

Charger les images d'installation noyau sous /boot

cd /boot
wget http://192.168.1.100/centos/images/xen/initrd.img
wget http://192.168.1.100/centos/images/xen/vmlinuz

Editer le fichier de configuration de la VM sous /etc/xen, exemple : /etc/xen/adi101.cfg

kernel = "/boot/vmlinuz"
ramdisk = "/boot/initrd.img"
extra = "text ks=http://192.168.1.100/standard-ks.cfg"
name = "adi101"
memory = "512"
disk = [ 'tap:aio:/u01/adi101.img,xvda,w', ]
vif = [ 'bridge=virbr0', ]
vcpus=1
on_reboot = 'destroy'
on_crash = 'destroy'

Créer le fichier /var/www/html/standard-ks.cfg

install
url --url http://192.168.1.100/centos
lang fr_FR.UTF-8
keyboard fr-latin9
rootpw azerty
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone --utc Europe/Paris
bootloader --location=mbr --driveorder=xvda
reboot
clearpart --all --initlabel --drives=xvda
part /boot --fstype ext2 --size=100 --asprimary
part / --fstype ext3 --size=500 --asprimary
part swap --size=1024 --asprimary
part /usr --fstype ext3 --size=2000
part /var --fstype ext3 --size=1000
part /tmp --fstype ext3 --size=500
part /home --fstype ext3 --size=1 --grow

%packages  --excludedocs --nobase
@core

La ligne : part /home –fstype ext3 –size=1 –grow, indique de prendre pour /home la capacité restante totale du disque. Lancer la création de la VM

xm create /etc/xen/adi101.cfg -c

Une fois la VM installée, modifier /etc/xen/adi101.cfg ainsi :

name = "adi101"
memory = "512"
disk = [ 'tap:aio:/u01/adi101.img,xvda,w', ]
vif = [ 'bridge=virbr0', ]
vcpus=1
bootloader="/usr/bin/pygrub"
on_reboot = 'restart'
on_crash = 'restart'

Relancer la VM

xm create /etc/xen/adi101.cfg -c

Utilitaire virt-install

Les éléments comme les sources d'installation ou le fichier kickstart sont identiques. L'intérêt de virt-install est que la création d'une VM tient en une ligne.

virt-install --name adi101 -p -r 512 --disk path=/u01/adi101.img,size=8 --location http://192.168.1.100/centos -x "ks=http://192.168.1.100/standard-ks.cfg"
  • La VM se nomme adi101
  • Elle utilise la paravirtualisation ( option -p )
  • Possède 512Mo de RAM ( opion -r )
  • Le disque fait 8Go

Pour créer plusieurs VM, modifier le fichier standard-ks.cfg ( la ligne network en adaptant les valeurs ) et relancer la commande virt-install .

Exemple de création de adi102.concarnux.fr

Fichier standard-ks.cfg

...
network --device eth0 --bootproto static --ip 192.168.1.102 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname adi102.concarnux.fr
...

Commande virt-install

virt-install --name adi102 -p -r 512 --disk path=/u01/adi102.img,size=8 --location http://192.168.1.100/centos -x "ks=http://192.168.1.100/standard-ks.cfg"

Démarrage au boot des VM

Il suffit de déplacer les fichier de configuration des VM de /etc/xen, vers /etc/xen/auto.

Clonage de VM

La commande virt-clone permet cette action, attention toutefois il faudra modifier manuellement certains fichiers :

  • /etc/sysconfig/network, en corrigeant HOSTNAME
  • /etc/sysconfig/network-scripts/ifcfg-eth0, pour passer en IP statique
  • /etc/hosts…

La VM devant être clonée ne doit pas être en fonction, il est possible de la mettre en pause

xm pause adi101
virt-clone -o adi101 -n adi103 -f /u01/adi103.img
xm unpause adi101
  • L'option -o donne la VM d'origine
  • L'option -n le nom de la VM future
  • L'option -f l'emplacement du disque de la VM future
virtualisation_sur_centos_5.6.txt · Dernière modification: 2012/01/07 08:34 par admin