Configuration :
- 2 serveurs de stockage en iscsi, failover
- 4 serveurs xen
Installer le serveur iSCSI
Chaque volume à exporter en iSCSI est créé dans un Volume Group LVM, ce qui permet une grande flexibilité.
Installer LVM
pvcreate /dev/cciss/c0d0p2
vgcreate vg /dev/cciss/c0d0p2
Créer un volume LVM pour un partage iSCSI
Nous avons besoin d’un espace de stockage de 10Go pour une machine virtuelle Xen :
lvcreate -n r5o11n1v1 -L 10G vg
Le nom r5o11n1v1 est inspiré de la future machine virtuelle : * redhat 5 * oracle 11 * node 1 * volume 1
Installer la target iscsi
http://gentoo-wiki.com/HOWTO_iscsi pour plus de détails
echo "sys-block/iscsitarget" >> /etc/portage/package.keywords
emerge iscsitarget
modprobe iscsi_trgt
Configurer le serveur : /etc/ietd.conf
Target iqn.2008-03.net.fti:storage.r5o11n1.vol1
Lun 0 Path=/dev/vg/r5o11n1v1,Type=blockio
Le numéro de LUN est à incrémenter s’il y en a plusieurs.
Configurer le service : /etc/conf.d/ietd
Perso, j’ai changé le PORT.
/etc/init.d/ietd start
Vérifiez les logs, s’il y a un problème, c’est qu’il manque surement un module noyau.
Installer un serveur Xen
http://www.gentoo.org/doc/fr/xen-guide.xml pour plus d’infos
On utilise un seul noyau pour le dom0 et les domU, plus facile.
Pour les domU, on utilisera si possible le noyau de la distribution cible (ce n’est pas toujours possible : problème de compatibilité entre les versions hôte et cible de Xen…).
Installer un initiator (client) iSCSI
echo sys-block/open-iscsi >> /etc/portage/package.keywords
emerge open-iscsi
mkdir /etc/iscsi
ln -s ../initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
Fichier de conf de l’initiator /etc/initiatorname.iscsi :
InitiatorName=iqn.2008-03.net.fti:storage.r5o11n1.vol1
InitiatorAlias=vol1
Démarrage et connexion :
/etc/init.d/iscsid start
iscsiadm -m discovery -t st -p 10.234.78.202:80 -P 1
iscsiadm -m node -T iqn.2008-04.net.fti:storage.gentoo3node1.disk2 -l
Vérification :
fdisk -l
[...]
Disk /dev/sda: 56.9 GB, 56908316672 bytes
64 heads, 32 sectors/track, 54272 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000
Il ne se distingue pas vraiment des autres, mais c’est pourtant bien lui, le périphérique iSCSI #
Installer un domU Centos 5.1
Extraire un système Centos 5.1 sur le périphérique iSCSI
Nous allons prendre une image Centos déjà installée chez Jailtime.
Comment utiliser les fichiers fournis par Jailtime : http://jailtime.org/download:start
Prendre le fichier bz2 ici : http://jailtime.org/download:centos:v5.1
On extrait maintenant l’image du système sur le périphérique iscsi (on peut faire ça sur n’importe quel serveur Xen client iScsi, cela revient au même).
/!\ Attention que ce soit bien “‘sda”’ pour vous, il ne faudrait pas écraser le système hôte ## partitionnez comme vous voulez, mais sda1 (/) doit faire au moins 600Mo.
fdisk /dev/sda
mkfs.ext3 /dev/sda1
mkdir /mnt/isda1
mount /dev/sda1 /mnt/isda1
tar xjf centos.5-1.20080125.img.tar.bz2
mkdir /mnt/image
mount -oloop centos.5-1.img /mnt/image
cd /mnt/image
tar cf - * | tar xvf - -C /mnt/isda1/
cd ~
umount /mnt/image
umount /mnt/isda1
Nous avons installé Centos5.1 sur notre disque iSCSI. Vous pouvez supprimer tous les fichiers que nous avons téléchargés si vous le souhaitez, nous n’en avons plus besoin.
Configurer le domaine Xen
Pour créer un domaine, il suffit de renseigner un fichier texte /etc/xen/node1 :
kernel = "/boot/kernel-2.6.21-xen"
memory = 512
name = "node1"
disk = [ 'phy:sda,sda,w' ]
root = "/dev/sda1 ro"
vif = [ 'bridge=xenbr0' ]
Le noyau est celui que nous utilisons pour notre Gentoo hôte. Normalement il convient.
Nous déclarons un disque, il s’appelle “sda” sur la machine hôte, c’est le périphérique iSCSI, et il s’appellera “sda” également dans la machine virtuelle. Il est monté en écriture.
“root=” indique à Linux de booter sur /dev/sda1.
“vif” permet de créer une interface pontée entre la machine virtuelle et la machine hôte, ainsi nous serons directement sur le réseau.
Démarrer la machine virtuelle
/etc/init.d/xend start
xm list
xm create node1
xm list
xm console node1
Si tout se passe bien, vous devriez avoir le prompt Centos. Notez que la carte réseau démarre en DHCP, que le mot de passe root est “password” et que vim n’est pas installé (il y a nano à la place) !
Liens
*http://www.open-iscsi.org/docs/README *http://www.gentoo.org/doc/fr/xen-guide.xml *http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-iscsi-howto.html *http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU *http://gentoo-wiki.com/HOWTO_iscsi *http://jailtime.org/ *http://anothergeekwebsite.com/fr/2007/06/xen-vlan-et-bonding-oui-oui-tout-ca *http://www.performancemagic.com/iscsi-xen-howto/ *http://dokuwiki.solstice.nl/dokuwiki/doku.php?id=xen:live-migration_infrastructure