7. Configurer le système Initiator

Les manipulations de cette partie préparent le système auquel on a attribué le rôle Initiator. Ce système est celui qui utilise le volume de stockage mis à disposition sur le réseau par le rôle Target.

7.1. Sélectionner le paquet et lancer le service

Q21.

Comment identifier et installer le paquet correspondant au rôle Initiator ?

En effectuant une recherche simple dans le catalogue des paquets disponibles, on obtient la liste des paquets dont le nom contient la chaîne de caractères iscsi.

La syntaxe la plus simple consiste à lancer une recherche sur les noms de paquets.

apt search --names-only iscsi

Pour optimiser l'affichage du résultat de recherche, on utilise une syntaxe plus complète.

apt -o "Apt::Cmd::Disable-Script-Warning=1" \
  search --names-only iscsi | grep -B2 -i initiator
open-iscsi/testing,now 2.1.11-2 amd64 [installé]
  iSCSI initiator tools

On relève que le paquet open-iscsi est le seul associé au rôle Initiator. Installez le.

sudo apt install open-iscsi

Q22.

Comment connaître l'état du service Initiator et valider son fonctionnement ?

À partir de la liste des services actifs, repérez les message relatifs au rôle Initiator.

systemctl status open-iscsi.service
systemctl status open-iscsi.service
○ open-iscsi.service - Login to default iSCSI targets
     Loaded: loaded (/usr/lib/systemd/system/open-iscsi.service; enabled; preset: enabled)
     Active: inactive (dead)
  Condition: start condition unmet at Fri 2025-08-22 19:14:58 CEST; 22h ago
       Docs: man:iscsiadm(8)
             man:iscsid(8)

août 22 19:14:58 initiator systemd[1]: open-iscsi.service - Login to default iSCSI targets was skipped
  because no trigger condition checks were met.
[Avertissement] Avertissement

L'état actuel de la configuration montre que le service est lancé sans aucune session iSCSI active. Pour l'instant aucun système avec le rôle Target n'a été contacté.

7.2. Accéder aux volumes de stockage réseau iSCSI

Q23.

Quelle est la commande principale du rôle Initiator qui permet de tester la connectivité iSCSI ?

Consultez la liste des fichiers du paquet open-iscsi.

En consultant la liste donnée ci-dessus, relevez qu'un seul outil est exécutable : la commande iscsiadm.

Q24.

Quelles sont les options de découverte proposées avec cette commande ? Donnez un exemple fournissant l'identifiant de l'unité de stockage réseau visible.

Consultez les pages de manuels de la commande identifiée dans la question précédente.

À partir du système Initiator, listez le ou les volume(s) de stockage visible(s) sur le réseau local :

Si le portail du système avec le rôle Target est configuré pour être accessible via IPv6, vous devez utiliser la commande suivante en adaptant l'adresse au contexte :

sudo iscsiadm -m discovery \
  --type sendtargets \
  --portal=[2001:678:3fc:171:baad:caff:fefe:5]
[2001:678:3fc:171:baad:caff:fefe:5]:3260,1 iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8
sudo iscsiadm -m discovery \
    --type sendtargets \
    --portal=10.0.113.5
10.0.113.5:3260,1 iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8

Dans les deux copies d'écran ci-dessus, l'identifiant IQN du volume de stockage réseau visible est iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8.

Malheureusement, les adresses de lien local IPv6 ne sont pas utilisables au moment de la rédaction de ces lignes.

Q25.

Comment obtenir la liste des portails iSCSI déjà connus du système Initiator ?

Recherchez dans les pages de manuels de la commande iscsiadm.

C'est le mode node qui permet d'obtenir l'information demandée.

sudo iscsiadm -m node
10.0.113.5:3260,1 iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8
[2001:678:3fc:171:baad:caff:fefe:5]:3260,1 iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8

Q26.

Comment effacer la liste des portails iSCSI déjà connus du système Initiator ?

