iSCSI LUN per Kommandozeile unter Windows einbinden

iSCSI LUN per Kommandozeile unter Windows einbinden

iSCSI ermöglicht es, Blockspeicher über ein normales TCP/IP-Netzwerk anzubinden – als wäre es eine lokale Festplatte. Die grafische Windows-Oberfläche dafür ist umständlich, wenn man mehrere Targets einbinden oder den Prozess automatisieren möchte. Die Kommandozeile ist hier die bessere Wahl.

iSCSI-Dienst aktivieren und starten

Der iSCSI-Initiator-Dienst (msiscsi) ist unter Windows standardmäßig vorhanden, aber nicht gestartet. Zuerst setzt man den Starttyp auf automatisch und startet den Dienst:

sc config msiscsi start= auto
net start msiscsi

Wichtig: Das Leerzeichen nach start= ist kein Tippfehler – es ist Pflicht bei sc config.

Danach prüft man, ob der Dienst läuft:

sc \localhost query msiscsi

Die Ausgabe sollte STATE: 4 RUNNING zeigen. Wenn nicht, prüft man das Windows-Eventlog auf Fehler.

Target Portal hinzufügen

Das Target Portal ist die IP-Adresse (und optional der Port) des iSCSI-Targets – also des Storage-Systems, das die LUN bereitstellt. Den Portal-Eintrag fügt man mit iscsicli.exe hinzu:

iscsicli.exe QAddTargetPortal 192.168.1.100

Wenn der iSCSI-Target nicht auf dem Standardport 3260 läuft, gibt man Port und optionale Parameter explizit an:

iscsicli.exe AddTargetPortal 192.168.1.100 3260 * * * * * * * * * * * * *

Verfügbare Targets auflisten

Nach dem Hinzufügen des Portals kann man die verfügbaren iSCSI-Targets abfragen:

iscsicli.exe ListTargets

Die Ausgabe zeigt die IQN-Namen (iSCSI Qualified Names) der verfügbaren Targets, z. B. iqn.2001-05.com.equallogic:0-8a0906-d3a5b4602-e8700000000000de-server-lun01.

Target anmelden (Login)

Mit dem IQN des Targets kann man sich anmelden:

iscsicli.exe QLoginTarget iqn.2001-05.com.equallogic:0-8a0906-d3a5b4602-e8700000000000de-server-lun01

Das Q vor den Befehlen steht für „Quick“ – es verwendet die Standardparameter. Für CHAP-Authentifizierung oder persistente Verbindungen braucht man die Vollform:

iscsicli.exe PersistentLoginTarget <iqn> T * * * * * * * * * * * * * * * 0

Das T steht für „persistente Verbindung“ – die LUN wird nach einem Neustart automatisch wieder eingebunden.

Verbindungen und Sessions anzeigen

:: Aktive Sessions anzeigen
iscsicli.exe SessionList

:: Verbundene Targets anzeigen
iscsicli.exe ListInitiatorTargets

:: Persistente Targets anzeigen
iscsicli.exe ReportPersistentLoginTargets

LUN in Windows verfügbar machen

Nach dem erfolgreichen Login erscheint die iSCSI-LUN als neue Festplatte in der Windows-Datenträgerverwaltung (diskmgmt.msc). Bei einer neuen LUN muss man sie initialisieren, eine Partition anlegen und formatieren – genauso wie eine physische Festplatte. Per Skript geht das mit diskpart:

diskpart
list disk
select disk 1
online disk
attributes disk clear readonly
convert gpt
create partition primary
format fs=ntfs label="iSCSI-LUN" quick
assign letter=E
exit

Fazit

Die Kommandozeilenvariante mit iscsicli.exe ist deutlich flexibler als die grafische Oberfläche des iSCSI-Initiators. Vor allem für automatisierte Deployments, Serverinstallationen ohne GUI oder die Verwaltung vieler Targets ist der CLI-Ansatz unverzichtbar. Die wichtigsten Befehle sind schnell auswendig gelernt und lassen sich problemlos in Skripte integrieren.