iSCSI
iSCSI (Internet Small Computer System Interface) est un protocole de stockage qui utilise TCP/IP pour les communications entre les clients (serveurs MS Windows / Linux) et les serveurs que sont les baies de stockages.
Le stockage iSCSI est un stockage de type SAN (Storage Area Network) — partage de stockage de type bloc — contrairement au partage de fichiers (genre NFS/Samba/CIFS) qui est appelé NAS (Network Attached Storage). Dans le cas du iSCSI et des configuration SAN en général, le partage se fait au niveau d'un disque — LUN (Logical Unit Number) — et pas de fichiers ou répertoires.
Le nom iSCSI vient de la méthode utilisée pour accéder aux disques distants, qui transporte des commandes SCSI sur un réseau TCP/IP classique. Ceci permet d'utiliser du stockage distant et (potentiellement) partagé sans nécessiter une infrastructure dédiée et coûteuse en fiber channel (FC).
INFO
Fiber Channel (FC) est un protocole de communication haute vitesse dédié au stockage, utilisant une infrastructure réseau spécialisée. Contrairement à iSCSI qui s'appuie sur TCP/IP standard, FC offre des performances supérieures et une latence réduite, mais nécessite un investissement matériel plus important en équipements dédiés.
Le port par défaut est le TCP 3620
| Caractéristique | iSCSI | NFS | Samba/CIFS |
|---|---|---|---|
| Type de partage | Bloc (SAN) | Fichiers (NAS) | Fichiers (NAS) |
| Ce que voit le client | Disque brut (LUN) — /dev/sdX | Système de fichiers monté — /mnt/share | Partages réseau monté — /mnt/smbshare |
| Filesystem | Géré par le client (ext4…) | Géré par le serveur | Géré par le serveur |
| Cas d'usage | Virtualisation, bases de données, haute performance | Partage générique Unix/Linux | Partage générique Windows/Linux |
| Ports | TCP 3620 | TCP/UDP 111, 2049 | TCP 139, 445 |
Les composants
Les éléments présents dans une infrastructure iSCSI sont :
- la target qui est le périphérique de stockage qui partage l'espace disque et;
- l'initiator, le composant software qui tourne sur le serveur qui doit accéder au stockage. Dans notre cas, ce sera le serveur Proxmox;
- un identifiant unique, IQN (iSCSI Qualified Name) de la forme :
iqn.AAAA-MM-domain:identifier; - un LUN (Logical Unit Number), un disque exposé à travers iSCSI dans un point d'accès TPG (Target Portal Group) de la forme :
IP:port; - un backstore qui représente le disque là ou le LUN représente plutôt la baie logique (une partition, un volume LVM…);
INFO
Il existe un composant spécifique qui est appelé passerelle iSCSI, en général du hardware dédié, qui permet de donner accès à des baies de stockage FC qui ne sont pas capable de communiquer en iSCSI nativement. C'est un équipement qui fait la conversion entre iSCSI et FC.
Configuration
Il y a plusieurs manières de mettre en œuvre un SAN sous linux : LIO (linux-IO target), TrueNAS…
LIO (linux-IO target)
LIO (linux-IO target) est le framework cible iSCSI intégré au noyau, piloté par la commande targetcli. Il permet de configurer une machine comme target.
REMARQUE
targetcli-fb est le package qui va bien et targetcli la commande associée.
Le serveur
Préparer le stockage, c'est, une fois la commande targetcli lancée :
créer un ou plusieurs backstores
bash/> cd /backstores/block /backstores/block> create <lun name> /dev/vdbINFO
Ils existent de 2 types : block et fileio. Nous utilisons le type block.
créer une ou plusieurs target
bash/> cd /iscsi /iscsi> create iqn.2026-03.zeus:target01créer des ACL pour autoriser un ou plusieurs initiator
bash/> cd /iscsi/iqn.2026-03.zeus:target01/tpg1/acls /iscsi/.../acls> create iqn.2026-03.zeus:<login>ajouter un login / password pour la connection via CHAP (Challenge-Handshake Authentication Protocol)
bash/> cd /iscsi/iqn.2026-03.zeus:target01/tpg1/acls/iqn.2026-03.zeus:<login> /iscsi/.../iqn.2026-03.zeus:<login>> set attribute authentication=1 /iscsi/.../iqn.2026-03.zeus:<login>> set auth userid=<login> /iscsi/.../iqn.2026-03.zeus:<login>> set auth password=<password>associer le ou les backstores à la target
bash/> cd /iscsi/iqn.2026-03.zeus:target01/tpg1/luns /iscsi/iqn.20...mes/tpg1/luns create /backstores/block/<lun name>vérifier et sauvegarder
bash/> ls / /> cd / /> saveconfig /> exit
Le reste se fait ensuite du côté des clients.
Un client
C'est l'initiator le client qui se connecte à la target pour utiliser les disques. Sous linux — et donc également pour Proxmox — c'est le paquet open-iscsi qui s'en charge.
ASTUCE
Sur une machine Proxmox le paquet est déjà installé mais on peut le vérifier. Dans la foulée, installer le paquet lsscsi s'il ne l'est pas.
configurer le nom de l'initiator dans le fichier
/etc/iscsi/initiatorname.iscsi. Ce nom correspond exactement à celui défini plus hautiqn.2026-03.zeus:target01et correspondant à une ACL sur la target.confInitatorName=iqn.2026-03.zeus:target01donner ses credentials. Dans le fichier
/etc/iscsi/iscsid.conf, chercher les lignes suivantes et les mettre à jour :bashnode.session.auth.authmethod = CHAP node.session.auth.username = <login> node.session.auth.password = <password>
Il est possible de vérifier (la connexion et) la liste des ressources sur la target :
lister les ressources disponibles sur la target
bashiscsiadm -m discovery -t sendtargets -p <IP>se connecter
bashiscsiadm -m node \ -T iqn.2026-03.zeus:target01 \ -p <IP> --loginlister les sessions actives
bashiscsiadm -m session -o showvérifier les disques disponibles (LUN logic unit)
bashlsscsi
Le reste pourra se faire à partir de l'interface de Proxmox en ajoutant un stockage iSCSI.

En quelques étapes :
Ajout du stockage iSCIS distant

L'id peut être choisi, le portal est l'IP et les targets devraient apparaitre.

Ajouter un disque, par exemple LVM

Les LUN disponibles devraient apparaitre, en choisir un.

TrueNAS
TrueNAS est une solution complète et intégrée de stockage en réseau basée sur FreeBSD. Contrairement à LIO qui est un framework bas niveau nécessitant une configuration manuelle détaillée, TrueNAS offre une interface web intuitive et une gestion centralisée du stockage.
REMARQUE
TrueNAS est bien plus qu'une simple solution de stockage en réseau. Elle permet également de créer des vms (machines virtuelles), des conteneurs, d'installer des applications…
Son utilité est plutôt orientée « usage domestique » ou petite entreprise.
TrueNAS partie partages (shares) où l'on voit qu'il est également possible de créer de simples partages SMB/CIFS ou NFS.

Configuration d'un partage iSCSI en utilisant le sorcier (wizard) :
création de la cible

association à du storage local

exposition de l'iqn (dont on ne choisira pas le nom)

La support iSCSI est alors disponible sur Proxmox
