# 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

# 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

  1. Symptom: Disk ist nach Reboot weg.

    • Ursache: Verbindung wurde nicht als “Persistent” (Dauerhaft) markiert.
    • Lösung: Connect-IscsiTarget -IsPersistent $true.
  2. 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!
  3. Symptom: iSCSI Target Dienst startet nicht.

    • Ursache: Die Partition, auf der die .vhdx Files liegen, ist offline oder BitLocker-gesperrt.

# “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


# 7. Fazit & Empfehlung

iSCSI ist die “SAN-Lösung des kleinen Mannes” – aber hochgradig professionell.


# Anhang: Cheatsheet

Aufgabe Befehl / Tool
Initiator Konsole iscsicpl.exe
MPIO Konsole mpiocpl.exe
Portal Liste Get-IscsiTargetPortal
IQN des PCs (Get-InitiatorPort).NodeAddress

# Referenzen