Installation de Xenserver 5.6 sur un serveur OVH – Partie 1
Préambule
Le but de cet article est d’installer la dernière version de Xenserver sur un serveur dédiée chez OVH.
En effet, OVH ne propose que la version 5.5 alors que la dernière version présente des avantages intéressants (la possibilité de repartir d’un snapshot d’une vm par exemple…)
Je ne pars pas de rien pour cet article. J’ai trouvé cet excellent tuto sur le forum allemand d’OVH ici. Il ne s’agit pas d’une traduction, mais l’essentiel est là.
Installation
Avant de commencer, vous devez disposer d’un serveur fraichement installé sous Linux. N’importe quelle version pourrait faire l’affaire; dans notre cas nous partirons sur une Debian Lenny proposée par OVH avec un partitionnement personnalisé sans RAID.
Les partitions sont les suivantes:
- sda1 10GB / ext3
- sda2 2 GB swap
Une fois le système installé et démarré, effectuer ces commandes afin de vider le deuxième disque dur.
dd if=/dev/zero of=/dev/sdb bs=20M count=500
Pour effectuer l’installation, nous avons besoin d’un serveur FTP. Pour cela, nous allons utiliser le système de backup FTP fourni par OVH.
Je vous invite à consulter ce lien pour plus d’information. Il suffit de créer un compte. Nous allons donc utiliser cet espace FTP pour stocker les différentes images ISO et autres besoins.
### Préparation des données ### # Création des dossiers mkdir ~/xen5.6 cd ~/xen5.6 # Téléchargement des différentes images ISO wget http://downloadns.citrix.com.edgesuite.net/akdlm/5158/XenServer-5.6.0-install-cd.iso wget http://downloadns.citrix.com.edgesuite.net/akdlm/5159/XenServer-5.6.0-linux-cd.iso # Montage des images ISO mkdir xen56install xen56linux mount -o loop XenServer-5.6.0-install-cd.iso xen56install mount -o loop XenServer-5.6.0-linux-cd.iso xen56linux
Nous allons ensuite copier l’ensemble des données dans un même répertoire :
# Copie des données mkdir xen56 cp xen56install/* xen56 -R cp xen56linux/* xen56 -R
Pour installer le XenServer nous allons utiliser un fichier de réponse au format XML. Ceci permet d’installation en mode « siliencieux » et donc de pré-remplir un certain nombre d’information.
Il existe un utilitaire XS-Tool qui permet de créer ce fichier de réponse.
Il semble qu’il soit préférable de ne pas utiliser le mode DHCP; dans la mesure où nous disposons de toutes les informations, autant les renseigner directement dans ce fichier.
Créer un fichier answer.xml contentant:
# Création du fichier de réponse echo '<installation mode="fresh" srtype="lvm"> <bootloader>grub</bootloader> <primary-disk gueststorage="no">sda</primary-disk> <keymap>fr</keymap> <hostname>xen01</hostname> <root-password>xenpassword</root-password> <source type ="url">ftp://<username>:<password>@<IP>/xen56/</source> <admin-interface name="eth0" proto="static"> <ip>a.b.c.d</ip> <subnet-mask>255.255.255.0</subnet-mask> <gateway>a.b.c.254</gateway> </admin-interface> <nameserver>213.186.33.99</nameserver> <nameserver>8.8.8.8</nameserver> <timezone>Europe/Paris</timezone> <time-config-method>ntp</time-config-method> <ntp-servers>ntp</ntp-servers> <ntpservers>109.75.190.27</ntpservers> <ntpservers>88.191.80.132</ntpservers> <ntpservers>88.191.32.45</ntpservers> </installation> ' > answer.xml
Remplacer l’adresse IP par l’adresse IP de votre serveur Lenny.
De plus, remplacer les informations concernant le serveur FTP en fonction des informations envoyées par OVH lors de la configuration du backup FTP.
Nous devons ensuite pousser les données sur le serveur FTP:
echo '#!/bin/sh' > ftpupload.sh
echo 'ftp -n ****FTPHOST**** << EOF' >> ftpupload.sh
echo 'user ****FTPUSER**** ****FTPPW****' >> ftpupload.sh
find xen56/ -type d -exec echo mkdir {} \; >> ftpupload.sh
find xen56/ -type f -exec echo put {} \ {} \; >> ftpupload.sh
echo 'put answer.xml xen56/answer.xml' >> ftpupload.sh
echo 'bye' >> ftpupload.sh
echo 'EOF' >> ftpupload.sh
N’oubliez pas de remplacer les informations concernant les accès FTP.
Exécuter ensuite ce script :
# Copie des données ./ftpupload.sh
Si vous souhaitez ensuite tout supprimer vous pourrez utiliser ce script:
echo '#!/bin/sh' > ftpdelete.sh
echo 'ftp -n ****FTPHOST**** << EOF' >> ftpdelete.sh
echo 'user ****FTPUSER**** ****FTPPW****' >> ftpdelete.sh
find xen56/ -type f -exec echo delete {} \; >> ftpdelete.sh
echo 'delete xen56/answer.xml' >> ftpdelete.sh
find xen56/ -type d -exec echo rmdir {} \; >> ftpdelete.sh
find xen56/ -type d -exec echo rmdir {} \; >> ftpdelete.sh
find xen56/ -type d -exec echo rmdir {} \; >> ftpdelete.sh
find xen56/ -type d -exec echo rmdir {} \; >> ftpdelete.sh
find xen56/ -type d -exec echo rmdir {} \; >> ftpdelete.sh
echo 'bye' >> ftpdelete.sh
echo 'EOF' >> ftpdelete.sh
Nous devons ensuite préparer le serveur :
aptitude update; aptitude install -y syslinux
Nous avons également besoin d’une autre partition. Nous allons utiliser la partition de swap qui ne nous servira plus.
# Desactivation de la swap (sda2) swapoff -a # Formatage de la partition en fat mkfs.msdos /dev/sda2 # Installation de syslinux sur cette partition syslinux /dev/sda2 # Montage de la partition mount /dev/sda2 /mnt
Dans cette partition nous avons besoin de fichier disponible sur le serveur FTP:
cd /mnt wget ftp://****FTPUSER****:****FTPPW****@****FTPHOST****/xen56/install.img wget ftp://****FTPUSER****:****FTPPW****@****FTPHOST****/xen56/boot/xen.gz wget ftp://****FTPUSER****:****FTPPW****@****FTPHOST****/xen56/boot/vmlinuz wget ftp://****FTPUSER****:****FTPPW****@****FTPHOST****/xen56/boot/isolinux/mboot.c32
Là encore, utilisez les informations de FTP fournies par OVH.
Nous allons maintenant créer le fichier syslinux.cfg
Le but étant de préciser au système qu’il doit booter sur le serveur FTP.
echo 'DEFAULT linux' > /mnt/syslinux.cfg echo ' LABEL linux' >> /mnt/syslinux.cfg echo ' SAY Now booting the kernel from SYSLINUX...' >> /mnt/syslinux.cfg echo ' kernel mboot.c32' >> /mnt/syslinux.cfg echo ' append xen.gz dom0_mem=752M console=vga --- vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=ftp://****FTPUSER****:****FTPPW****@****FTPHOST!IP!****/xen56/answer.xml install --- install.img' >> /mnt/syslinux.cfg
Nous devons ensuite remplacer lilo par grub:
# Suppression de lilo aptitude --purge remove lilo # Installation de Grub mkdir /boot/grub aptitude install grub grub-install /dev/sda update-grub #Modification du fichier menu.lst cat > /boot/grub/menu.lst << "EOF" default 0 timeout 5 color cyan/blue white/blue title Syslinux root (hd0,1) makeactive chainloader +1 EOF
Rebooter le serveur et croiser les doigts
Il faut compter 2 à 3 minutes pour que le système reboot. Ensuite, prévoir jusqu’à 10min pour l’installation de Xen, puis de nouveau 3 minutes pour le reboot.
Si tout va bien, vous pouvez vous connecter à votre serveur avec le mot de passe que vous aurez saisi dans le fichier de réponse xml.
Il reste maintenant les étapes suivantes:
- configuration du raid soft
- configuration de lvm
- ajout d’un dépot local d’image ISO
- ajout du de la partition de stockage des machines virtuelles.
A suivre donc…