iSCSI-Befehle fassen die wichtigsten Werkzeuge für blockbasierten Speicher über IP-Netze zusammen: Auf der Initiator-Seite (Client) ist das vor allem iscsiadm aus dem open-iscsi-Paket, auf der Target-Seite (Speicher-Server) die Shell targetcli. Die Grundlagen liefert der Artikel iSCSI: Block-Storage über IP-Netze.

Targets entdecken (Discovery)

Der Initiator fragt beim Speicher-Server (Portal) per SendTargets ab, welche Targets er anbietet. Üblich ist der Standard-Port 3260:

iscsiadm -m discovery -t sendtargets -p 192.168.1.10     # Discovery
iscsiadm -m discovery -t st -p 192.168.1.10:3260         # Kurzform
iscsiadm -m node                                         # bekannte Knoten anzeigen
iscsiadm -m node -o show                                 # gespeicherte Parameter

Jedes Target ist über seinen IQN (iSCSI Qualified Name, Format iqn.JAHR-MONAT.reverse.domain:name) eindeutig adressiert. Nach dem Discovery liegt der Knoten unter /etc/iscsi/nodes/<IQN>/<Portal>/ und kann eingebunden werden.

Verbindung herstellen und automatisieren

iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --login   # Session aufbauen
iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --logout  # trennen
iscsiadm -m session                                                           # aktive Sessions
iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --op update -n node.startup -v automatic

Die letzte Zeile setzt node.startup=automatic, damit der Server die Platte nach einem Neustart selbst wieder einbindet. Die eingebundenen LUNs erscheinen als normale Blockgeräte /dev/sdX; lsblk, dmesg und bei Mehrfachpfaden multipath -ll zeigen sie an. Danach kann man wie auf einer lokalen Platte partitionieren und ein Dateisystem anlegen.

CHAP-Authentifizierung

Zur Absicherung setzt iSCSI meist CHAP ein. Die Zugangsdaten werden am Knoten gespeichert, bevor man sich einloggt:

iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --op update -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --op update -n node.session.auth.username -v initiator1
iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --op update -n node.session.auth.password -v geheim123
iscsiadm -m node -T iqn.2026-09.de.example:storage -p 192.168.1.10 --login

Target-Seite mit targetcli

Unter Linux stellt man iSCSI-Targets mit targetcli bereit (Paket targetcli-fb, Dienst target). Zuerst wird ein Backstore angelegt — ein Blockgerät oder eine Datei, die als LUN exportiert wird:

targetcli
/> backstores/block create name=disk1 dev=/dev/sdb          # ganze Platte
/> backstores/fileio create name=file1 file_or_dev=/srv/iscsi/disk1.img size=10G
/> iscsi/ create iqn.2026-09.de.example:storage              # Target anlegen
/> iscsi/iqn.2026-09.de.example:storage/tpg1/luns create /backstores/block/disk1
/> iscsi/iqn.2026-09.de.example:storage/tpg1/acls create iqn.2026-09.de.example:client1
/> saveconfig
/> exit

Die ACL (Access Control List) legt fest, welcher Initiator-IQN sich verbinden darf. saveconfig schreibt die Konfiguration nach /etc/target/saveconfig.json, damit sie einen Neustart übersteht.

Neben iSCSI über TCP/IP gibt es mit FCoE-Befehlen die Layer-2-Variante für konvergierte Netze; moderne NVMe-SANs konfiguriert man mit NVMe-oF-Befehlen.

Verwandte Grundlagen: iSCSI, Fibre Channel, NVMe-oF.