MEMO Xensource v4.0.1 Rédacteur Vérificateur Bon pour application Noms : Alyseo AC Créteil AC Créteil Signatures : Référence : ALYSEO-AC CRETEIL-MEMO-001 Version : 02 en date du : 14/02/08 Statut : A Valider
EVOLUTIONS SUCCESSIVES Version Date Objet de l'évolution Rédacteur(s) 01 06/02/2008 Création FB 02 14/02/2008 Corrections et modifications YK & FB Page : 2 / 16
SOMMAIRE 1 INTRODUCTION... 5 1.1 OBJET DU DOCUMENT... 5 1.2 RESPONSABILITES LIEES AU DOCUMENT... 5 1.3 DOCUMENTS CONNEXES... 5 1.3.1 Documents applicables... 5 1.3.2 Documents de référence... 5 2 TERMINOLOGIE... 6 2.1 TERMES SPECIFIQUES EMPLOYES ET DEFINITIONS... 6 2.2 ABREVIATIONS... 7 3 ONDULEURS... 8 3.1 OBJECTIFS... 8 3.2 EXPRESSION DE BESOIN SIMPLIFIEE... 8 3.3 SOLUTION TECHNOLOGIQUE... 8 3.4 LIMITES ET CONTRAINTES... 8 3.5 INSTALLATION... 9 3.5.1 Mode USB... 9 3.5.2 Mode RS232... 10 4 SAUVEGARDE SUR DISQUE USB... 12 4.1 EXPORT/IMPORT DEPUIS LE HOTE XENSOURCE... 12 4.2 SAUVEGARDE BACULA SOUS SCRIBE... 13 5 DEPLOIEMENT AUTOMATIQUE DES PATCHES... 15 6 PRISE EN MAIN A DISTANCE... 16 Page : 3 / 16
INDEX DES TABLES ET FIGURES Tableau 1 : Liste des documents de référence... 5 Tableau 2 : Liste des abréviations... 7 Tableau 3 : Matrice de flux... 16 Figure 1 : Scribe (configuration Bacula)... 14 Page : 4 / 16
1 INTRODUCTION 1.1 OBJET DU DOCUMENT Ce mémo a pour objet de présenter le résultat des travaux relatifs au bon de commande client (AC Créteil) sur la plate-forme de virtualisation Xensource Express version 4.0.1 1.2 RESPONSABILITES LIEES AU DOCUMENT La société ALYSEO est responsable de la rédaction du mémo, l entité cliente est responsable de sa validation. 1.3 DOCUMENTS CONNEXES 1.3.1 Documents applicables N/A 1.3.2 Documents de référence Les documents de références sont ceux qui servent de base à l établissement et à la compréhension du présent document. N Version Réf. document Titre 01 Mail du 09/01/2008 Proposition commerciale Tableau 1 : Liste des documents de référence Page : 5 / 16
2 TERMINOLOGIE 2.1 TERMES SPECIFIQUES EMPLOYES ET DEFINITIONS N/A Page : 6 / 16
2.2 ABREVIATIONS Abrév. Signification Tableau 2 : Liste des abréviations Page : 7 / 16
3 ONDULEURS 3.1 OBJECTIFS Le but de cette tâche est de valider la configuration et le bon fonctionnement d un onduleur APC Smart-UPS 750 sur un hôte Xensource (dom0) version 4.0.1 La connectique utilisée entre l onduleur et l hôte Xensource devra être de type USB et/ou RS232 (port série). 3.2 EXPRESSION DE BESOIN SIMPLIFIEE Pouvoir piloter l arrêt automatique de l hôte Xensource en cas de panne de courant prolongée (décharge des batteries de l onduleur). Le paramétrage et la validation de l outil Open Source NUT (http://www.networkupstools.org/) est fortement souhaité afin de ne pas être dépendant d un constructeur. 3.3 SOLUTION TECHNOLOGIQUE Pour répondre au besoin exprimé, nous avons compilé la dernière version de l outil NUT (2.2.1) et avons créé un package rpm compatible avec Xensource 4.0.1 Ce package préconfiguré facilitera grandement les déploiements et ne nécessitera pas de modifications majeures sur le hôte Xensource. 3.4 LIMITES ET CONTRAINTES Nous conseillons fortement l utilisation du port USB et non du port série pour connecter l onduleur à l hôte Xensource. En effet l usage du port série nécessite la modification de fichiers de configuration sur le hôte Xensource. Ce package fonctionne sur la version Xensource 4.0.1, un upgrade du système nécessitera très certainement la création d un nouveau package (changement de libc ). Page : 8 / 16
3.5 INSTALLATION Ci-dessous les étapes nécessaires à l installation et au bon fonctionnement du package NUT avec l onduleur fourni pour les besoins de la mission. 3.5.1 Mode USB Vous devez au préalable vous connecter sur l hôte Xensource (ssh ou via la console) sous l utilisateur root. 1. Récupérer le package : cd /tmp mkdir Nut cd Nut wget ftp://ftp.alyseo.com/pub/partners/xensource/v4.0.1/nut/nut-2.2-1.i386.rpm* ou wget http://download.alyseo.com:81/pub/partners/xensource/v4.0.1/nut/nut-2.2-1.i386.rpm* 2. Vérifier si le fichier n est pas corrompu : md5sum nut-2.2-1.i386.rpm cat nut-2.2-1.i386.rpm.md5 Et comparer le résultat. 3. En cas de succès, installer le package : rpm ivh nut-2.2-1.i386.rpm 4. Lancer le service : /etc/init.d/ups start 5. Tester : /usr/local/ups/bin/upsc xenhost@localhost ups.status Vous devez obtenir : OL /usr/local/ups/bin/upsc xenhost@localhost Vous devez obtenir : battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 50 battery.mfr.date: 2006/12/13 battery.runtime: 3180 battery.runtime.low: 120 battery.temperature: 35 battery.type: PbAc battery.voltage: 27.3 Page : 9 / 16
battery.voltage.nominal: 24.0 driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.version: 2.2.1- driver.version.data: APC HID 0.92 driver.version.internal: 0.32 input.voltage: 228.9 output.voltage: 228.9 output.voltage.nominal: 230.0 ups.beeper.status: enabled ups.delay.shutdown: -1 ups.firmware: 651.13.I ups.firmware.aux: 7.3 ups.load: 18.2 ups.mfr: American Power Conversion ups.mfr.date: 2006/12/13 ups.model: Smart-UPS 750 ups.productid: 0002 ups.serial: AS0651140990 ups.status: OL ups.test.result: No test initiated ups.vendorid: 051d Enfin vous pouvez valider le fonctionnement lors d une coupure de courant et vérifier que l hôte Xensource effectue un arrêt complet et «propre» de toutes les machines virtuelles supportées avant de s auto éteindre. 3.5.2 Mode RS232 Pour un onduleur sur port série (non recommandé) vous devez modifier les fichiers suivants afin de pouvoir utiliser le port RS232 : 1. # diff /etc/inittab /etc/inittab.org 44,45c44 < # Hacked by Alyseo < #s0:2345:respawn:/sbin/agetty ttys0 115200,9600 linux --- > s0:2345:respawn:/sbin/agetty ttys0 115200,9600 linux # diff /boot/grub/menu.lst /boot/grub/menu.lst.org 5d4 < # Hacked by Alyseo 9c8 < module /boot/vmlinuz-2.6-xen root=label=root-pgneypxy ro console=tty0 xencons=off --- > module /boot/vmlinuz-2.6-xen root=label=root-pgneypxy ro console=tty0 2. Faire un reboot du hôte Xensource et IMPORTANT : vous devez absolument ajouter les deux commandes ci-dessous dans le fichier /etc/init.d/ups : chmod 0660 /dev/ttys0 chown root:nut /dev/ttys0 3. Modifier le fichier /usr/local/ups/etc/ups.conf : # APC Smart-UPS 750 Added by Alyseo Page : 10 / 16
user = nut [xenhost] # RS232 driver = apcsmart port = /dev/ttys0 # USB # driver = usbhid-ups # port = auto desc = "Xensource host UPS" 4. Connecter l'onduleur sur le port série 0 (ttys0) et : /etc/init.d/ups start 5. Mêmes tests et vérifications que pour le mode USB. Page : 11 / 16
4 SAUVEGARDE SUR DISQUE USB Vous devez impérativement brancher le disque externe USB lors du boot du serveur Xensource et le laisser allumer constamment (vous ne pouvez pas éteindre le disque externe alors que l hôte Xensource fonctionne). Créer deux partitions sur le disque USB externe : fdisk /dev/sdb Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 12159 97667136 83 Linux /dev/sdb2 12160 19457 58621185 83 Linux La partition sdb1 sera utilisée pour les exports/import de VM à partir du hôte Xensource et la partition sdb2 pour les backups Bacula sous Scribe. 4.1 EXPORT/IMPORT DEPUIS LE HOTE XENSOURCE 1. Export/Import mkdir /mnt/diskusbsdb1/ mkfs.ext3 -j -m 0 /dev/sdb1 mount -t ext3 /dev/sdb1 /mnt/diskusbsdb1/ df -h /mnt/diskusbsdb1/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 92G 1.1G 91G 2% /mnt/diskusbsdb1 umount /mnt/diskusbsdb1/ 2. Export d'une VM : mount -t ext3 /dev/sdb1 /mnt/diskusbsdb1/ xe vm-shutdown vm=debian\ Etch\ 4.0 xe vm-export filename=/mnt/diskusbsdb1/debian-export vm=debian\ Etch\ 4.0 umount /mnt/diskusbsdb1/ 3. Importer un précédent export : mount -t ext3 /dev/sdb1 /mnt/diskusbsdb1/ cd /mnt/diskusbsdb1/ xe vm-import filename=debian-export umount /mnt/diskusbsdb1/ 4. Faire un script en crontab pour automatiser les exports. Page : 12 / 16
4.2 SAUVEGARDE BACULA SOUS SCRIBE 1. Rendre la partition sdb2 visible sous Xen : xe sr-create content-type="lvm" name-label="usb partition 2" type=lvm host-uuid=a476f0f2-4edb-4dd0-850f-a5b1079afff3 device-config-device=/dev/sdb2 2. Vérification : xe pbd-list uuid ( RO) : 74bf00d5-06c0-f495-dd8e-06190d4ac586 host ( RO): a476f0f2-4edb-4dd0-850f-a5b1079afff3 sr-uuid ( RO): e0b75e8f-4726-a5c6-be4a-a275dd544d7c device-config (MRO): location: /opt/xensource/packages/iso; legacy_mode: true currently-attached ( RO): true uuid ( RO) : 82c6c766-2f38-98c6-d346-ab8d7585cf44 host ( RO): a476f0f2-4edb-4dd0-850f-a5b1079afff3 sr-uuid ( RO): 96204401-7d46-eed5-0927-fe9a239d0152 device-config (MRO): device: /dev/sdb2 currently-attached ( RO): true uuid ( RO) : 39e691ec-e726-52d3-4165-1949a7ed2a66 host ( RO): a476f0f2-4edb-4dd0-850f-a5b1079afff3 sr-uuid ( RO): f324e08a-8417-76c6-4c49-eeb01a5f7b36 device-config (MRO): device: /dev/sda3 currently-attached ( RO): true uuid ( RO) : de0e2da3-258c-b15b-95cc-1f2a07d10b36 host ( RO): a476f0f2-4edb-4dd0-850f-a5b1079afff3 sr-uuid ( RO): 8f00a688-9316-fd47-d702-f98ae3821f88 device-config (MRO): location: /dev currently-attached ( RO): true Egalement visible sur l interface graphique xencenter : Onglet storage sur le host xen (xenserver). 3. Utiliser sous scribe : Pour vérifier l espace disponible sur la partition 2 sur le host xen : xencenter, «USB partition 2» onglet storage Ajouter via xencenter un nouveau disque (storage = «USB partition 2») pour le rendre visible et utilisable sous Scribe Ensuite, le nouveau périphérique est disponible sous Scribe voir /var/log/message ou la console : /dev/xvdc ou /dev/hdb (dans le cas de Scribe puisque les xentools ne pas disponibles). 4. Créer une partition et un filesystem sous Scribe : fdisk /dev/hdb mkfs.ext3 j -m 0 /dev/hdb1 Page : 13 / 16
5. Vérifier : mount /dev/hdb1 /mnt df -h /mnt umount /mnt 6. Ensuite il ne reste plus qu à utiliser et configurer les sauvegardes Bacula via l interface web de la distribution Linux Eole/Scribe : Figure 1 : Scribe (configuration Bacula) Page : 14 / 16
5 DEPLOIEMENT AUTOMATIQUE DES PATCHES Pour installer automatiquement les patches de la version 4.0.1 du produit Xensource, nous avons développé un script perl et centralisé (sur notre site ftp mais vous pouvez utiliser votre propre serveur ftp) les patches à appliquer ainsi que la configuration nécessaire pour appliquer chaque patch. 1. Télécharger patchxen.pl : mkdir /opt/alyseo cd /opt/alyseo wget http://download.alyseo.com:81/contrib/xensource/v4.0.1/patches/patchxen.pl ou wget ftp://ftp.alyseo.com/contrib/xensource/v4.0.1/patches/patchxen.pl chmod 755 patchxen.pl./patchxen.pl ATTENTION votre serveur va rebooter lors de l installation du patch numéro 4! 2. Automatiser les mises à jours et les installations de patches : ls -la /etc/cron.daily/patchxen -rwxr-xr-x 1 root root 53 Feb 13 20:02 /etc/cron.daily/patchxen cat /etc/cron.daily/patchxen #!/bin/sh cd /opt/alyseo;./patchxen.pl > /dev/null 2>&1 Page : 15 / 16
6 PRISE EN MAIN A DISTANCE Pour utiliser xencenter au travers un firewall vous devez autoriser les connexions suivantes : Service ou outil Protocole et port Interface xencenter TCP / 443 (https pour les xapi) Remote desktop pour Linux * TCP / 5900 (vnc) Remote desktop pour Windows * TCP / 3389 (rdp) Tableau 3 : Matrice de flux (*) Le remote desktop n est disponible (par défaut) que pour les templates supportés par l hôte Xensource, ce qui n est pas le cas de la distribution Eole/Scribe. Par contre vous ne pouvez pas utiliser la console (texte ou graphique) de l outil XenCenter si l hôte Xen se trouve derrière un firewall NAT. Pour ce faire vous devez utiliser les outils et protocoles VNC et/ou RDP pour accéder en direct aux IPs des machines virtuelles (le NAT fonctionne dans ce cas en utilisant l IP du firewall). Vous pouvez également utiliser l outil xenconsole sur l hôte Xensource afin d accéder à la console texte des machines Linux : 1. Pour avoir l uuid de la machine virtuelle Linux : xe vm-list 2. Récupérer le dom-id de la machine virtuelle : xe vm-list params=dom_id uuid= «uuid en 1)» 3. Accéder à la console texte : /usr/lib/xen/bin/xenconsole «dom-id en 2)» PS : CTRL-$ pour quitter xenconsole Page : 16 / 16