# iSCSI Deep Dive: Enterprise Storage über den Ethernet-Stack
TL;DR / Management Summary iSCSI (Internet Small Computer Systems Interface) erlaubt den Transport von SCSI-Befehlen über TCP/IP Netze. Der Windows Server kann beide Rollen übernehmen: Der Initiator (Client) bindet Remote-Speicher ein, der Target Server stellt Speicher für andere Hosts bereit. Für Senior Admins ist iSCSI das Standard-Protokoll für den Betrieb von Proxmox-Clustern oder Hyper-V-Clustern ohne Fibre Channel Hardware.
# 1. Einführung & Architektur
Block-Speicher über die Leitung.
Im Gegensatz zu SMB (Datei-Ebene) arbeitet iSCSI auf Block-Ebene. Windows sieht die Remote-Disk als lokale Festplatte im Geräte-Manager.
# Schlüsselkomponenten
- IQN (iSCSI Qualified Name): Die eindeutige Adresse (z.B.
iqn.1991-05.com.microsoft:srv-storage-01). - LUN (Logical Unit Number): Die Nummer der virtuellen Disk innerhalb des Targets.
- MPIO (Multi-Path I/O): Bündelung mehrerer Netzwerkkarten für Redundanz und Speed.
# Architektur-Übersicht (Mermaid)
graph LR
subgraph "Initiator (Client)"
HOST[Hyper-V / Proxmox Node]
MPIO[MPIO Driver]
end
subgraph "Storage Network"
SW1[Switch A]
SW2[Switch B]
end
subgraph "Target (Storage Server)"
TGT[Windows iSCSI Target]
VHDX[Data.vhdx]
end
HOST --> SW1 & SW2
SW1 & SW2 --> TGT
TGT --> VHDX
# 2. iSCSI Target Setup
Speicher bereitstellen.
# Schritt 1: Rolle installieren
Install-WindowsFeature -Name FS-iSCSITarget-Server -IncludeManagementTools
# Schritt 2: Virtual Disk & Target erstellen
# VHDX erstellen, die als LUN dient
New-IscsiVirtualDisk -Path "D:\iSCSI\VMStorage01.vhdx" -Size 1TB
# Target erstellen und Initiator-IQN erlauben
New-IscsiServerTarget -TargetName "Proxmox-Cluster" -InitiatorId "IQN:iqn.1993-08.org.debian:01:proxmox-node-01"
# Mapping
Add-IscsiVirtualDiskTargetMapping -TargetName "Proxmox-Cluster" -DevicePath "D:\iSCSI\VMStorage01.vhdx"
# 3. Deep Dive: iSCSI Initiator & MPIO
Sicherer Speicher-Import.
# MPIO (Multi-Pathing)
Installieren Sie das Feature Multipath-IO, damit Windows bei zwei Netzwerkkabeln nicht “zwei Disks” sieht, sondern einen fehlertoleranten Pfad.
Enable-MSDSMAutomaticClaim -BusType iSCSI
# Verbindung aufbauen
In der iscsicpl.exe oder via PowerShell:
New-IscsiTargetPortal -TargetPortalAddress 10.0.10.5
Connect-IscsiTarget -NodeAddress "iqn.1991-05.com.microsoft:srv-storage-01" -IsPersistent $true
# 4. Day-2 Operations: Performance Tuning
10G Speed wirklich nutzen.
# Jumbo Frames
Stellen Sie die MTU auf 9000 am Switch und an der NIC. Dies reduziert die CPU-Last massiv, da weniger Pakete verarbeitet werden müssen.
# Network Isolation
Betreiben Sie iSCSI-Traffic immer in einem eigenen physischen Netz oder VLAN. iSCSI ist sehr empfindlich gegenüber Jitter und Broadcast-Stürmen.
# 5. Troubleshooting & “War Stories”
Wenn die Disk ‘verschwindet’.
# Top 3 Fehlerbilder
-
Symptom: Disk ist nach Reboot weg.
- Ursache: Verbindung wurde nicht als “Persistent” (Dauerhaft) markiert.
- Lösung:
Connect-IscsiTarget -IsPersistent $true.
-
Symptom: “The target has already been logged in” (bei Cluster-Nodes).
- Ursache: Mehrere Initiatoren greifen auf das gleiche Target zu, ohne dass ein Cluster-Filesystem (wie CSV) genutzt wird. Gefahr von Datenverlust!
-
Symptom: iSCSI Target Dienst startet nicht.
- Ursache: Die Partition, auf der die
.vhdxFiles liegen, ist offline oder BitLocker-gesperrt.
- Ursache: Die Partition, auf der die
# “War Story”: Der “Ghost” Initiator
Ein Admin änderte den Hostnamen eines Proxmox-Knotens. Das Ergebnis: Die iSCSI-Verbindung brach ab. Die Ursache: Da sich mit dem Hostnamen oft auch der IQN ändert (wenn er dynamisch generiert wird), passte die ACL am Windows Target Server nicht mehr. Lehre: Definieren Sie feste IQNs und dokumentieren Sie diese in Ihrem Inventory (Artikel 489).
# 6. Monitoring & Alerting
Die Latenz-Falle.
# Wichtige KPIs
- iSCSI \ Read Bytes/sec: Transferrate.
- PhysicalDisk \ Avg. Disk sec/Read: Das ist die Latenz! Alles über 20ms ist für VMs spürbar (“Hänger”).
# 7. Fazit & Empfehlung
iSCSI ist die “SAN-Lösung des kleinen Mannes” – aber hochgradig professionell.
- Empfehlung: Nutzen Sie iSCSI für Shared Storage in virtuellen Clustern. Es ist einfacher zu debuggen als Fibre Channel.
- Sicherheit: Nutzen Sie CHAP-Authentifizierung, um zu verhindern, dass unbefugte PCs in Ihrem Storage-VLAN einfach die Disks mounten.
# Anhang: Cheatsheet
| Aufgabe | Befehl / Tool |
|---|---|
| Initiator Konsole | iscsicpl.exe |
| MPIO Konsole | mpiocpl.exe |
| Portal Liste | Get-IscsiTargetPortal |
| IQN des PCs | (Get-InitiatorPort).NodeAddress |