# Proxmox iSCSI Storage: Block-Ebene für den Enterprise-Cluster
TL;DR / Management Summary Während NFS (Artikel 688) auf Dateiebene arbeitet, liefert iSCSI rohe Datenblöcke über das Ethernet-Netzwerk. Es ist die bevorzugte Methode, um externe SAN-Speicher (z.B. Dell ME, NetApp, TrueNAS) an einen Proxmox-Cluster anzubinden. Ein Senior Admin nutzt iSCSI für hochperformante VM-Disks und implementiert zwingend Multipathing (MPIO), um die Ausfallsicherheit bei Switch- oder Kabeldefekten zu garantieren.
# 1. Einführung & iSCSI Architektur
Vom Kabel zur LUN.
iSCSI (Internet Small Computer Systems Interface) nutzt Standard-TCP/IP (Port 3260).
- Initiator: Der Proxmox-Host.
- Target: Der Storage-Server / das SAN.
- LUN (Logical Unit Number): Die virtuelle Festplatte, die dem Host präsentiert wird.
- Vorteil: Die VM schreibt direkt auf die Blöcke der LUN, was die Latenz im Vergleich zu Dateisystem-Wrappern (
.qcow2) deutlich senkt.
# 2. Einrichtung in der Praxis
Der Weg zum Target.
# Schritt 1: Discovery
Datacenter -> Storage -> Add -> iSCSI.
- ID:
SAN-Disk-01. - Portal: IP des SAN-Controllers.
- Target: Wählen Sie den IQN aus der Liste aus.
- Content: Nur “Disk Image” (da iSCSI keine Dateien/ISOs speichern kann).
# Schritt 2: LVM oben drauf (Multi-VM Support)
Eine iSCSI-LUN kann normalerweise nicht von mehreren VMs gleichzeitig genutzt werden (Dateisystem-Corruption).
- Lösung: Erstellen Sie eine LVM-Group auf dem iSCSI-LUN.
- Aktion:
Datacenter -> Storage -> Add -> LVM. Wählen Sie als “Base Storage” den eben erstellten iSCSI-Eintrag. - Shared: Aktivieren Sie den Haken “Shared”, damit alle Knoten im Cluster darauf zugreifen dürfen.
# 3. Deep Dive: Multipath I/O (MPIO)
Schutz vor dem ‘Bagger-Effekt’.
Betreiben Sie iSCSI niemals über eine einzige Leitung.
- Installation:
apt install multipath-tools. - Hardware: Verbinden Sie den Host über zwei getrennte Switche mit dem SAN.
- Konfiguration: Linux erkennt die gleiche Disk über zwei Wege und bündelt sie zu einem
/dev/mapper/mpathXDevice. - Vorteil: Zero-Downtime bei Switch-Wartung.
# 4. Day-2 Operations: CHAP-Authentifizierung
Wer darf an die Daten?
Sichern Sie den iSCSI-Zugriff ab:
- CHAP: Ein Challenge-Response-Handshake.
- Aktion: Hinterlegen Sie User und Secret im SAN und in den Proxmox-Storage-Settings. Dies verhindert, dass ein fremder PC im VLAN Ihre VM-Disks mountet.
# 5. Troubleshooting & “War Stories”
Wenn die LUN verschwindet.
# Top 3 Fehlerbilder
-
Symptom: VM startet nicht (“Disk locked by another node”).
- Ursache: Ein verwaister SCSI Reservation Lock (PR).
- Lösung:
iscsiadm -m session -P 3prüfen und ggf. Session am betroffenen Host neustarten.
-
Symptom: Massive Schreibverzögerungen.
- Ursache: Flow Control am Switch deaktiviert oder MTU Mismatch (Artikel 636).
- Lösung: Jumbo Frames (9000) aktivieren und Flow-Control am Switch einschalten.
-
Symptom: Host bootet langsam.
- Ursache: Proxmox wartet beim Booten auf iSCSI-Targets, die offline sind.
# “War Story”: Der “Double-Mount” Datenverlust
Ein Admin mountete eine iSCSI-LUN direkt auf zwei Hosts mit dem Dateisystem Ext4, ohne LVM-Shared oder einen Cluster-Filesystem (wie OCFS2). Das Ergebnis: Beide Hosts schrieben gleichzeitig in die Metadaten des Dateisystems. Innerhalb von 10 Minuten war die Partition so korrupt, dass keine Datei mehr lesbar war. Lehre: iSCSI ist Block-Storage. Ohne eine koordinierende Schicht (LVM-Shared oder Proxmox-interne Sperren) darf eine LUN niemals von zwei Hosts gleichzeitig schreibend gemountet werden!
# 6. Monitoring & Reporting
Latenz im SAN.
# iostat Analyse
Beobachten Sie die Latenz:
iostat -x 5
- KPI:
avgqu-sz(Warteschlange). Wenn dieser Wert dauerhaft > 5 ist, kommt Ihr SAN mit den Anfragen nicht hinterher.
# 7. Fazit & Empfehlung
iSCSI ist das Kraftpaket für Enterprise-Cluster.
- Empfehlung: Nutzen Sie iSCSI für alle schreibintensiven VMs (SQL, ERP, Exchange).
- Wichtig: Nutzen Sie für iSCSI-Traffic immer dedizierte physische Netzwerkkarten (getrennt vom Management/LAN), da die CPU-Last für das Paket-Processing bei 10G+ erheblich sein kann.
# Anhang: Cheatsheet (iSCSI CLI)
| Aufgabe | Befehl |
|---|---|
| Discovery | iscsiadm -m discovery -t st -p <IP> |
| Login | iscsiadm -m node -T <Target> -p <IP> -l |
| Session Liste | iscsiadm -m session |
| Multipath Status | multipath -ll |