Tags: OS Deployment, Hyper-V, Migration, Windows Server 2016, Cluster
Hyper-V-Cluster unter Windows Server 2012 R2 lassen sich ohne Downtime für die virtuellen Maschinen auf Server 2016 aktualisieren, indem ein Knoten nach dem anderen migriert wird. Bei diesem OS Rolling fährt der Cluster vorübergehend im gemischten Betrieb. Die folgende Anleitung erklärt, wie man dabei vorgeht.
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 unterbrechungsfrei 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.
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,
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
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
- 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
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.
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>.
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.
Verwandte Beiträge
- Hyper-V VM-Konfigurationsversion: Upgrade über GUI oder PowerShell, Feature-Übersicht
- MAP Toolkit 9.6 prüft Voraussetzungen für Migration auf Server 2016
- Node Fairness: Automatischer Lastausgleich zwischen Cluster-Knoten in Hyper-V 2016
- Umstieg auf Windows Server 2016: Rolling Upgrade für Hyper-V-Cluster
- Hyper-V: VM-Versionen unter Windows 10 und Server 2016 verwalten
Weitere Links
5 Kommentare
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
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
Aktuell zu AVMA: https://technet.microsoft.com/en-us/library/dn303421(v=ws.11).aspx
Ich traue ich mich auch mal, Server 2016 aufzuspielen. Danke für die Anleitung, deine Seite ist echt super!
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