Umstieg auf Windows Server 2016: Rolling Upgrade für Hyper-V-Cluster

    Windows Server 2016 Cluster Rolling OS UpgradeWindows Server 2016 erlaubt ein Upgrade von Hyper-V-Clustern unter Server 2012 R2 ohne Downtime der VMs. Ermöglicht wird dieser sanfte Übergang vor allem dadurch, dass man Cluster bis zur endgültigen Umstellung aller Knoten im gemischten Modus betreiben kann.

    Ein solcher Migrationspfad ist keine Selbstverständlichkeit, nachdem bisherige Versionen von Windows Server für die Migration einen höheren Aufwand und auch Downtime erforderten. Cluster-Knoten mussten entfernt, mit dem neuen Betriebssystem installiert und zu einem neuen Cluster geformt werden, bevor VMs entweder mit Unterbrechung importiert oder per Shared Nothing Migration cross-transferiert werden konnten. Eine Rückwärtsrolle bei der VM-Verteilung zu einem Knoten mit dem vorhergehenden OS gab es nicht.

    Gemischter Betrieb während der Umstellung

    Windows Server 2016 lässt es dagegen zu, einzelne Nodes bequem zu aktualisieren, dem bestehenden Verbund wieder hinzuzufügen und diese gemischte Umgebung eine Zeitlang zu betreiben. Auch der komplette Weg zurück bleibt nicht versperrt, vielmehr können 2016er-Nodes zurückgestuft werden, solange man das ClusterFunctionalLevel nicht endgültig angehoben hat.

    Migrationszustände beim Cluster OS Rolling Upgrade

    Ein Cluster Operating System (OS) Rolling Upgrade erfordert einen Windows Server 2012 R2 Failover-Cluster als Ausgangslage, also Cluster Functional Level 8. Im Labor spiele ich die Migrations­zustände für "In-Place"-Upgrades anhand eines Hyper-V Failovercluster mit 3 Knoten inklusive eines gemeinsamen Speichers (Windows Server als iSCSI-Target) und eines lokalen Quorums durch.

    Upgrade des Clusters beginnen

    Beginnend mit Zustand A, dem reinen Windows Server 2012 R2 Failover Cluster, wird ein Knoten dieses Verbundes pausiert, entfernt und mit Windows Server 2016 neu installiert. Die virtuellen Maschinen dieses Hosts werden unter der Voraussetzung zuvor live migriert (zero downtime), dass die restlichen Knoten entsprechend genügend freie Kapazitäten aufweisen, um die zusätzlichen Workloads aufzunehmen.

    Auf Knoten 3 wird zuerst Windows Server 2016 installiert, dazu wird er erst pausiert.

    Danach erreichen wir Zustand B, einen gemischten Cluster, bestehend aus 2012-R2- und einem 2016er-Knoten. Virtuelle Maschinen können nun zu Server 2016 migriert werden und auch der Weg zurück zu einem 2012 R2 Knoten ist möglich. Dieser Modus darf solange aufrechterhalten bleiben, bis alle Probleme des Knotens beseitigt wurden und der Verbund reibungslos läuft.

    Homogener 2016er-Cluster als Ziel

    Ist dies nicht der Fall, dann kann der Knoten wieder zu einem 2012 R2 zurückgestuft werden. Microsoft unterstützt den Mixed-OS Mode nicht für alle Zeiten, daher muss der Migrationsprozess nach ca. vier Wochen abgeschlossen sein.

    Arbeitet der Cluster stabil, werden alle restlichen 2012-R2-Knoten auf Windows Server 2016 aktualisiert und man erlangt den Zustand C, einen homogenen 2016-Verbund. Wird jetzt das Cluster Level mit dem Cmdlet Update-ClusterFunctionalLevel von Version 8 auf 9 angehoben, dann gibt es keinen Weg zurück zu einem 2012-R2-Verbund. Der Endzustand ist somit erreicht.

    Upgrade der VMs

    Um alle neuen Features von Windows Server 2016 Hyper-V nutzen zu können, beispielsweise das Hot-add von NICs und vRAM, müssen zusätzlich die virtuellen Maschinen auf die Version 7.0 angehoben werden. Im Gegensatz zu früheren Ausführungen des Betriebs­systems, wo das Upgrade des Hypervisors die virtuelle Hardware der VM automatisch auf den neuesten Stand brachte, bleibt diese Aufgabe unter Windows Server 2016 dem Administrator überlassen.

    Der neue Hyper-V Manager kann ältere VMs auf die aktuelle Version bringen. Einen Weg zurück gibt es aber nicht.

    Microsoft unterstützt diesen Prozess zurzeit nur via PowerShell (siehe dazu: Hyper-V: VM-Versionen unter Windows 10 und Server 2016 verwalten). Wie die Anhebung des Cluster Functional Levels ist auch die Aktualisierung der VMs auf Version 7.0 ein nicht mehr umkehrbarer Vorgang.

    Keine Kommentare