RPN-SAN : Linux + Open-iSCSI

Toutes ces actions sont à faire en tant qu'utilisateur root

Installation et configuration de Open-iSCSI

installer open-iscsi (par exemple ici, sous Debian ou Ubuntu)

  apt-get update && apt-get install -y open-iscsi

Editer votre /etc/iscsi/iscsid.conf

  vi /etc/iscsi/iscsid.conf

et ajuster les directives de configuration suivantes

 node.conn[0].timeo.noop_out_interval = 0
 node.conn[0].timeo.noop_out_timeout = 0
 node.session.timeo.replacement_timeout = 86400

Cette modification a pour but d'éviter que votre système de fichier passe en lecture seule si la liaison est interrompue plus de deux minutes (par défaut) entre votre serveur et le serveur de stockage

Ajustez le paramètre permettant la reconnexion automatique des targets

 node.startup = automatic

Vous pouvez également modifier les paramètres suivants afin de bénéficier du contrôle d'intégrité des données, s'il est disponible

 node.conn[0].iscsi.HeaderDigest = CRC32C,None
 node.conn[0].iscsi.DataDigest = CRC32C,None

Découverte et connexion des targets

Pour obtenir la liste des targets disponibles il faut taper

  iscsiadm -m discovery -t sendtargets -p SERVEUR_SAN

(le SERVEUR_SAN est indiqué dans votre console de gestion)

et cela doit vous afficher quelque chose sous la forme

  X.X.X.X:3260,1 iqn.2013-01.net.online:XXXXXXXXXXX

Vous pouvez ensuite vous connecter à la target en tapant

  iscsiadm -m node -T iqn.2013-01.net.online:XXXXXXXXXXX --login

Dans les logs du kernel visible en tapant (dmesg) vous devez voir s'afficher des lignes

  scsi25 : iSCSI Initiator over TCP/IP
  scsi 25:0:0:0: Direct-Access     IET      VIRTUAL-DISK     0    PQ: 0 ANSI: 4
  sd 25:0:0:0: Attached scsi generic sg4 type 0
  sd 25:0:0:0: [sdd] 2147483648 512-byte logical blocks: (1.09 TB/1.00 TiB)
  sd 25:0:0:0: [sdd] Write Protect is off
  sd 25:0:0:0: [sdd] Mode Sense: 77 00 00 08
  sd 25:0:0:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
   sdd: sdd1
  sd 25:0:0:0: [sdd] Attached SCSI disk

Dans cet exemple, le disque détecté est “sdd” disponible en tant que /dev/sdd, mais le device assigné peut varier en fonction de votre configuration

Il vous est maintenant possible d'utiliser votre disque SAN comme n'importe quel disque

Activer les target au boot

Recommandations importantes pour l'utilisation

Comme vu précédemment, ici le disque est disponible en tant que /dev/sdd. Il n'est pas garanti qu'au prochain reboot la même lettre de lecteur soit utilisée, surtout si vous ajoutez d'autres targets, ou si votre configuration matérielle change. Il est donc recommandé de ne pas utiliser les noms /dev/sdX dans vos fichiers de configuration.

Dans le cas de l'utilisation de LVM

LVM utilise automatiquement les UUID pour reconnaître les partitions qu'il utilise. Pas de soucis dans ce cas.

Dans le cas d'un formatage direct du disque

(Cette méthode n'est pas recommandée, car elle ne vous permet pas d'évoluer ensuite, en agrégeant plusieurs espaces de stockage RPN-SAN)

Si vous vous formatez directement le device ou une partition de celui-ci, utilisez plutôt ensuite pour le monter le lien créé par le système dans /dev/disk/by-uuid/ ou la notation fstab UUID=XXX-XXX…

Dans le cas de l'utilisation directe du device

Si votre application ne supporte pas (contrairement à LVM) l'auto-détection des partitions qui lui sont associées via l'UUID, il est recommandé d'utiliser le lien dans /dev/disk/by-id/

C'est le chemin disponible qui sera le plus stable dans le temps.