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.
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
Enable-ClusterS2D -CimSession $ClusterName -Confirm:$false -VerboseVolumes 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 Nodes →
Mirror(2-Wege-Spiegelung) - 3+ Nodes →
Mirror(3-Wege-Spiegelung)
# ===================== 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:
# ===================== 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.