# Storage Spaces Direct (S2D): Hyper-Converged Infrastructure (HCI)

TL;DR / Management Summary Storage Spaces Direct (S2D) ist das Herzstück der Microsoft HCI-Lösung. Es fasst den lokalen Speicher mehrerer Server (2 bis 16 Knoten) zu einem hochverfügbaren, fehlertoleranten Pool zusammen – ganz ohne teures externes SAN. Ein Senior Admin nutzt S2D, um kostengünstige und extrem performante Cluster auf Basis von Standard-Hardware (NVMe/SSD) aufzubauen. Zwingende Voraussetzung: Windows Server Datacenter Edition und RDMA-fähige Netzwerkkarten.


# 1. Einführung & Architektur

SAN in Software gegossen.

S2D nutzt das Netzwerk (Ethernet), um Daten zwischen den Knoten zu replizieren. Jede VM-Disk ist redundant auf verschiedenen physischen Servern gespeichert.

# Die Komponenten

  1. Software Storage Bus: Die virtuelle Verbindung zwischen allen lokalen Disks im Cluster.
  2. Storage Pool: Die Aggregation aller Disks (SATA, SAS, NVMe).
  3. Cluster Shared Volume (CSV): Das Dateisystem, das gleichzeitig von allen Knoten gelesen/beschrieben werden kann.

# Architektur-Diagramm (Mermaid)

graph TD
    subgraph "Node 1"
    SSD1[SSD]
    NV1[NVMe]
    end
    subgraph "Node 2"
    SSD2[SSD]
    NV2[NVMe]
    end
    subgraph "Node 3"
    SSD3[SSD]
    NV3[NVMe]
    end

    SSD1 & NV1 & SSD2 & NV2 & SSD3 & NV3 --> BUS[Software Storage Bus]
    BUS --> POOL[Unified Storage Pool]
    POOL --> VOL[Virtual Disks / CSV]
    VOL --> VMs[Hyper-V Workloads]

# 2. Einrichtung in der Praxis

Vom Server zum Pool.

# Hardware-Voraussetzungen

# Cluster-Erstellung (PowerShell)

# 1. Cluster validieren (Kritisch: Alle Tests müssen bestanden werden!)
Test-Cluster -Node "S2D-01","S2D-02","S2D-03" -Include "Storage Spaces Direct"

# 2. Cluster erstellen
New-Cluster -Name "HCI-Cluster" -Node "S2D-01","S2D-02","S2D-03" -StaticAddress 10.0.0.100

# 3. S2D aktivieren
Enable-ClusterStorageSpacesDirect -Confirm:$false

# 3. Deep Dive: Tiering & Cache

Mix aus Speed und Kapazität.

S2D verwaltet automatisch zwei Schichten:


# 4. Day-2 Operations: Wartung & Ausfall

Resilienz im Alltag.

# Disk-Ausfall

S2D erkennt defekte Disks sofort. Der Status wechselt auf Retired.

# Knoten-Wartung (Patching)

Bevor Sie einen Server neustarten, müssen Sie den Speicher-Dienst in den Wartungsmodus versetzen:

Suspend-ClusterNode -Name "S2D-01" -Drain

Die Daten-Chunks (Extents) werden temporär auf den anderen Knoten als “Dirty” markiert und nach dem Reboot sofort resynchronisiert.


# 5. Troubleshooting & “War Stories”

Wenn das Netzwerk zum Flaschenhals wird.

# Top 3 Fehlerbilder

  1. Symptom: Extrem langsame VM-Performance.

    • Ursache: RDMA ist nicht korrekt konfiguriert. Der Traffic läuft über den Standard-TCP-Stack und frisst CPU-Zyklen.
    • Lösung: Get-NetAdapterRdma und PFC (Priority Flow Control) am Switch prüfen.
  2. Symptom: Pool ist im Status “Degraded” nach einem Reboot.

    • Lösung: Geduld haben. S2D muss die geänderten Blöcke abgleichen. Prüfen Sie den Fortschritt mit Get-StorageJob.
  3. Symptom: “Incompatible Disks” beim Aktivieren von S2D.

    • Ursache: Die Disks enthalten noch alte Partitionstabellen oder RAID-Metadaten.
    • Fix: Clear-Disk -Number X -RemoveData.

# “War Story”: Der Switch-Kollaps

Wir bauten einen 4-Knoten S2D Cluster ohne RDMA-Switches (nur billige 10G Kupfer-Switches). Das Ergebnis: Sobald ein Knoten ausfiel und der Rebuild-Prozess startete, stieg der Packet-Loss auf 20%. Da S2D den gleichen Switch für Replikation und VM-Traffic nutzte, konnten sich die User nicht mehr an den VMs anmelden. Lehre: S2D Replikations-Traffic ist aggressiv. Nutzen Sie getrennte physische Switche oder striktes QoS/PFC, um den Storage-Traffic vom User-Traffic zu isolieren.


# 6. Monitoring & Reporting

Health-Metriken.

# S2D Health Service

# Zeigt alle aktuellen Fehler im Cluster an
Get-HealthFault

# Dashboard Metriken


# 7. Fazit & Empfehlung

S2D ist die modernste Art, Windows-Speicher zu betreiben.


# Anhang: Cheatsheet

Aufgabe Befehl
S2D Status `Get-StorageSubSystem -Name Cluster
Disks auflisten Get-PhysicalDisk
Volume erstellen New-Volume -FriendlyName "Data" -FileSystem ReFS
Performance Report Get-StoragePerformanceStatistic

# Referenzen