Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sysadmin:iscsi_initiator [2010/05/20 16:31]
james
sysadmin:iscsi_initiator [2015/07/21 13:52] (Version actuelle)
james [Connexion au serveur] typo
Ligne 1: Ligne 1:
 +{{tag>​iSCSI initiator sysadmin client howto}}
 +
 ====== Installation d'un client iSCSI ====== ====== 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 :<​code>​aptitude install open-iscsi</​code>​
 +
 +==== 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"​ :<​code>​
 +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
 +</​code>​
 +
 +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 :<​code>​
 +sed -i -e "​s/​node.startup = manual/​node.startup = automatic/"​ /​etc/​iscsi/​iscsid.conf</​code>​
 +
 +==== Connexion au serveur ====
 +  * Decouverte des targets offertes par le serveur (IP 10.31.192.36) :<​code>​
 +iscsiadm ​ -m discovery -t st -p 10.31.192.36
 +</​code>​qui devrait vous renvoyer un résultat similaire à : <​code>​10.31.192.36:​3260,​1 iqn.2010-05.com.example.mamachine:​cache-debian</​code>​
 +  * On peut ensuite initier une session sur ce target en utilisant :<​code>​iscsiadm ​ -m node  --targetname "​iqn.2010-05.com.example.mamachine:​cache-debian"​ --portal "​10.31.192.36:​3260"​ --login</​code>​
 +<​note>​Il faut bien entendu adapter le nom du target et l'IP du serveur pour qu'ils correspondent a votre installation</​note>​Si tout ce passe bien vous devriez voir s'​afficher quelque chose comme :<​code>​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
 +</​code>​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 <​code>​[ 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</​code>​
 +  * Si vous vouliez vous déconnecter de ce target, vous pourriez taper : <​code>​iscsiadm ​ -m node  --targetname "​iqn.2010-05.com.example.mamachine:​cache-debian"​ --portal "​10.31.192.36:​3260"​ --logout</​code>​
 +
 +==== Aller plus loin ====
 +
 +Les nouveaux "​disques durs" étants maintenants vus sur la machine, on peut les utiliser.
 +<​note>​ 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</​note>​
 +
 +Pour formater ce volume, on peut utiliser par exemple :<​code>​mkfs.ext3 /​dev/​sda</​code>​
 +
 +<note important>​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</​note>​
 +
 +=== 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 : <​code>​
 +LABEL=backports ​    /​export/​mirror/​debian-backports ​     ext3    _netdev 0       ​0</​code>​
 +
 +
 +== 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 :<​code>​
 +...
 +/dev/sda: LABEL="​backports"​ UUID="​3bacbc00-6c54-4060-a0a4-b328ee5ffda9"​ SEC_TYPE="​ext2"​ TYPE="​ext3" ​
 +...</​code>​
 +Voici la ligne correspondante a ajouter dans le fichier /etc/fstab :<​code>​
 +UUID=3bacbc00-6c54-4060-a0a4-b328ee5ffda9 ​   /​export/​mirror/​debian-backports ​   ext3    _netdev ​   0    0</​code>​
 +
 +=== 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 :
 +<​code>#​ ./​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. ​                
 +</​code>​
 +
 +Le nouveau LUN est bien visible, et prêt a etre utilisé :-)
sysadmin/iscsi_initiator.1274365895.txt.gz · Dernière modification: 2010/05/20 16:31 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0