Anleitung: Windows Server 2016 Cluster OS Rolling Upgrade

    Cluster OS Rolling UpgradeHyper-V-Cluster unter Windows Server 2012 R2 lassen sich auf Server 2016 aktuali­sieren, indem ein Knoten nach dem anderen migriert wird. Bei diesem OS Rolling fährt der Cluster vorüber­gehend im gemischten Betrieb. Die folgende Anleitung erklärt, wie man dabei verfahren muss.

    Das grundsätzliche Vorgehen habe ich im vorangegangen Artikel Umstieg auf Windows Server 2016: Rolling Upgrade für Hyper-V-Cluster beschrieben. Eine wesentliche Rolle spielt dabei die Live Migration von VMs, um alle Workloads unterbrechungs­frei von einem Host abzuziehen. Anschließend werden die evakuierten Knoten dem Verbund entzogen und mit Server 2016 neu installiert, bevor man sie wieder eingliedert.

    Vorbereitungen

    Im Folgenden gehe ich in meinem Hyper-V-Labor durch das Cluster Operating System Rolling Upgrade anhand eines 3-Knoten-Verbundes mit einem gemeinsamen iSCSI-Zielspeicher. Die 2012-R2-Knoten wurden zuvor mit den aktuellen Updates versorgt. Anschließend empfehlen sich folgende Maßnahmen:

    • Backup der Clusterdatenbank erstellen (System State)
    • Backups der Anwendungen bzw. VMs verifizieren
    • Prüfen, ob ein Cluster Aware Updating (CAU) aktuell Updates verteilt, bevorzugt mit dem PowerShell-Cmdlet Get-CauRun. Ein eventuell konfiguriertes CAU stoppt man mit Disable-CauClusterRole.

    Ein eventuelles Cluster Aware Updating (CAU) stoppt man mit Disable-CauClusterRole.

    Knoten aus Cluster entfernen

    Anschließend pausiere ich den ersten Knoten (im Beispiel Node 3) mit Windows Server 2012 R2 und nehme ihn aus dem Cluster. Dazu wird im Failovercluster-Manager aus dem Kontextmenü des Knotens der Befehl Anhalten => Rollen ausgleichen ausgeführt,

    Knoten pausieren über den Failovercluster-Manager

    oder alternativ mit PowerShell die Workload ausgeglichen:

    Suspend-ClusterNode Node3 -drain

    Danach erst kann der Knoten aus dem Verbund entfernt werden, entweder über die GUI oder mit dem PowerShell-Befehl

    Remove-ClusterNode Node3

    Knoten aus dem Verbund entfernen

    Windows Server 2016 neu installieren

    Nachdem der Knoten nicht mehr Mitglied im Cluster ist, installiere ich ihn mit Windows Server 2016 neu (kein Upgrade von 2012 R2 auf 2016). Das umfasst folgende Schritte:

    • Hyper-V 2016 setzt SLAT-fähige CPUs vorausgesetzt, dies lässt sich mit coreinfo –v verifizieren.
    • Zukünftigen Knoten auf Windows Updates prüfen und ggfs. installieren
    • Netzwerkkonfiguration wiederherstellen (LAN, VM Traffic, etc.). Beispiel-Teaming mit:
      New-NetLbfoTeam -Name MGM -TeamMembers Ethernet4,Ethernet5 `
      -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic
    • Active Directory Beitritt mit vorherigem Hostnamen hier: Node3
    • Bei iSCSI-SAN, iSCSI-Initiator mit Target verbinden
    • Installation der Hyper-V-Rolle über den Server Manager oder mit PowerShell:
      Add-WindowsFeature Hyper-V –IncludeManagementTools
      Anschießend Server-Neustart.
    • Virtuellen Switch erstellen und auf gleichen Namen für spätere Live Migrationen achten:
      New-VMSwitch -NetAdapterName VMTraffic -Name vSwitch -AllowManagementOS 0
    • Installation des Features Failoverclustering, entweder über den Server Manager oder via
      Add-WindowsFeature Failover-Clustering -IncludeManagementTools
    • Mit bestehendem Cluster verbinden über die GUI des Failovercluster-Managers
    • Wiederaufnahme des Knotens in den Cluster-Verbund, damit erreichen wir den Mixed-Mode aus 2012 R2 und 2016:
      Add-ClusterNode -Cluster CRU-Windowspro.lab.local

    Knoten zum Verbund hinzufügen mit dem Failovercluster-Manager.

    • Mit Get-ClusterNode lässt sich verifizieren, ob alle Knoten präsent und online sind.
    • Live Migration der virtuellen Maschinen auf den neuen Knoten, in PowerShell mit
      Move-ClusterVirtualMachineRole -Name HA-VM-16-2 -Node Node3

    Der neuinstallierte Knoten wird dem Verbund wieder hinzugefügt.

    Bis hierhin gibt es keine Downtime der virtuellen Systeme, die enthaltenen Anwendungen sind durchgehend verfügbar. Über den Failovercluster-Manager von Windows Server 2016 lässt sich der Verbund abwärtskompatibel administrieren.

    Cluster-Level prüfen und anheben

    Ein

    Get-Cluster | Select UpdateFunctionalLevel

    auf dem neuen Node gibt das aktuelle Cluster-Versions-Level aus, in diesem Fall 8.

    Dieser Mixed-Mode bleibt solange aufrecht, bis der Verbund stabil arbeitet. Anschließend unterziehe ich weitere Knoten dem hier beschriebenen Upgrade-Verfahren. Wenn alle Knoten unter Windows Server 2016 laufen und VMs problemlos migriert wurden, dann kann das Cluster-Level endgültig angehoben werden.

    Nicht umkehrbarer Prozess mit Update-ClusterFunctionalLevel

    Dazu dient das PowerShell Cmdlet Update-ClusterFunctionalLevel, welches mit dem Hinweis ausgeführt wird, dass dieser Prozess irreversibel ist. Sie sollten also sicher sein, dass Ihr Verbund zuvor stabil geformt wurde. Auch der Cluster-Validierungstest macht darauf aufmerksam, wenn Cluster noch im Mixed-Mode laufen oder VMs in einer Version unter 7.0.

    Virtuelle Hardware der VMs aktualisieren

    Microsoft bietet mit dem manuellen Upgrade der VM-Version die Option, VMs noch weiterhin auf älteren Betriebssystemen zu starten. Allerdings kommt man erst mit aktuellstem Versionsstand in den Genuss der neuen Features von Hyper-V 2016. Ein Upgrade der VM-Version erfolgt im ausgeschalteten Zustand mit Update-VMVersion -Name <VM>.

    5 Kommentare

    Bild von Fanello
    Fanello sagt:
    26. Mai 2016 - 13:40

    Hi,

    wie ist das denn mit der Aktivierung der VMs bei Datacenter? Kann ich unter 2016 auch vms mit 2012 r2 ausführen, die mit AVMA aktiviert wurden? Nicht dass nach einem Upgrade auf 2016 der Hosts die VMs alle neu von Hand aktiviert werden müssen, da diese ja vorerst weiter unter 2012r2 laufen.

    Grüße fanello

    Bild von Marcel Küppers
    26. Mai 2016 - 20:51

    Hallo Fanello,

    sehr interessante Frage, leider kann ich dazu im Moment der TP5 nicht viel sagen. Ich persönlich gehe davon aus, dass MS AVMA weiter berücksichtigt.

    Ich habe diese Frage notiert und gehe ihr nach. Sobald es etwas zu berichten gibt, gebe ich hier wieder Antwort.

    Besten Gruß,
    Marcel

    Bild von Stefan
    Stefan sagt:
    26. Juli 2016 - 15:49

    Ich traue ich mich auch mal, Server 2016 aufzuspielen. Danke für die Anleitung, deine Seite ist echt super!

    Bild von Marcel Küppers
    27. Juli 2016 - 8:15

    Hallo Stefan,

    viel Erfolg beim Testen, 2016 hat wirklich eine Menge klasse Features, beispielsweise

    Containers:

    https://www.windowspro.de/marcel-kueppers/container-windows-server-2016-funktionsweise-typen-anwendungen

    oder Storage Replica:

    https://www.windowspro.de/marcel-kueppers/storage-replica-luns-volumes-replizieren-windows-server-2016

    plus Storage Spaces Direct:

    https://www.windowspro.de/marcel-kueppers/storage-spaces-direct-hyper-converged-infrastructure-windows-server-2016-einrichten


    usw.

    Danke für die Anleitung, deine Seite ist echt super!

    Vielen Dank für Dein positives Feedback!

    Gruß,
    Marcel