{{tag>iSCSI sysadmin target serveur howto}} ====== 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.[: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 [[lvm2|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 [[debian_mirror|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 [[iscsi_initiator|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 [[sysadmin:software_raid#un_peu_plus_loin|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