Installation de Xenserver 5.6 sur un serveur OVH – Partie 2

26/08/2010
Commentaires fermés

Objectif

Le but de cet article est de continuer l’installation de notre serveur Xenserver 5.6 afin de compléter les points suivants:

  • 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.

Configuration du raid soft

Une fois connecté sur votre serveur XenServer (à l’aide du mot de votre fichier XML de configuration), taper les commandes suivantes.

dd if=/dev/sda of=/dev/sdb bs=512 count=1

Changer le type de partition (raid logiciel) du disque sdb à l’aide de l’outil fdisk:

echo -e "\nt\n1\nfd\nt\n3\nfd\nw\nx" | fdisk /dev/sdb

Créer les partitions RAID1:

mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb3

Création d’un PV sur la partition /dev/md1

pvcreate /dev/md1

Créer la partition de racine:

mkfs.ext3 /dev/md0
cd / && mount /dev/md0 /mnt && rsync -a --progress --exclude=/sys --exclude=/proc --exclude=/dev/shm --exclude=/dev/pts / /mnt
mkdir /mnt/sys
mkdir /mnt/proc
sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /mnt/etc/fstab
sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /etc/fstab

Modifier le Initrd pour gérer la prise en charge du Raid Soft:

mkdir /root/initrd && cd /root/initrd
zcat /boot/initrd-`uname -r`.img | cpio -i && \
cp /lib/modules/`uname -r`/kernel/drivers/md/raid1.ko lib

Modifier le Init pour intéger ce changement:

q="echo Waiting for driver initialization."
sed -r -i "s,^${q}$,\n\necho Loading raid1.ko module\ninsmod /lib/raid1.ko\n${q}\n,g" init
q="resume /var/swap/swap.001"
sed -r -i "s,^${q}$,${q}\necho Running raidautorun\nraidautorun /dev/md0\nraidautorun /dev/md1,g" init
r=`grep mkroot /root/initrd/init`
sed -r -i "s|^${r}$|${r/sda1/md0}|g" init

Copier le initrd modifié dans les deux partitions de boot:

find . -print | cpio -o -c | gzip -c > /mnt/boot/initrd-`uname -r`.img
find . -print | cpio -o -c | gzip -c > /boot/initrd-`uname -r`.img

Installer Grub sur le deuxième disque et modifier la configuration pour utiliser la partition RAID:

grub-install /dev/sdb
sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /mnt/boot/grub/grub.conf
sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /mnt/boot/grub/menu.lst
sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /boot/grub/grub.conf
sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /boot/grub/menu.lst

Démonter le deuxième disque et rebooter:

cd ; umount /mnt || umount /dev/md0
sync
reboot

Une fois rebooter, il faut changer le type de partition pour le disque sda et ajouter les partitions au RAID:

echo -e "\nt\n1\nfd\nt\n3\nfd\nw\nx" | fdisk /dev/sda
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda3

Vous pouvez suivre l’avancement de la construction du RAID à l’aide de la commande :

cat/proc/mdstat

Création de l’entrepot de stockage de machine virtuelle sur Xen

xe sr-create type=lvm content-type=user device-config:device=/dev/md1 name-label="Local Storage"

Nous allons également créer un entrepot de stockage des images ISO local.

Vous choississez la taille que vous souhaitez. Dans notre cas, nous créons une partition de 20Go

lvcreate -L 20G -n iso `vgscan | grep "Found volume group" | cut -d "\"" -f 2`

Formater cette partition:

mkfs.ext3 /dev/`vgscan | grep "Found volume group" | cut -d "\"" -f 2`/iso

Créer un point de montage:

mkdir /iso

Faire en sorte de monter cette partition au démarrage du système:

export MYVOLUMEGROUP=`vgscan | grep "Found volume group" | cut -d "\"" -f 2`
lvchange -a y /dev/$MYVOLUMEGROUP/iso
mount /dev/$MYVOLUMEGROUP/iso /iso/

echo "# Local ISO Library" >> /etc/rc.local
echo "lvchange -a y /dev/$MYVOLUMEGROUP/iso" >> /etc/rc.local
echo "mount /dev/$MYVOLUMEGROUP/iso /iso" >> /etc/rc.local

Ajouter cet entrepot à la configuration de XenServer:

xe-mount-iso-sr /iso -o bind

L’installation est terminée.

Vous pouvez également ajouter les clés SSH d’ovh au cas où…

echo 'from="213.186.50.100" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAt3XaIhEoRK5sEKm6wtYyazLOx3w+Yv9+bpfEvLftHr2hxZ2TY2A655iwMbgvhHqsMuGEjK9yGkZIQbUgB6HvOgOWOwJSX6Gc9Ac7GuH11xSU8tHDuTQot6fVtgcm2Y/VUFi65Knz9rLHz7h/Zy29ek+UYav5T7juhBIuk57cDxs= root@cache.ovh.net' >> /root/.ssh/authorized_keys2
echo 'from="::ffff:213.186.50.100" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAt3XaIhEoRK5sEKm6wtYyazLOx3w+Yv9+bpfEvLftHr2hxZ2TY2A655iwMbgvhHqsMuGEjK9yGkZIQbUgB6HvOgOWOwJSX6Gc9Ac7GuH11xSU8tHDuTQot6fVtgcm2Y/VUFi65Knz9rLHz7h/Zy29ek+UYav5T7juhBIuk57cDxs= root@cache.ovh.net' >> /root/.ssh/authorized_keys2

bpa Divers

Installation de Xenserver 5.6 sur un serveur OVH – Partie 1

20/08/2010
Commentaires fermés

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…

bpa Administration système, Virtualisation ,

L’outil indispensable SSH

05/06/2009
Commentaires fermés

Beaucoup de personnes connaissent au moins de nom SSH. Cet outil cache pourtant certains secrets très pratiques et bien souvent totalement inconnus.
Lire la suite…

ati Divers, Tutos , ,

Découverte de Zsh sur CentOS 5.2

03/04/2009

Découvrons dans ce tutoriel ce qu’est Zsh et apprenons à le compiler et le configurer sous une CentOS 5.2
Lire la suite…

ati Tutos , , , , ,

Installer un serveur Redmine sur Centos 5.2

24/03/2009

Le but de cet article est d’écrire le processus d’installation d’un serveur RedMine sur une Centos 5.2

Description de RedMine

Redmine est un outil de gestion de projet en Web. Il est écrit en utilisant le framework « Ruby on Rails ». Il est multi-plateforme et fonctionne avec plusieurs bases de données.
Lire la suite…

bpa Tutos , ,

Bienvenue sur le blog Actinux

11/03/2009
Commentaires fermés

Actinux encourage ses équipes à contribuer activement à l’informatique libre et publie ses productions sous l’URL actinux.org

Ces productions sont assurées :

- soit par le travail personnel d’ingénieurs de la société en dehors de leur temps de travail

- soit avec le financement d’Actinux pendant le temps de travail.

Actinux consacre actuellement une partie de son temps pour apporter sa modeste contribution aux logiciels libres.

admin Divers