Recherchez dans les pages de manuels de la commande iscsiadm.

C'est à nouveau le mode node qui permet d'obtenir l'information demandée.

sudo iscsiadm -m node --op=delete
[Avertissement] Avertissement

Attention ! Si la commande ci-dessus est exécutée, il faut reprendre les opérations de découverte décrites à la question Q : Q24 pour compléter la liste des portails iSCSI connus.

Q27.

Quel est l'identifiant à communiquer ou à paramétrer pour que le système Initiator soit reconnu côté système Target ?

Rechercher les informations relatives au nommage iSCSI dans les outils et les fichiers fournis avec le paquet de gestion du rôle Initiator.

Le répertoire /etc/iscsi/ contient les paramètres de configuration du service.

ls -p /etc/iscsi/
initiatorname.iscsi  iscsid.conf

Consultez ou éditez ce fichier de façon à communiquer l'identité du système Initiator au système Target pour configurer le contrôle d'accès.

Par exemple, l'identifiant unique donnée dans la copie d'écran ci-dessous est à transmettre au système Target.

sudo grep -v ^# /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1993-08.org.debian:01:733ea42cb5

Depuis le système Target, vous obtenez le résultat suivant après avoir créé la liste de contrôle d'accès au volume réseau via l'interface targetcli.

sudo targetcli
cd /
ls
o- / ....................................................................... [...]
  o- backstores ............................................................ [...]
  | o- block ................................................ [Storage Objects: 1]
  | | o- blockvol0 ................. [/dev/nvme1n1 (32.0GiB) write-thru activated]
  | |   o- alua ................................................. [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ..................... [ALUA state: Active/optimized]
  | o- fileio ............................................... [Storage Objects: 1]
  | | o- filevol0 ......... [/var/cache/filevol0 (32.0GiB) write-back deactivated]
  | |   o- alua ................................................. [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ..................... [ALUA state: Active/optimized]
  | o- pscsi ................................................ [Storage Objects: 0]
  | o- ramdisk .............................................. [Storage Objects: 0]
  o- iscsi .......................................................... [Targets: 1]
  | o- iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8 ........ [TPGs: 1]
  |   o- tpg1 ............................................. [no-gen-acls, no-auth]
  |     o- acls ........................................................ [ACLs: 1]
  |     | o- iqn.1993-08.org.debian:01:733ea42cb56 .............. [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ........................... [lun0 block/blockvol0 (rw)]
  |     o- luns ........................................................ [LUNs: 1]
  |     | o- lun0 ............ [block/blockvol0 (/dev/nvme1n1) (default_tg_pt_gp)]
  |     o- portals .................................................. [Portals: 1]
  |       o- [::0]:3260 ..................................................... [OK]
  o- loopback ....................................................... [Targets: 0]
  o- vhost .......................................................... [Targets: 0]
  o- xen-pvscsi ..................................................... [Targets: 0]

La copie d'écran ci-dessus montre l'association des identités iSCSI des systèmes Initiator et Target.

Q28.

Quelles sont les options de connexion proposées avec la commande iscsiadm ?

Donnez un exemple illustrant l'établissement d'une connexion.

Consultez les pages de manuels de la commande identifiée précédemment.

sudo iscsiadm -m node
    -T iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8 \
    -p [2001:678:3fc:171:baad:caff:fefe:5] \
    -l
Login to
  [iface: default, target: iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8,
  portal: 2001:678:3fc:171:baad:caff:fefe:5,3260] successful.

Dans l'exemple ci-dessus, la connexion sans authentification est un succès dans la mesure où les paramètres d'authentification et de protection en écriture ont été forcés à zéro sur la configuration du système Target. Voir la section intitulée « Partie portail iSCSI »

Q29.

Comment obtenir les caractéristiques de l'unité de stockage iSCSI associée ?

Revoir la question Quelle est la commande apparentée à ls qui permet d'obtenir la liste des périphériques de stockage en mode bloc ? et/ou consulter les journaux système.

Le résultat de la commande lsblk montre l'arrivée d'un nouveau volume de stockage.

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0    32G  0 disk
sr0          11:0    1  1024M  0 rom
vda         254:0    0   366K  0 disk
nvme1n1     259:1    0    32G  0 disk
nvme0n1     259:3    0   120G  0 disk
├─nvme0n1p1 259:4    0     3M  0 part
├─nvme0n1p2 259:5    0   124M  0 part /boot/efi
└─nvme0n1p3 259:6    0 119,9G  0 part /

Voici un extrait des messages de journalisation du système.

journalctl -n 200 --grep '(sda|iscsi)'
initiator iscsid[6922]: Connection2:0 to [target:
  iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8, 
  portal:2001:678:3fc:171:baad:caff:fefe:5,3260] through [iface: default]
  is operational now
initiator kernel: sd 6:0:0:0: [sda] Attached SCSI disk
initiator kernel: sd 6:0:0:0: [sda] Optimal transfer size 131072 bytes
initiator kernel: sd 6:0:0:0: [sda] Preferred minimum I/O size 512 bytes
initiator kernel: sd 6:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
initiator kernel: sd 6:0:0:0: [sda] Mode Sense: 43 00 10 08
initiator kernel: sd 6:0:0:0: [sda] Write Protect is off
initiator kernel: sd 6:0:0:0: [sda] 67108864 512-byte logical blocks: (34.4 GB/32.0 GiB)
initiator kernel: scsi host6: iSCSI Initiator over TCP/IP

Q30.

Donnez la liste des entrées de périphériques de stockage créées par le démon udev ?

Listez les entrées de périphériques mode bloc de l'arborescence système.

Les fichiers de description des périphériques mode bloc sont tous situés dans le répertoire /dev/. En reprenant l'exemple ci-dessus, on obtient :

ls -lA /dev/[v,s]d*
brw-rw---- 1 root disk   8, 0 24 août  11:27 /dev/sda
brw-rw---- 1 root disk 254, 0 22 août  19:14 /dev/vda

L'entrée /dev/sda correspond à l'unité de disque iSCSI. L'unité de disque est donc bien vue de façon transparente comme un périphérique local du système accessible en mode bloc. Il entre bien dans la catégorie SAN ou Storage Area Network.

7.3. Réinitialiser la session iSCSI

Dans le cas d'une nouvelle configuration avec un autre hôte Target ou dans le cas d'un dépannage, il est utile de pouvoir reprendre les paramètres du rôle Initiator.

Q31.

Comment obtenir la liste des sessions actives avec le système Target ?

Consultez les pages de manuels de la commande de configuration du rôle Initiator : iscsiadm.

C'est le mode session, documenté dans les pages de manuels de la commande iscsiadm, qui permet de répondre à la question.

sudo iscsiadm -m session
tcp: [2] [2001:678:3fc:171:baad:caff:fefe:5]:3260,1
    iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8 (non-flash)

Q32.

Comment libérer toutes les sessions actives depuis le système Initiator ?

Consultez les pages de manuels de la commande de configuration du rôle Initiator : iscsiadm.

Pour cette question, c'est le mode node qui nous intéresse.

sudo iscsiadm -m node -U all
Logging out of session [sid: 2,
    target: iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8, portal: 2001:678:3fc:171:baad:caff:fefe:5,3260]
Logout of [sid: 2,
    target: iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8, portal: 2001:678:3fc:171:baad:caff:fefe:5,3260]
    successful.

Il faut relancer une nouvelle session iSCSI pour traiter les manipulations suivantes.

7.4. Rendre la session iSCSI permanente

Une fois la connexion à la ressource iSCSI testée, passez à la configuration système de façon à retrouver le volume de stockage après un redémarrage du système Initiator.

Q33.

Comment rendre l'ouverture session iSCSI automatique lors de l'initialisation du système Initiator ?

Recherchez dans la liste des fichiers du paquet open-iscsi les éléments relatifs à la configuration système. Éditez le fichier de configuration principal de façon à rendre automatique le lancement du service.

Au niveau système, les fichiers de configuration sont nécessairement dans le répertoire /etc/.

dpkg -L open-iscsi | grep '/etc/iscsi'
/etc/iscsi
/etc/iscsi/iscsid.conf

Le fichier /etc/iscsi/iscsid.conf contient une directive dans la section Startup settings qui rend automatique l'accès à une ressource déjà enregistrée. Voici le contenu de cette section extraite du fichier de configuration.

#*****************
# Startup settings
#*****************

# To request that the iscsi initd scripts startup a session set to "automatic".
node.startup = automatic
[Avertissement] Avertissement

Attention ! Après édition du fichier /etc/iscsi/iscsid.conf, la valeur automatic n'est appliquée que pour les nouvelles opérations de découverte et d'ouverture de session.

sudo sed -i 's/^node.startup = manual/node.startup = automatic/' /etc/iscsi/iscsid.conf
sudo systemctl restart open-iscsi.service
systemctl status open-iscsi.service
● open-iscsi.service - Login to default iSCSI targets
     Loaded: loaded (/usr/lib/systemd/system/open-iscsi.service; enabled; preset: enabled)
     Active: active (exited) since Sun 2025-08-24 14:31:42 CEST; 7s ago
 Invocation: cc7d753b5ecc4235990e6fb658c2ef07
       Docs: man:iscsiadm(8)
             man:iscsid(8)
    Process: 7471 ExecStart=/usr/sbin/iscsiadm -m node --loginall=automatic (code=exited, status=21)
    Process: 7472 ExecStart=/usr/lib/open-iscsi/activate-storage.sh (code=exited, status=0/SUCCESS)
   Main PID: 7472 (code=exited, status=0/SUCCESS)
   Mem peak: 2M
        CPU: 51ms

août 24 14:31:42 initiator systemd[1]: Starting open-iscsi.service - Login to default iSCSI targets...
août 24 14:31:42 initiator iscsiadm[7471]: iscsiadm: No records found
août 24 14:31:42 initiator systemd[1]: Finished open-iscsi.service - Login to default iSCSI targets.

La copie d'écran ci-dessus montre que l'ouverture de session est automatique au lancement du service open-iscsi.service et qu'en l'état actuel aucun enregistrement de session n'est présent dans la configuration.

Voici un nouvel exemple d'instructions de découverte puis d'ouverture de session.

sudo iscsiadm -m discovery \
    --type sendtargets \
    --portal=[2001:678:3fc:171:baad:caff:fefe:5]
[2001:678:3fc:171:baad:caff:fefe:5]:3260,1
    iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8
sudo iscsiadm -m node \
    -T iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8 \
    -p [2001:678:3fc:171:baad:caff:fefe:5] \
    -l
Login to [iface: default,
    target: iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8,
    portal: 2001:678:3fc:171:baad:caff:fefe:5,3260] successful.

Q34.

Comment connaître l'état et la liste d'une session iSCSI active ?

Consultez les pages de manuels de la commande de configuration du rôle Initiator : iscsiadm.

Le mode session est dédié aux manipulations sur les sessions. La commande de test la plus simple est la suivante.

sudo iscsiadm -m session
tcp: [1] [2001:678:3fc:171:baad:caff:fefe:5]:3260,1
    iqn.2003-01.org.linux-iscsi.target.x8664:sn.5fc599ddeef8 (non-flash)

Si la liste est vide, il n'y a pas de session iSCSI active en cours.

Il est possible d'obtenir davantage d'informations sur les paramètres de session en cours à l'aide de l'option -P suivie d'un numéro désignant le niveau de détail attendu.

La commande iscsiadm -m session -P 3 affiche les paramètres sur les interfaces réseau utilisées, etc.

sudo iscsiadm -m session -P 3

Q35.

Comment retrouver un point de montage unique de l'unité de stockage iSCSI après réinitialisation du système Initiator ?

Créez un répertoire de montage et rechercher les options utiles dans les pages de manuels des commandes mount, systemd.mount et blkid. Éditer le fichier /etc/fstab en utilisant les options sélectionnées. Noter que le fichier fstab possède ses propres pages de manuels.

La création du répertoire destiné au montage du volume de stockage iSCSI se fait simplement.

sudo mkdir /var/cache/iscsi-vol0

C'est à cette étape que les question de la Section 5, « Préparer une unité de stockage » sont utiles.

Après partitionnement de l'unité de stockage iSCSI /dev/sda et formatage de la partition /dev/sda1, relevez l'identifiant unique de ce volume avec la commande blkid. Voici un exemple.

lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda    8:0    0  32G  0 disk
sudo parted /dev/sda mklabel gpt
Information: You may need to update /etc/fstab.
sudo parted /dev/sda mkpart myOwnPartition ext4 1MiB 100%
Information: You may need to update /etc/fstab.
sudo blkid /dev/sda1
/dev/sda1: UUID="97049e50-931a-4741-8c87-faf2582c494f"
    BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="myOwnPartition"
    PARTUUID="acc9f840-4b0b-4ffe-86e3-b8c499a90021"
sudo mount -U "97049e50-931a-4741-8c87-faf2582c494f" /var/cache/iscsi-vol0/
mount mount | grep iscsi
/dev/sda1 on /var/cache/iscsi-vol0 type ext4 (rw,relatime)
sudo touch /var/cache/iscsi-vol0/empyFile.txt
sudo ls -l /var/cache/iscsi-vol0/
total 16
-rw-r--r-- 1 root root     0 24 août  17:12 empyFile.txt
drwx------ 2 root root 16384 24 août  17:10 lost+found
sudo umount /var/cache/iscsi-vol0

Q36.

Quelles sont les informations à insérer dans le fichier /etc/fstab pour assurer le montage du volume de stockage à chaque initialisation du système ?

Consultez les pages de manuels de la commande mount ainsi que la documentation du paquet open-iscsi.

Le choix des options à utiliser lors de l'édition du fichier /etc/fstab constitue un point très délicat.

echo "PARTUUID=\"acc9f840-4b0b-4ffe-86e3-b8c499a90021\"\
/var/cache/iscsi-vol0  ext4  _netdev  0   2" |\
sudo tee -a /etc/fstab
  • Le choix de la valeur UUID se fait à partir du résultat de la commande blkid donné ci-dessus.

  • Le point de montage /var/cache/iscsi-vol0 a lui aussi été défini ci-dessus.

  • Le système de fichiers utilisé est, là encore, connu : ext4.

  • L'option _netdev spécifie que le système de fichiers réside sur un périphérique nécessitant des accès réseau. Il est donc inutile d'y accéder tant qu'aucune interface réseau n'est active.

sudo mount -a
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
mount | grep iscsi
/dev/sda1 on /var/cache/iscsi-vol0 type ext4 (rw,relatime,stripe=32,_netdev)
sudo ls -l /var/cache/iscsi-vol0/
total 16
-rw-r--r-- 1 root root     0 24 août  17:12 empyFile.txt
drwx------ 2 root root 16384 24 août  17:10 lost+found

Une fois les tests de validation du montage effectués, on procède au démontage de la partition dans le but de traiter les questions des sections suivantes.

sudo umount /var/cache/iscsi-vol0/
sudo sed -i '/^PARTUUID="acc9f840-4b0b-4ffe-86e3-b8c499a90021".*/d' /etc/fstab
cat /etc/fstab
PARTUUID=95ed2e41-f56c-4cc0-a79e-c93a07e93c79 / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
PARTUUID=71f5d30c-8e21-4372-81f6-11eb66815669 /boot/efi vfat defaults,umask=077 0 2

La table des montages système est revenue à l'état initial.