ISCSI

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Stockage en réseau — SCSI sur IP
Port 3260/tcp
Commandes targetcli (serveur) · iscsiadm (client)
Voir aussi IP · SAN

iSCSI (Internet SCSI) est un protocole d'encapsulation : il transporte le protocole SCSI au-dessus d'IP, ce qui permet de partager du stockage bloc sur un réseau IP classique plutôt que sur un SAN Fibre Channel dédié. Un target (serveur) expose un ou plusieurs LUN (disques), et un initiator (client) s'y connecte pour les voir comme des disques locaux.

Côté serveur (target) — targetcli

yum install targetcli
targetcli

Dans le shell interactif targetcli :

/> cd /backstores/
/backstores> block/ create block1 /dev/vg_iscsi/disk_lv     # backstore sur un volume LVM existant
/backstores> block/ create block2 /dev/vdb2                   # backstore sur une partition brute
/backstores> fileio/ create file1 /root/disk1_file 100M        # backstore sur un fichier (type image disque)

/> cd /iscsi/
/iscsi> create iqn.2014-06.com.example:remotedisk1              # crée le target IQN
/iscsi> cd iqn.2014-06.com.example:remotedisk1/tpg1/
/iscsi/.../tpg1> acl/ create iqn.2014-06.com.example:client0     # autorise un initiator précis
/iscsi/.../tpg1> luns/ create /backstores/block/block1           # attache un LUN au target
/iscsi/.../tpg1> portals/ create 0.0.0.0                          # écoute sur toutes les interfaces
/> exit                                                            # sauvegarde la configuration

Types de backstore :

Type Description
block Un périphérique bloc existant (LV, partition) exposé tel quel
fileio Un fichier du filesystem serveur, exposé comme un disque (image disque, type vmdk)
pscsi Passthrough vers un périphérique SCSI physique
ramdisk Disque en RAM (volatile)

Ouvrir le port et activer le service :

firewall-cmd --add-port=3260/tcp --permanent
firewall-cmd --reload
systemctl enable --now target

Côté client (initiator) — iscsiadm

yum install iscsi-initiator-utils     # RHEL/CentOS
apt-get install open-iscsi             # Debian/Ubuntu

cat /etc/iscsi/initiatorname.iscsi     # IQN local du client

Découverte et connexion :

iscsiadm -m discovery -t sendtargets -p 192.0.2.10               # découvre les targets exposés
iscsiadm -m node                                                    # liste les enregistrements découverts
iscsiadm -m node --targetname iqn.2014-06.com.example:remotedisk1 --portal 192.0.2.10:3260 --login
lsblk                                                               # le LUN apparaît comme un disque local

Gestion des sessions :

iscsiadm -m session                    # sessions actives
iscsiadm -m session -P 3                # détail complet (targets, LUN)
iscsiadm -m node -R                      # rescan des chemins

iscsiadm -m node --targetname iqn.2014-06.com.example:remotedisk1 --portal 192.0.2.10:3260 --logout
iscsiadm -m node --targetname iqn.2014-06.com.example:remotedisk1 --portal 192.0.2.10:3260 -o delete   # + ne pas se reconnecter au reboot

Voir aussi

  • SAN — alternative Fibre Channel dédiée (débit/latence supérieurs, infrastructure séparée)
  • IP — couche de transport utilisée par iSCSI