Installation d'un serveur iSCSI

Pour étendre le stockage sans pour autant avoir une baie de disque, on peut en simuler une avec du iSCSI, qui est du SCSI over IP.

Tout d'abord un peu de vocabulaire : en iSCSI on parle d'initiator ( le client qui “initie” un acces ) et de target (le serveur qui propose la cible a l'initiateur)

Comme d'habitude pour l'installation on se basera sur une Debian Lenny fraichement installée en netinstall via boot PXE.

Installation de la base

Installation d'une debian lenny minimale, en décochant “système standard” lors de l'installation.

Dans mon cas le partitionnement sera le suivant : (machine comportant 2 disques de 80 Go)

partition taille type de partition usage
hda1 4 Go ext3 partition /
hda2 1 Go swap partition de swap
hda3 le reste du disque soit 77 Go volume physique pour LVM rattachée au volume group vg0
hdb1 82 Go volume physique pour LVM rattachée au volume group vg0

On installe juste un serveur SSH avec la commande :

aptitude install ssh

et comme on est pas intégriste quelques outils de base :

aptitude install vim less

Installation des dépendances

Le serveur iSCSI utilise des modules noyaux qu'il faut installer :

aptitude install iscsitarget-modules-2.6-686 iscsitarget

Configuration des target iSCSI

La configuration se fait dans le fichier “/etc/ietd.conf”

Une target iSCSI est nommee par convention “iqn.yyyy-mm.<reversed domain name>[:identifier]” soit dans mon cas iqn.2010-05.com.example.mamachine:cache-debian

Chaque export sera ensuite un LUN de ce target

Nous allons prendre un cas relativement simple :

  • L'acces a la target se fera via un login / mot de passe.
  • Chaque LUN sera un LV du volumeGroup LVM créé lors de l'installation, voir cette page pour plus de details sur l'utilisation du LVM.
  • Nous n'acceptons qu'une seule connexion cliente maximum.

Il faut donc mettre dans le fichier /etc/ietd.conf :

Target iqn.2010-05.com.example.mamachine:cache-debian
	IncomingUser monUtilisateur monMotDePasse
	Lun 0 Path=/dev/vg0/debian-backports,Type=fileio,IOMode=rw
	Lun 1 Path=/dev/vg0/debian-archive,Type=fileio,IOMode=rw
	Lun 2 Path=/dev/vg0/apt-cacher,Type=fileio,IOMode=rw
	Lun 3 Path=/dev/vg0/debian-multimedia,Type=fileio,IOMode=rw
	MaxConnections		1

Comme on peut le voir ce stockage servira pour les miroirs debian locaux (voir article ici )et le cache de l'apt-cacher ubuntu (peut etre un jour un article la dessus).

Activer et demarrer le serveur

Il faut autoriser le service avec la commande suivante :

sed -i -e "s/ISCSITARGET_ENABLE=false/ISCSITARGET_ENABLE=true/" /etc/default/iscsitarget

Puis démarrer le service :

/etc/init.d/iscsitarget start

Voila, vous avec une target iSCSI qui fonctionne, pour configurer la partie initiator ca se passe ici.

Aller plus loin

  • Il existe une commande permettant de configurer à chaud les targets, ietadm , par exemple pour ajouter un LUN à chaud, on aurait pu utiliser :
    # pour ajouter l'export de "/dev/vg0/kikoo" en tant que LUN 4 à chaud :
    # ietadm --op new --tid=1 --lun=4 --params Path=/dev/vg0/kikoo,Type=fileio,IOMode=rw
  • Utilisation de targets dans du RAID soft. Si l'on souhaite utiliser des targets iSCSI dans des grappes RAID logiciel, attention à ne pas démarrer automatiquement le service RAID au démarrage, car les volumes accédés en iSCSI ne sont pas encore disponibles : cf cette page. Sinon la grappe RAID sera déclarée inconsistante (et nécessitera une reconstruction) à chaque reboot.

Liens externes

Comparaison des fonctionalités des serveurs iSCSI : http://scst.sourceforge.net/comparison.html

sysadmin/iscsi_target.txt · Dernière modification: 2012/09/21 17:25 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0