====== XEN ====== ===== Sous Redhat 5 ===== ==== Installation ==== Installer les packages suivants: kernel-xen-2.6.18-8.el5.i686.rpm xen-libs-3.0.3-25.el5.i386.rpm bridge-utils-1.1-2.i386.rpm libvirt-0.1.8-15.el5.i386.rpm libvirt-python-0.1.8-15.el5.i386.rpm python-virtinst-0.99.0-2.el5.noarch.rpm SDL-1.2.10-8.el5.i386 xen-3.0.3-25.el5.i386.rpm Redémarrer le serveur pour charger le système sous le noyau prévu pour XEN ==== Création d'un nouveau serveur virtuel ==== === Création des FS === Plusieurs méthodes sont possibles * Créer une partition classique * Créer des fichiers "disques" Il faut créer 2 FS, un pour le system et l'autre pour la swap de notre futur serveur virtuel == Méthode partition classique == lvcreate -n serveur1-rootfs -L4G rootvg lvcreate -n serveur1-swapfs -L512M rootvg Voir [[LVM]] == Méthode fichier disque == dd if=/dev/zero of=/products/xen-data/serveur1/serveur1.disk bs=1k count=2048k dd if=/dev/zero of=/products/xen-data/serveur1/serveur1.swap bs=1k count=256k mkfs.ext3 /products/xen-data/serveur1/serveur1.disk mkswap /products/xen-data/serveur1/serveur1.swap === On récupère toute l'arborescence d'une machine déjà existante que l'on utilisera pour créer l'arborescence de notre serveur virtuel === cd / tar -cz --exclude=./products --exclude=./sys --exclude=./proc/ /products/serveur1.tgz . > /products/serveur1.tgz === On monte notre FS dans /mnt pour restaurer l'arborescence === mount /dev/rootvg/serveur1-rootfs /mnt/ cd /mnt/ tar --numeric-owner -xzf /products/serveur1.tgz === On va faire quelques modifications dans l'arborescence de notre futur serveur virtuel === Création des fichiers spéciaux pour nos deux partitions chroot /mnt/ MAKEDEV hda MAKEDEV hda1 MAKEDEV hda2 exit Modification de /mnt/etc/fstab devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 /dev/hda1 / ext3 defaults 1 1 /dev/hda2 swap swap defaults 0 0 Changer l'adresse IP et le nom du serveur vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0 /mnt/etc/sysconfig/network :!: Notre disque virtuel est prêt, il ne reste plus qu'à configurer Xen === Configuration de Xen === Copier le fichier modèle ainsi cp /etc/xen/xmexample1 /etc/xen/auto/serveur1 Editer le fichier /etc/xen/auto/serveur1 et configuer ainsi: kernel = "/boot/vmlinuz-2.6.10-xenU" name = "serveur1" memory = 256 disk = [ 'phy:/dev/rootvg/serveur1-rootfs,hda1,w', 'phy:/dev/rootvg/serveur1-swapfs,hda2,w' ] Avec la méthode fichier "disque" disk = [ 'file:/products/xen-data/serveur2/serveur2.disk,hda1,w', 'file:/products/xen-data/serveur2/serveur2.swap,hda2,w' ] :!: Il faut obtenir une image vmlinuz-2.6.10-**xenU** et la déposer dans /boot de la machine hôte ** Il n'y a plus qu'à démarrer ! :** xm create -c /etc/xen/auto/serveur1 ===== Quelques commandes ===== ==== Commande XM ==== Démarrer un serveur: xm create -c /etc/xen/auto/serveur1 Se connecter à la console d'un serveur: xm console serveur1 :!: //Crtl + $// pour se détacher de la console Arrêter un serveur ( = Crtl+Alt+Supp sur une vraie machine): xm shutdown serveur1 Arrêt d'un serveur brutalement ( = Arrêt physique sur une vraie machine ) xm detroy serveur1 Lister les serveurs actifs: xm list ==== Commande réseau ==== Création du bridge //xenbr1// brctl addbr xenbr1 Ajout de l'interface //eth1// dans le bridge //xenbr1// brctl addif xenbr1 eth1 Voir la configuration des bridges: brctl show