Tags: Storage, Hyperkonvergenz, Windows Server 2016, Troubleshooting
Wird hochverfügbarer Speicher auf Basis von Storage Spaces Direct etwa als Hybrid aus SSDs und HDDs konfiguriert, dann können überbeanspruchte mechanische HDD irgendwann ausfallen. Dieser Artikel beschreibt, wie S2D mit derartigen Fehlern umgeht und wie defekte Platten ohne Downtime getauscht werden.
In meinem Labor kommen zwei Fujitsu RX2540 M2 Knoten und konfigurierten Storage Spaces Direct zum Einsatz. Der Storage-Pool basiert auf 2 SSDs als Cache/Journal Devices und 6 SATA-HDDs mit je 1,82 TB/7200 RPM pro Node an einem PSAS CP400i HBA. Über diesen Pool habe ich 3 Cluster Shared Volumes mit einem Footprint von 16,6 TB angelegt.
Insgesamt kann ein Pool mit 21,9 TB genutzt werden, dabei muss man die Zwei-Wege-Spiegelung einkalkulieren (50 Prozent Effizienz). Reservekapazität ist demnach vorhanden, da der Pool nicht komplett allokiert wurde (21,9 - 16,6 = 5,3 TB Reserve). Somit werden Reparaturen automatisch eingeleitet, ohne ein defektes Laufwerk unmittelbar austauschen zu müssen.
Defektes Laufwerk im S2D-Pool erkennen
Ohne Monitoring-Tools wie SCOM oder die neue Web-Konsole Honolulu erkennt man eine ausgefallene Platte beispielsweise im Failovercluster-Manager unter dem S2D-Pool am Health Status Warning. Auch CSVs zeigen zu Beginn den Operational Status Incomplete und Health Status Warning.
Nachdem dieses Problem erkannt ist, hilft PowerShell mit gezielten Abfragen weiter. Mit dem Befehl
Get-PhysicalDisk | Sort SlotNumber |
FT FriendlyName, Size, SerialNumber, UniqueID, SlotNumber, CanPool, `
HealthStatus, OperationalStatus, Usage, MediaType -AutoSize
frage ich unter anderem speziell nach dem Slot und der Seriennummer.
Auch eine Abfrage gegen den Health Service über das Cmdlet
Get-StorageSubSystem Cluster* | Debug-StorageSubSystem
hilft hier Probleme zu erkennen und einzugrenzen. Die Location ist der Knoten S2D-Node-01 (Fault Domain awareness) mit Slot position 4.
Nach wenigen Minuten (~10) sollte die Festplatte von selbst auf Retired (ausgeschieden) gesetzt werden. Funktioniert dieser Vorgang nicht automatisch, hilft das Cmdlet Set-PhysicalDisk:
$HDD = Get-PhysicalDisk |? SerialNumber -EQ W46035MD
Set-PhysicalDisk -InputObject $HDD -Usage Retired
Wurde die Platte auf den Status Retired geändert, dann verlagern sich die Daten selbständig nach einigen Minuten auf die Reservekapazität (Repair). Entsprechend wird die HDD nicht mehr genutzt (0 %) und es fließen auch keine neuen Daten in ihre Richtung.
HDD aus dem S2D-Pool entfernen
Bevor ich die Platte dem Pool entziehe und austausche, lasse ich die LED des Festplattenrahmens im Rack aufleuchten, um sie identifizieren zu können:
Enable-PhysicalDiskIdentification $HDD
Dann wird die HDD folgendermaßen manuell aus dem Pool entfernt:
Remove-PhysicalDisk -PhysicalDisks $HDD -StoragePoolFriendlyName "S2D-Pool"
Hinweis: Auch über den Server Manager können viele dieser Aufgaben erledigt werden.
Neue HDD dem S2D-Pool hinzufügen
Eine neue HDD wurde mit CanPool = True initialisiert und nach wenigen Minuten automatisch in unseren S2D-Pool integriert. Sollte dieser Vorgang nicht automatisiert erfolgen, hilft das Cmdlet Add-PhysicalDisk nach folgendem Muster:
Add-PhysicalDisk -PhysicalDisks $HDD -StoragePoolFriendlyName "S2D-Pool"
Optimierung und Rebalance
Ist die Hard Disk Drive jetzt im Pool, wird auch hier automatisch der Rebalance der Daten angeschoben. Mit einem Get-StorageJob lässt sich dieser Hintergrundprozess abgreifen. Im Labor stoße ich den Prozess händisch an mit:
Optimize-StoragePool -FriendlyName "S2D-Pool"
Über das PrettyPool-Script beobachte ich diesen Vorgang, wie die animierte Darstellung aus mehreren Screenshots zeigt:
Dabei erkennt man gut, dass sich die neue Platte befüllt und Daten-slabs verteilt werden. Der Prozess des Rebalancing passiert im Hintergrund und beeinflusst die Performance unseres Clusters nur wenig.
Hinweis: Auch im Failover Cluster Manager unterhalb des Pools kann dieser Prozess live nachverfolgt werden.
Nützliche Cmdlets rund um den Storage sind außerdem:
Täglich Know-how für IT-Pros mit unserem Newsletter
Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infrastructure Architect unter anderem für den japanischen Konzern JTEKT/TOYODA mit Verantwortung über die Europastandorte Krefeld und Paris. Darüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Lokationen des Konzerns mit und ist spezialisiert auf hochverfügbare virtualisierte Microsoft-Umgebungen plus Hybrid Cloud Solutions. Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.
// Kontakt: E-Mail, Twitter, LinkedIn //
Verwandte Beiträge
- Performance-Daten von S2D sammeln und analysieren unter Windows Server 2019
- Controller, Cache, Laufwerkstypen: Speicher für Storage Spaces Direct planen
- VMware vSphere 7 Update 3: Neue Features in vSAN 7.2
- Azure Stack HCI 21H2: Soft Reboot, Passthrough-GPUs für VMs, Storage Thin Provisioning
- Storage-Kapazität bei VMware vRealize Log Insight erhöhen
Weitere Links