Paravirtualisation slis 3.2
Transcription
Paravirtualisation slis 3.2
Paravirtualisation slis 3.2 Préconisations Académiques Nantes PROCEDURE TESTEE SUR : • • DELL R200 HP Proliant DL160 G5 Cellule Technique des Réseaux d'Établissements DSI-D2 Rectorat de Nantes Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 Contacts Nom M. Boisrobert Laurent M. Fuhs Stéphane M. Faisant Patrick M. Ferandin Marc Société CRID44 Fonction Responsable Téléphone/fax CRID44 CTRE Instituteur TRF Adresse électronique [email protected] [email protected] [email protected] [email protected] Type de document Nom Préconisations Académiques Confidentialité Académique Périmètre de diffusion CRID, Collectivités Révision du document Version 1 2 2.1 Date de modification 04/12/08 15/12/08 Auteur Marc Ferandin Marc Ferandin Marc Ferandin Description Documentation initiale Passage sous lenny Noyau 2.6.26-1 pour dom0 et 2.6.18 pour domU Validation du document Rédaction par : Vérification par : Validation par : Approbation par : Nom Marc Ferandin Fonction TRF Date 15/12/08 Nicolas Mory Responsable cellule 15/12/08 AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 2 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 Table des matières 1 2 3 1 Présentation.................................................................................................................................................................4 1.1 Schéma technique Existant......................................................................................................................................4 1.2 Schéma technique cible...........................................................................................................................................5 2 Procédures...................................................................................................................................................................6 2.1 Installer une debian etchnhalf..................................................................................................................................6 2.1.1 Qu'est ce que la etchnhalf ?............................................................................................................................6 2.1.2 Téléchargement et gravure............................................................................................................................6 2.2 Installation du système de base..............................................................................................................................6 2.3 Installation de xen 2.6.18-6......................................................................................................................................6 2.4 Migrer vers "lenny"...................................................................................................................................................7 2.4.1 Modification du fichier "/etc/apt/sources.list"..................................................................................................7 2.4.2 Lancer la migration..........................................................................................................................................7 2.5 Installation du système xen.....................................................................................................................................8 2.6 Paramétrage du serveur xen....................................................................................................................................9 2.6.1 Structure temporaire du réseau......................................................................................................................9 2.6.2 Modification du fichier /etc/network/interface...............................................................................................10 2.6.3 Modification du fichier/etc/xen/xend-config.sxp............................................................................................10 2.6.4 Création du script "two-network-bridge".......................................................................................................11 2.6.5 Vérifier que le bridge est bien créé...............................................................................................................11 2.7 Préparer le FS a recevoir slis .................................................................................................................................11 2.8 Récupération du slis sur la machine xen...............................................................................................................12 2.9 Paravirtualisation du slis 3.2..................................................................................................................................12 2.9.1 Création du fichier de configuration du slis virtuel.......................................................................................12 2.9.2 Modification des fichier de configuration du slis...........................................................................................12 2.10 Mise en route du slis virtuel.................................................................................................................................14 3 Annexes.....................................................................................................................................................................15 3.1 Optimisation...........................................................................................................................................................15 3.2 Mesure de précaution.............................................................................................................................................15 AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 3 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 1 PRÉSENTATION 1.1 Schéma technique Existant AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 4 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 1.2 Schéma technique cible AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 5 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2 PROCÉDURES 2.1 Installer une debian etchnhalf 2.1.1 Qu'est ce que la etchnhalf ? La version etch-et-demi correspond essentiellement à la dernière version d'etch mais avec un noyau plus récent (le 2.6.24). La raison principale de cette version est de permettre l'installation d'etch sur des systèmes non-gérés par le noyau standard d'etch (le 2.6.18). 2.1.2 Téléchargement et gravure Télécharger l'image iso de la debian http://cdimage.debian.org/debian-cd/4.0_r5/i386/isocd/debian-40r4a-etchnhalf-i386-netinst.iso Graver cette image. 2.2 Installation du système de base Mettre le CD gravé dans le lecteur et démarrer dessus; Vous pouvez suivre le diaporama "installation debian etchnhalf" disponible sur ETNA 2.3 Installation de xen 2.6.18-6 Se connecter root sur le serveur, puis lancer l'installation : – apt-get install linux-image-2.6.18-6-xen-686 xen-linux-system-2.6.18-6xen-686 libc6-xen file bridge-utils xen-hypervisor-3.0.3-1-i386 xen-ioemu3.0.3-1 ATTENTION : ne pas redémarrer le serveur à ce moment là, en effet si vous le faite, le serveur redémarrera sur noyau 2.6.18.6-xen et les carte réseaux ne seront plus reconnues. Il convient donc de continuer la procédure. PS : ce noyau ( 2.6.18.6) est installé car c'est celui que l'on va "donner" au slis virtuel. AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 6 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.4 Migrer vers "lenny" 2.4.1 Modification du fichier "/etc/apt/sources.list" Pour cela, il suffit d'editer le fichier "/etc/apt/sources.list" et remplacer "etch" par "lenny". Donc en root: vi /etc/apt/sources.list il doit ressembler à ceci : " # deb cdrom:[Debian GNU/Linux 4.0 r4a-lennynhalf _Etch-and-a-half_ - Official i386 NETINST 20080804-22:00]/ lenny main # deb cdrom:[Debian GNU/Linux 4.0 r4a-lennynhalf _Etch-and-a-half_ - Official i386 NETINST 20080804-22:00]/ lenny main 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 " Pour cela, 2 solutions : – vous les remplacer un par un ; – vous tapez : ":1,$s/etch/lenny/g". ( sans les guillemets) Notez aussi que j'ai commenté les lignes concernant le cd-rom comme source. Ainsi, tous les paquets seront téléchargés depuis l'internet et surtout, on ne me demandera plus d'insérer le cd pour prendre le paquet. 2.4.2 Lancer la migration Rien de plus simple : – apt-get update – apt-get dist-upgrade Et on va boire un café. PS : après avoir téléchargé les paquets, le système va passer à leur installation. Lors de celle-ci il va vous poser plusieurs questions. Il suffit de répondre "ok" à chacune d'elles. AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 7 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.5 Installation du système xen Maintenant que le système de base est installé, il convient d'installer le paravirtualiseur xen. – Se connecter root sur le serveur nouvellement installé et à jour; – lancer la commande suivante : – – apt-get install rsync vim openssh-server resolvconf linux-image-2.6.26-1xen-686 xen-linux-system-2.6.26-1-xen-686 libc6-xen file bridge-utils xenhypervisor-3.2-1-i386 pciutils gpm Redémarrer le serveur : reboot Votre serveur doit normalement redémarrer sur le noyau xen, ce que vous pouvez vérifier en tapant la commande : uname -r , qui doit vous retourner : 2.6.26-1-xen-686 On est obligé de passer en lenny pour installer cette version du noyau xen qui va permettre de reconnaître les cartes reseau. Par contre, ce noyau (2.6.26-1-xen) n'est pas compatible avec la version d'iptables installé sur le slis 3.2. C'est pourquoi le noyau 2.6.18-6-xen a été installé, car lui est compatible avec slis comme expliqué plus haut. AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 8 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.6 Paramétrage du serveur xen 2.6.1 Structure temporaire du réseau La situation est normalement celle décrite dans le schéma ci-dessous. A savoir, un serveur xen fraichement installé, et le slis utilisé par l'établissement. Chacun ayant, une patte dans le vlan interco et une patte dans le vlan proxy. AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 9 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.6.2 Modification du fichier /etc/network/interface Il s'agit de mettre une patte du serveur xen dans le vlan interco et une autre dans le vlan proxy. Pour ce faire : vi /etc/network/interface : Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #adresse IP VLAN INTERCO auto eth0 iface eth0 inet static address 10.144.254.4 netmask 255.255.255.128 gateway 10.144.254.2 #adresse IP VLAN PROXY auto eth1 iface eth1 inet static address 172.17.254.200 netmask 255.255.0.0 ATTENTION, on laisse les "auto eth0" et "auto eth1", mais on enlève les allow hotplug Relancer le service réseau : /etc/init.d/networking restart 2.6.3 Modification du fichier/etc/xen/xend-config.sxp Il faut maintenant configurer xen lui-même. Le fichier de configuration de xen est /etc/xen/xend-config.sxp. Ligne 71 (network-script two-network-bridge) #monte un bridge sur les deux cartes réseaux Ligne 102 (vif-script vif-bridge) #liaison des interfaces virtuelles sur les bridges Ligne 120 (dom0-min-mem 196) #réserve de mémoire pour le dom0 Ligne 124 (dom0-cpus 0) #réserve du premier cpu pour le dom0 Vous remarquerez que pour bridger 2 cartes il faut un script " two-network-bridge". AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 10 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.6.4 Création du script "two-network-bridge" Ce script doit se trouver dans /etc/xen/scripts. Il doit contenir : #!/bin/sh dir=$(dirname "$0") "$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=eth0 "$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=eth1 et avoir les droits d'exécution : chmod 755 /etc/xen/scripts/two-network-bridge Une fois ces modifications effectuées, il faut redémarrer xen : /etc/init.d/xend restart 2.6.5 Vérifier que le bridge est bien créé Il suffit de taper la commande : brctl show, qui doit retourner : bridge name eth0 eth1 bridge id 8000.00219bfb618f 8000.00219bfb6190 STP enabled no no interfaces peth0 peth1 Les bridges sont donc nommés : eth0 et eth1. Si ce n'est pas le cas: – vérifier le script "two-network-script". – Si vous avez fais plusieurs essais, faire un reboot de serveur et retenter le : brctl show – si vous n'avez toujours pas ce résultat, tester la commande : – /etc/xen/scripts/network-bridge start vifnum=1 netdev=eth1 bridge=eth1 Si suite à cette commande, la commande brtcl show, renvoit un résultat correct, c'est que votre script "two-network-bridge" est incorrect. 2.7 Préparer le FS a recevoir slis A l'installation il a été créé une partition destinée à recevoir le slis. Dans notre cas : /dev/sda3. Il convient donc d'initialiser le système de fichier : mkfs.ext3 /dev/sda3 Il faut créer un répertoire dans lequel ce système sera monté : mkdir /mnt/slis Puis monter ce système de fichier : mount -t ext3 /dev/sda3 /mnt/slis On peut vérifier que ce système de fichier est bien monté en faisant un df par exemple. AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 11 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.8 Récupération du slis sur la machine xen Il faut se connecter root sur le slis et se mettre à la racine. Puis lancer la commande : rsync -av / [email protected]:/mnt/slis --exclude "/proc/*" --exclude "/sys/*" --exclude "/dev/*" 2.9 Paravirtualisation du slis 3.2 2.9.1 Création du fichier de configuration du slis virtuel Il faut créer un fichier de configuration pour la machine virtuelle. Ce fichier sera placé dans le répertoire /etc/xen/auto ( pour que la machine virtuelle redémarre automatiquement en cas de reboot du serveur xen) : Créer le sous-repertoire "auto" : mkdir /etc/xen/auto Editer le fichier de configuration vi /etc/xen/auto/slis.conf Il doit ressembler à ceci : kernel = "/boot/vmlinuz-2.6.18-6-xen-686" ramdisk = "/boot/initrd.img-2.6.18-6-xen-686" memory = 256 vcpus = 1 name = "slis" vif = [ 'mac=00:16:3e:47:FE:03, bridge=eth0','mac=00:16:3e:47:FE:04, bridge=eth1' ] disk = [ 'phy:/dev/sda3,sda1,w' ] root = "/dev/sda1 rw" extra = "3 fastboot 2.9.2 Modification des fichier de configuration du slis Se connecter root sur le serveur xen. Le but de la manœuvre consiste à "donner" au slis le noyau du serveur xen. Pour que cela se passe bien le noyau doit retrouver ses modules. Il faut donc copier les modules du serveur xen dans le système de fichier du slis : cp -pR /lib/modules/2.6.18-6-xen-686/ /mnt/slis/lib/modules/ IL faut également désactiver la librairie TLS qui est incompatible avec Xen : mv /mnt/slis/lib/tls /mnt/slis/tls.disabled AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 12 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 Comme nous n'avons qu'une seule partition, il n'y a plus de swap sur le slis. Il faut donc lui créer un fichier de swap. dd if=/dev/zero of=/mnt/slis/var/swapfile bs=1M count=256 et initialiser ce fichier comme étant de la swap : mkswap /mnt/slis/var/swapfile Il reste à modifier le fichier /mnt/slis/etc/fstab. En effet, sur un "vrai" slis, il y a plusieurs partition, ici, nous n'en avons qu'une seule. Ce fichier doit ressembler à ceci : # This file is edited by fstab-sync - see 'man fstab-sync' for details /dev/sda1 / ext3 defaults 0 0 proc /proc proc defaults 0 0 /var/swapfile swap swap defaults 0 0 PS: vous pouvez faire une copie de ce fichier avant de le modifier : cp /mnt/slis/etc/fstab /mnt/slis/etc/fstab.orig AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 13 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 2.10 Mise en route du slis virtuel Attention avant de lancer la machine, il ne faut pas que le système de fichier contenant le slis soit monté. Donc : umount /mnt/slis. Puis on lance la machine virtuelle : xm create /etc/xen/auto/slis.cfg A ce moment vous allez voir le slis démarrer, kudzu va alors vous signaler que le materiel a changé. Vous devez alors faire " remove configuration " pour tout ce qui concerne les ports usb, et "keep configuration" pour le reste ( cartes réseaux et clavier). Pour accéder à ce slis, 2 possibilités : – ssh 172.17.254.252; – xm console slis. On peut aussi lancer la machine virtuelle et y accéder directement en mode console : – xm create -c /etc/xen/auto/slis.cfg pour ressortir du mode console, il y a 2 "échappements" : : – "ctrl" + "alt gr" + "]"; – "ctrl" + "$" ( si vous êtes en ssh avec putty). Une fois le slis démarré, il se peut qu'il ne voit pas ses cartes réseaux, pour résoudre le soucis – se connecter root sur le slis; – lancer un : modifconf -eci; Commandes xen utiles : • xm list : renvoit la liste des machines virtuelles; • xm shutdown "nom_machine_virtuelle" : éteins proprement; • xm destroy "nom_machine_virtuelle" : "tue"la machine virtuelle ( c'est pas propre, revient a couper l'électricité..." AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 14 / 15 Rédacteur : Marc Ferandin Projet : Paravirtualisation slis 3.2 Date de Mise à Jour : 17/12/2008 Version : 2.1 3 ANNEXES 3.1 Optimisation Il est possible de créer des partitions séparées pour /var et /www-cache. En créant des partitions supplémentaires sur le serveur xen et en lançant les rsync adaptés. Juste penser à modifier le fichier de configuration du slis virtualisé et fichier /etc/fstab du slis en conséquence. 3.2 Mesure de précaution Comme le slis "natif" n'existera plus, si le slis virtuel est détruit, vous ne pourrez pas le reconstruire …. Donc avant la mise en production et après avoir vérifié que le slis virtuel fonctionnait bien, vous pouvez créer un archive de la machine virtuelle ( à conserver en lieu sur). Pour cela: • • Arrêter la machine virtuelle : • xm shutdown slis ( peut prendre du temps, sis le slis est en mise a jour d black list) • vérifier son arrêt effectif : xm list monter le système de fichier contenant le slis : • • créer l'archive : • • mount -t ext3 /dev/sda3 /mnt/slis tar cvzf /home/slis.tar.gz /mnt/slis En cas de plantage complet de la machine vous pourrez ainsi restaurer le slis en redécompressant cette archive ( tar xvzf /home/slis/slis.tar.gz -C /mnt/slis ). Si vous voulez détruire votre machine virtuelle, il convient de l'arrêter : xm shutdown slis Puis de formater la partition contenant la machine virtuelle ( /dev/sda3 dans notre cas ): mkfs.ext3 /dev/sda3 AC Nantes\DSI\D2\CTRE : Préconisations Académiques Page : 15 / 15