Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:linux:open-iscsi [2009/01/13 10:57] benoit |
informatique:linux:open-iscsi [2018/09/06 19:10] (Version actuelle) |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
ou | ou | ||
yum install iscsi-initiator-utils | yum install iscsi-initiator-utils | ||
+ | |||
Ligne 13: | Ligne 14: | ||
Il faut générer un identifiant iscsi pour le poste : | Il faut générer un identifiant iscsi pour le poste : | ||
- | /sbin/iscsi-iname | + | iscsi-iname |
+ | |||
+ | Exemple de résultat attendu : | ||
+ | iqn.2005-03.org.open-iscsi:7d70b64d277f | ||
- | Déclarer l'identifiant généré dans le fichier : | + | Editer le fichier : ''/etc/iscsi/initiatorname.iscsi'' et insérer la châine générée : |
+ | #GenerateName=yes | ||
+ | InitiatorName=iqn.2005-03.org.open-iscsi:7d70b64d277f | ||
- | Editer le fichier de configuration ''/etc/iscsi/iscsid.conf'' ou ''~/.iscsid.conf'' et configurer node.session.auth.username, node.session.auth.password et les autres paramètres de la façon suivante : | + | Découvrir les target iSCSI : |
+ | iscsiadm -m discovery -t sendtargets -p 192.168.133.102 | ||
- | node.startup = automatic | + | Exemple de résultat attendu (vous verrez autant de nœuds qu'il y a de ports réseau sur la baie de stockage) : |
- | node.session.auth.username = MY-ISCSI-USER | + | 192.168.132.101:3260,1 iqn.xxxxxxxxxxxx |
- | node.session.auth.password = MY-ISCSI-PASSWORD | + | 192.168.131.102:3260,2 iqn.xxxxxxxxxxxx |
- | discovery.sendtargets.auth.username = MY-ISCSI-USER | + | 192.168.130.101:3260,1 iqn.xxxxxxxxxxxx |
- | discovery.sendtargets.auth.password = MY-ISCSI-PASSWORD | + | 192.168.131.101:3260,1 iqn.xxxxxxxxxxxx |
- | node.session.timeo.replacement_timeout = 120 | + | 192.168.130.102:3260,2 iqn.xxxxxxxxxxxx |
- | node.conn[0].timeo.login_timeout = 15 | + | 192.168.133.102:3260,2 iqn.xxxxxxxxxxxx |
- | node.conn[0].timeo.logout_timeout = 15 | + | 192.168.132.102:3260,2 iqn.xxxxxxxxxxxx |
- | node.conn[0].timeo.noop_out_interval = 10 | + | 192.168.133.101:3260,1 iqn.xxxxxxxxxxxx |
- | node.conn[0].timeo.noop_out_timeout = 15 | + | |
- | node.session.iscsi.InitialR2T = No | + | |
- | node.session.iscsi.ImmediateData = Yes | + | |
- | node.session.iscsi.FirstBurstLength = 262144 | + | |
- | node.session.iscsi.MaxBurstLength = 16776192 | + | |
- | node.conn[0].iscsi.MaxRecvDataSegmentLength = 65536 | + | |
- | Pour prendre en compte la configuration, redémarrer le service ainsi : | + | Se connecter à la cible : |
- | /etc/init.d/open-iscsi restart | + | iscsiadm -m node -T iqn.xxxxxxxxxxxx -p 192.168.133.102:3260 -l |
- | Maintenant il faut lancer une découverte des serveurs iSCSI cible : | + | Lister les LUN : |
- | iscsiadm -m discovery -t sendtargets -p ISCSI-SERVER-IP-ADDRESS | + | cat /proc/scsi/scsi |
- | Si 192.168.1.60 est l'adresse IP d'un serveur iSCSI, entrer : | + | Exemple de résultat |
- | iscsiadm -m discovery -t sendtargets -p 192.168.1.60 | + | Host: scsi5 Channel: 00 Id: 00 Lun: 00 |
+ | Vendor: DELL Model: MD32xxi Rev: 0780 | ||
+ | Type: Direct-Access ANSI SCSI revision: 05 | ||
+ | Host: scsi5 Channel: 00 Id: 00 Lun: 02 | ||
+ | Vendor: DELL Model: MD32xxi Rev: 0780 | ||
+ | Type: Direct-Access ANSI SCSI revision: 05 | ||
+ | Host: scsi5 Channel: 00 Id: 00 Lun: 31 | ||
+ | Vendor: DELL Model: Universal Xport Rev: 0780 | ||
+ | Type: Direct-Access ANSI SCSI revision: 05 | ||
- | Pour terminer, redémarrer une nouvelle fois le service : | + | Pour identifier le nom du périphérique : |
- | /etc/init.d/open-iscsi restart | + | tail -f /var/log/messages |
- | ==== Formater un volume iSCSI ==== | + | Exemple de ligne à identifier : |
+ | Apr 26 16:05:06 localhost kernel: [2075842.768921] sd 5:0:0:2: [sdb] 3041000423 512-byte logical blocks: (1.55 TB/1.41 TiB) | ||
+ | |||
+ | Pour formater le disque voir : [[fdisk]] | ||
- | Après la phase de découverte on devrait voir un nouveau lecteur sur le système, voir ''/var/log/messages'' pour trouver son nom : | + | Activer le disque au lancement du système : |
- | tail -f /var/log/messages | + | iscsiadm -m node -T iqn.xxxxxxxxxxxx -p 192.168.133.102:3260 -o update -n node.startup -v automatic |
+ | |||
+ | Pour désactiver au démarrage : | ||
+ | iscsiadm -m node -T iqn.xxxxxxxxxxxx -p 192.168.133.102:3260 -o update -n node.startup -v manual | ||
+ | |||
+ | === Astuce === | ||
+ | |||
+ | Le réseau et l'iSCSI sont démarrés bien après la détection initiale des disques sous Linux. Il est donc nécessaire de forcer à nouveau le montage. | ||
+ | Dans le cas de l'usage de LVM, il est nécessaire de re-scanner toutes les ressources de stockage une fois le réseau et l'iSCSI démarrés. Dans ce cas nous aurons recours à un script d'initialisation. | ||
+ | |||
+ | Vous pouvez donc créer le fichier ''/etc/init.d/lvmscan.sh'' avec le contenu suivant (destiné à Debian ou Ubuntu) : | ||
+ | #!/bin/sh | ||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: lvmscan.sh | ||
+ | # X-Start-After: open-iscsi | ||
+ | # Required-Start: open-iscsi | ||
+ | # Required-Stop: | ||
+ | # Default-Start: 2 3 4 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | # Short-Description: Rescan LVM volumes et mount them | ||
+ | ### END INIT INFO | ||
+ | |||
+ | # Le réseau et l'iSCSI sont démarrés bien après la détection initiale des disques sous Linux. | ||
+ | # Il est donc nécessaire de forcer à nouveau le montage. | ||
+ | # Dans le cas de l'usage de LVM, il est nécessaire de re-scanner toutes les ressources | ||
+ | # de stockage une fois le réseau et l'iSCSI démarrés. | ||
+ | # Dans ce cas nous avons recours à ce script. | ||
+ | case "$1" in | ||
+ | start) | ||
+ | # Detection des disques physiques | ||
+ | pvscan | ||
+ | # Detection des groupes de volumes | ||
+ | vgscan | ||
+ | # Detection des volumes | ||
+ | lvscan | ||
+ | # Reactivation de tous les volumes inactifs | ||
+ | for vol in $(lvscan |grep inactive |awk '{print $2}' |sed "s/'//g") | ||
+ | do lvchange -a y $vol | ||
+ | done | ||
+ | # Montage des volumes restants de la fstab | ||
+ | mount -a | ||
+ | ;; | ||
+ | stop) | ||
+ | echo "nothing to do" | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | Pour activer le script au lancement du système (sous Debian ou Ubuntu) | ||
+ | update-rc.d lvmscan.sh defaults | ||
+ | |||
+ | ==== Désactiver et supprimer une cible iSCSI ==== | ||
- | Si le lecteur est nommé par exemple ''/dev/sdc'', lancer la commande suivante pour créer des partitions : | + | Pour désactiver : |
- | fdisk /dev/sdc | + | iscsiadm -m node -T iqn.xxxxxxxxxxxx -p 192.168.133.102:3260 -u |
- | Une fois les partitions créer, il en reste plus qu'a les formater... | + | Pour supprimer : |
- | mkfs.ext3 /dev/sdc1 | + | iscsiadm -m node -o delete -T iqn.xxxxxxxxxxxx -p 192.168.133.102:3260 |
- | ... Et à les monter : | ||
- | mkdir /iscsi | ||
- | mount /dev/sdc1 /iscsi | ||
====== Installation et configuration de la cible (Serveur) ====== | ====== Installation et configuration de la cible (Serveur) ====== |