{{tag>iSCSI initiator sysadmin client howto}} ====== Installation d'un client iSCSI ====== 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. Pour l'installation de la partie serveur voir la doc [[sysadmin:iscsi_target|ici]] mais si vous êtes sur cette page, c'est que vous avez déja du configurer votre target. ==== Installation des prérequis ==== Le module iscsi_tcp est inclus en standard dans les noyaux debian. Il suffit donc d'installer open-isci :aptitude install open-iscsi ==== Configuration du client ==== La configuration s'effectue dans le fichier /etc/iscsi/iscsid.conf . Nous allons accéder au target défini lors de l'installation du serveur, en utilisant l'utilisateur "monUtilisateur" associé au mot de passe "monMotDePasse" : discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = monUtilisateur discovery.sendtargets.auth.password = monMotDePasse node.session.auth.authmethod = CHAP node.session.auth.username = monUtilisateur node.session.auth.password = monMotDePasse Si vous voulez que le noeud démarre automatiquement, changer "node.startup = manual" par "node.startup = automatic" dans ce fichier par exemple grace a la commande suivante : sed -i -e "s/node.startup = manual/node.startup = automatic/" /etc/iscsi/iscsid.conf ==== Connexion au serveur ==== * Decouverte des targets offertes par le serveur (IP 10.31.192.36) : iscsiadm -m discovery -t st -p 10.31.192.36 qui devrait vous renvoyer un résultat similaire à : 10.31.192.36:3260,1 iqn.2010-05.com.example.mamachine:cache-debian * On peut ensuite initier une session sur ce target en utilisant :iscsiadm -m node --targetname "iqn.2010-05.com.example.mamachine:cache-debian" --portal "10.31.192.36:3260" --login Il faut bien entendu adapter le nom du target et l'IP du serveur pour qu'ils correspondent a votre installationSi tout ce passe bien vous devriez voir s'afficher quelque chose comme :Logging in to [iface: default, target: iqn.2010-05.com.example.mamachine:cache-debian, portal: 10.31.192.36,3260] Login to [iface: default, target: .com.example.mamachine:cache-debian, portal: 10.31.192.36,3260]: successful Il suffit ensuite de vérifier que vous voyez bien un "nouveau disque dur" a l'aide de la commande dmesg qui devrait afficher dans les dernieres lignes [ 8702.186708] scsi2 : iSCSI Initiator over TCP/IP [ 8703.443905] scsi 2:0:0:0: Direct-Access IET VIRTUAL-DISK 0 PQ: 0 ANSI: 4 [ 8703.492924] Driver 'sd' needs updating - please use bus_type methods [ 8703.497677] sd 2:0:0:0: [sda] 140633010 512-byte hardware sectors (72004 MB) [ 8703.492924] sd 2:0:0:0: [sda] Write Protect is off [ 8703.492924] sd 2:0:0:0: [sda] Mode Sense: 77 00 00 08 [ 8703.492924] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 8703.498352] sd 2:0:0:0: [sda] 140633010 512-byte hardware sectors (72004 MB) [ 8703.500518] sd 2:0:0:0: [sda] Write Protect is off [ 8703.500524] sd 2:0:0:0: [sda] Mode Sense: 77 00 00 08 [ 8703.501422] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 8703.501422] sda: sda1 [ 8703.509260] sd 2:0:0:0: [sda] Attached SCSI disk * Si vous vouliez vous déconnecter de ce target, vous pourriez taper : iscsiadm -m node --targetname "iqn.2010-05.com.example.mamachine:cache-debian" --portal "10.31.192.36:3260" --logout ==== Aller plus loin ==== Les nouveaux "disques durs" étants maintenants vus sur la machine, on peut les utiliser. Astuce du chef : lors de la configuration du serveur, nous avons utilisé des volumes LVM. Pour garder l'avantage du LVM, a savoir le redimensionnement aisé de partition, je vous conseille de ne pas créer une partition sur ce disque, puis la formater, mais de directement formater ce disque "dev/sda" en ext3 par exemple. Lorsque vous voudrez agrandir ce volume, un simple resize2fs suffira. Dans le cas contraire, la procédure serait plus compliquée, car l'agrandissement de la target sera vue coté client comme de l'espace libre ajouté "derriere" la partition sda1 utilisée, donc il faudrait jouer avec fdisk pour supprimer/recréer la partition en une seule opération sous fdisk en déclarant absolument le meme secteur comme premier secteur de cette nouvelle partition Pour formater ce volume, on peut utiliser par exemple :mkfs.ext3 /dev/sda Attention, l'ordre des disques peut varier, pour le montage il est préférable d'utiliser les labels des partitions ( voir [[sysadmin:labels_partitions|cette page]] pour définir les labels ) ou les UUID === Monter la partition automatiquement === Pour monter la partition automatiquement, il existe 2 méthodes : * Utilisation des labels * Utilisation des UUID == Utilisation des labels == Il faut tout d'abord définir le label de votre partition en suivant par exemple [[sysadmin:labels_partitions|cette doc]]. On utilise ensuite l'option _netdev dans le fichier /etc/fstab qui précise de ne tenter un montage qu'apres que le reseau de l'initiator soir up ) ainsi qu'un zero dans la derniere colone ("pass") pour ne pas vérifier automatiquement le systeme de fichier au démarrage voici par exemple une ligne concernant le montage d'un LUN extraite du fichier /etc/fstab : LABEL=backports /export/mirror/debian-backports ext3 _netdev 0 0 == Utilisation des UUID == Si vous préférez utiliser l'UUID a la place du label : Pour obtenir l'UUID de votre partition, utilisez la commande //blkid// qui renvoie par exemple : ... /dev/sda: LABEL="backports" UUID="3bacbc00-6c54-4060-a0a4-b328ee5ffda9" SEC_TYPE="ext2" TYPE="ext3" ... Voici la ligne correspondante a ajouter dans le fichier /etc/fstab : UUID=3bacbc00-6c54-4060-a0a4-b328ee5ffda9 /export/mirror/debian-backports ext3 _netdev 0 0 === Scanner les LUNs === Nous avons vu coté serveur que l'on peut ajouter des LUNs dynamiquement, c'est tres bien mais encore faut il pouvoir rafraichir coté client. C'est possible entre autres avec ce superbe script de Kurt Garloff / Hannes Reinecke disponible ici : http://www.garloff.de/kurt/linux/ . Lien vers le script direct : http://www.garloff.de/kurt/linux/rescan-scsi-bus.sh-1.38 . Utilisation du script, si par exemple vous venez d'ajouter le LUN 5 coté serveur : # ./rescan-scsi-bus.sh-1.38 --luns=5 Host adapter 0 (iscsi_tcp) found. Scanning SCSI subsystem for new devices Scanning host 0 channels 0 for SCSI target IDs 0 1 2 3 4 5 6 7, LUNs 5 Scanning for device 0 0 0 5 ... NEW: Host: scsi0 Channel: 00 Id: 00 Lun: 05 Vendor: IET Model: VIRTUAL-DISK Rev: 0 Type: Direct-Access ANSI SCSI revision: 04 1 new device(s) found. 0 device(s) removed. Le nouveau LUN est bien visible, et prêt a etre utilisé :-)