iSCSI ist ein blockbasiertes Speicherprotokoll, das SCSI-Befehle über IP-Netzwerke überträgt. In ONTAP werden hierfür LUNs (Logical Unit Numbers) innerhalb von Volumes erstellt und über eine SAN-Infrastruktur an Hosts (Initiatoren) gemappt.
Um zu sehen, welche Hosts aktuell über iSCSI mit dem Vserver verbunden sind:
vserver iscsi connection show -vserver svm_iscsi-DR
Gibt eine Übersicht über alle LUNs, deren Größe und den Online-Status:
lun show -vserver svm_iscsi-DR
Für iSCSI ist es Best Practice, dedizierte LIFs in isolierten Subnetzen (SAN-A / SAN-B) zu verwenden. iSCSI LIFs unterstützen im Gegensatz zu NFS/CIFS kein automatisches Failover (SPOF-Vermeidung erfolgt über MPIO auf Host-Seite).
Der Host benötigt den IQN (iSCSI Qualified Name) des Vservers, um die Verbindung aufzubauen:
vserver iscsi show -vserver svm_iscsi-DR -fields target-name
network interface show -vserver svm_iscsi-DR -data-protocol iscsi
Die Bereitstellung von Block-Speicher erfolgt in drei Kernschritten:
In einer igroup werden die IQNs der Hosts hinterlegt, die Zugriff erhalten sollen.
# igroup für einen Windows- oder ESXi-Host erstellen
lun igroup create -vserver svm_iscsi-DR -igroup ig_hv01 -protocol iscsi -ostype windows -initiator iqn.1991-05.com.microsoft:hv01.corp.local
LUNs liegen immer innerhalb eines Volumes. Es wird empfohlen, pro LUN ein eigenes Volume zu verwenden (1:1 Mapping).
# Volume erstellen
volume create -vserver svm_iscsi-DR -volume vol_lun_data01 -aggregate aggr1 -size 550GB -state online
# LUN innerhalb des Volumes erzeugen
lun create -vserver svm_iscsi-DR -path /vol/vol_lun_data01/lun_data01 -size 500GB -ostype windows
Hierbei wird die LUN für die zuvor erstellte igroup freigegeben.
lun mapping create -vserver svm_iscsi-DR -path /vol/vol_lun_data01/lun_data01 -igroup ig_hv01
LUNs können im laufenden Betrieb vergrößert werden. Danach muss der Host (Windows Disk Management oder ESXi Rescan) den neuen Platz erkennen.
# 1. Volume vergrößern (muss immer größer als die LUN sein)
volume size -vserver svm_iscsi-DR -volume vol_lun_data01 -new-size +100GB
# 2. LUN vergrößern
lun resize -vserver svm_iscsi-DR -path /vol/vol_lun_data01/lun_data01 -size 600GB
Um Latenzen und IOPS speziell für eine LUN zu prüfen:
statistics show -object lun -instance /vol/vol_lun_data01/lun_data01
Um eine LUN sicher zu entfernen, muss die Kette in umgekehrter Reihenfolge gelöst werden:
# 1. Mapping aufheben
lun mapping delete -vserver svm_iscsi-DR -path /vol/vol_lun_data01/lun_data01 -igroup ig_hv01
# 2. LUN offline nehmen und löschen
lun offline -vserver svm_iscsi-DR -path /vol/vol_lun_data01/lun_data01
lun delete -vserver svm_iscsi-DR -path /vol/vol_lun_data01/lun_data01
# 3. Volume bereinigen
volume offline -vserver svm_iscsi-DR -volume vol_lun_data01
volume delete -vserver svm_iscsi-DR -volume vol_lun_data01
Stelle sicher, dass auf dem Host-System ein Multipath-Treiber (z. B. Windows MPIO oder ALUA unter Linux) konfiguriert ist, damit beim Ausfall eines Pfades der Zugriff auf die LUN nicht unterbrochen wird.