Tags: Storage, Hyperkonvergenz, Cluster, Patch-Management
Immer wenn Updates auf produktiv genutzten Clustern mit Storage Spaces Direct eingespielt werden müssen, versetzt man einen Knoten nach dem anderen in den Wartungsmodus. Das kann manuell oder automatisiert per Cluster-Aware Updating passieren. Dabei migrieren VMs unterbrechungsfrei auf andere Cluster-Knoten.
Microsoft Hyper-V Cluster, hier hyper-converged mit Storage Spaces Direct (S2D), unterliegen dem regulären Windows-Update-Intervall. Das Patchen von Knoten welche Compute und Storage gleichzeitig liefern, erfordert jedoch eine spezielle Herangehensweise. Lokale Datenträger eines Knoten und somit Teil des Gesamt-Pools sind im Moment des Updaten kurzfristig nicht verfügbar.
Neue Funktionen und volle Leistung durch Updates
Das S2D-Feature in Windows Server 2016 Datacenter ist eine technologische Neuerung, und Aktualisierungen können bekanntermaßen nicht nur zusätzliche Funktionen, sondern auch mehr Stabilität mit sich bringen. Somit ist es nicht nur aus Sicherheitsgründen hier ratsam, Updates zeitnah zu installieren.
Zusätzlich sollten Treiber und Firmware für HBAs, RDMA NICs oder NVMe´s in regelmäßigen Abständen kontrolliert und bei ggfs. problematischen Lücken aktualisiert werden. Erfahrungsgemäß haben aktuelle Hersteller-Treiber meist den Effekt, dass Hardware nach dem Upgrade unter anderem ihre volle Leistung entfalten kann. Simulierte Arbeitslasten mit VM Fleet oder separat Diskspd helfen bei der Verifizierung.
Schritte zum Aktualisieren eines Hyper-converged S2D-Clusters
Produktive S2D-Cluster erfordern beim Update besondere Sorgfalt, und daher sollte der folgende Fahrplan eingehalten werden, um potenzielle Ausfallzeiten zu vermeiden:
- Der zu aktualisierende Knoten wird in den Wartungsmodus versetzt
- Dabei werden die Rollen, hier: VMs, live migriert und der Knoten pausiert (Drain Roles)
- Windows-Updates installieren oder Treiber bzw. Firmware aktualisieren
- Bei Bedarf Neustart des Knotens
- Zurückmigrieren der Rollen (Fail Roles Back)
- Nächsten Knoten in den Wartungsmodus versetzen nach Storage-Resync
Gesundheitsstatus der Disks vorab prüfen
Bevor ich nun den ersten Knoten meines 2-Knoten-PoC-Clusters aktualisiere, prüfe ich zu Beginn den Gesundheitsstatus des Storage-Subsystems. Dafür verwende ich hier 4 Cmdlets:
Get-VirtualDisk liefert jedoch erste Indikatoren. Folgendes Bild zeigt sich bei einem Problem im Verbund:
Befinden sich Virtual Disks im degraded state, dann können Knoten im nächsten Schritt nicht angehalten werden und die Fehlermeldung
A clustered space is in a degraded condition and the requested action cannot be completed at this time
erscheint beim Versuch, den Knoten zu pausieren.
Knoten manuell anhalten und Rollen ausgleichen
Um Knoten manuell in den Wartungsmodus zu schicken, werden diese über den Failovercluster-Manager angehalten und die Rollen ausgeglichen. Über die Navigation im linken GUI-Fenster erreichen wir unter Knoten den zu aktualisierenden Knoten, wo wir aus dessen Kontextmenü dann den Befehl Pause => Drain Roles (auf Deutsch: Anhalten => Rollen ausgleichen) ausführen.
Das entsprechende Kommando sieht in PowerShell so aus:
Suspend-ClusterNode -Name S2D-Node-02 -Drain
Virtuelle Maschinen wandern jetzt live, je nach Priorität, zum bestmöglichen Knoten. In unserem Labor-Beispiel sind zwei gleichzeitige VM-Migrationen konfiguriert und der Rest wartet auf seine Übertragung (Queued).
Wurden alle Rollen ausgeglichen, kann der Server mit Updates versorgt werden und auch einem Neustart oder Shutdown steht nichts im Weg. Die Volumes verbleiben auch bei einem 2-Knoten-S2D-Cluster online und hochverfügbare VMs bieten unterbrechungsfrei ihre Dienste weiter an. Der Witness des 2-Node Clusters liegt als File-share auf einem benachbarten Server. Im angehaltenen Zustand fließt kein Storage I/O zu den Disks des Knotens.
Knoten fortsetzen, Failback für Rollen und Resync abwarten
Nachdem der Knoten wieder erreichbar ist und die Wartungsarbeiten erledigt sind, kann über Nodes => Resume => Fail Roles Back (Knoten => Fortsetzen => Failback für Rollen ausführen) dieser wieder online am Verbund teilnehmen. Virtuelle Maschinen werden bei dieser Aktion zurückmigriert.
Über PowerShell stößt man diesen Vorgang wie folgt an:
Resume-ClusterNode -Name S2D-Node-02 -Failback Immediate
Der verpasste Storage I/O wird nun automatisch synchronisiert, dabei werden nur Veränderungen abgeglichen. Wie weit dieser Vorgang fortgeschritten ist, lässt sich mit PowerShell abfragen:
Get-StorageJob
In der Spalte PercentComplete liefert die Konsole den aktuellen prozentualen Status des Resync. Bevor man nun den nächsten Knoten in den Wartungszustand versetzt, sollte dieser Prozess zu 100 Prozent abgeschlossen sein.
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
- Cluster-Aware Updating für Windows Server: Anleitung am Beispiel von Storage Spaces Direct
- Azure Stack HCI 21H2: Soft Reboot, Passthrough-GPUs für VMs, Storage Thin Provisioning
- VMware vSAN 6.x auf 7.0 (Update 1) aktualisieren
- VMware vSAN 6.7: Witness-Appliance für 2-Node-Cluster einrichten
- Azure Stack HCI Single-Node-Cluster installieren
Weitere Links