Guides Bulletproof Deployments #1 – Hyper-V

Teil 4 von 6

Teil 4: Storage Spaces Direct

Storage Spaces Direct aktivieren und konfigurieren, Cluster Shared Volumes erstellen.

Storage Spaces Direct fasst die lokalen Disks aller Nodes zu einem gemeinsamen Storage Pool zusammen. Daraus entstehen Cluster Shared Volumes, auf denen die VMs landen.

Voraussetzungen

Vor der Aktivierung müssen folgende Schritte aus den vorherigen Teilen abgeschlossen sein:

  • Teil 1: Disks wurden bereinigt
  • Teil 2: Fault Domain konfiguriert (zwingend bei Campus Cluster)
  • Teil 3: Storage Intent mit Network ATC erstellt

Disks prüfen

Vor der Aktivierung sicherstellen, dass alle Storage-Disks auf allen Nodes sichtbar und poolbar sind. Der Wert CanPool muss für alle vorgesehenen Disks True sein.

Disk-Status auf allen Nodes prüfen
Invoke-Command -ComputerName $Servers -ScriptBlock {
Get-PhysicalDisk |
Where-Object BusType -ne USB |
Where-Object { $_.MediaType -ne "Unspecified" } |
Select-Object FriendlyName, MediaType, Size, CanPool, CannotPoolReason |
Sort-Object MediaType |
Format-Table -AutoSize
}

S2D aktivieren

Storage Spaces Direct aktivieren
Enable-ClusterS2D -CimSession $ClusterName -Confirm:$false -Verbose

Volumes erstellen (CSV)

Für Storage Spaces Direct wird ReFS verwendet. Das Dateisystem ist auf S2D ausgelegt und sollte außerhalb davon nicht eingesetzt werden.

Resiliency

Für klassischen VM-Workload wird ausschließlich Mirror empfohlen. Mirror gewährleistet maximale Performance und Verfügbarkeit.

  • 2 NodesMirror (2-Wege-Spiegelung)
  • 3+ NodesMirror (3-Wege-Spiegelung)
Einzelnes Volume erstellen
# ===================== ANPASSEN =====================
$VolumeName = "CSV-WLD-01" # Name des Volumes
$VolumeSize = 10TB # Größe des Volumes
# =================== NICHT ANPASSEN =================
Invoke-Command -ComputerName $ClusterName -ScriptBlock {
New-Volume `
-StoragePoolFriendlyName S2D* `
-FriendlyName $using:VolumeName `
-FileSystem CSVFS_ReFS `
-StorageTierFriendlyNames MirrorOnSSD `
-StorageTierSizes $using:VolumeSize
}

Für mehrere Volumes auf einmal kann eine Liste verwendet werden:

Mehrere Volumes erstellen
# ===================== ANPASSEN =====================
$Volumes = @(
@{ Name = "CSV-WLD-01"; Size = 10TB },
@{ Name = "CSV-WLD-02"; Size = 10TB },
@{ Name = "CSV-MGMT-01"; Size = 2TB }
)
# =================== NICHT ANPASSEN =================
Invoke-Command -ComputerName $ClusterName -ScriptBlock {
foreach ($Vol in $using:Volumes) {
New-Volume `
-StoragePoolFriendlyName S2D* `
-FriendlyName $Vol.Name `
-FileSystem CSVFS_ReFS `
-StorageTierFriendlyNames MirrorOnSSD `
-StorageTierSizes $Vol.Size
}
}

Die CSVs sind anschließend auf allen Nodes unter C:\ClusterStorage\ verfügbar und bereit für die VM-Ablage.