Moving Hyper-V Replikas

Seit der Hyper-V Version in Windows Server 2012 R2 lassen sich VMs im laufenden Betrieb auch ohne Failover Cluster verschieben. Das ist ziemlich Klasse und aus Sicht eines Schwaben schon ein Mega-Lob Winking smile Darüber hinaus gibt es noch die Möglichkeit eine Hyper-V Replikation zu erweitern (Extended Hyper-V Replication), also eine replizierte VM nochmals auf einen weiteren Hyper-V Host zu replizieren. Man hat damit also zwei Kopien einer VM.

Will man nun eine dieser Kopien verschieben, muss man auf eine Kleinigkeit aufpassen. Nach dem Verschieben muss nämlich, der Replica-Server angepasst werden. Ich zeige den Ablauf an einem Beispiel, damit klarer wird was ich meine.

Allgemein

Ich benenne meine Hyper-V Replikas immer um, indem ich ein “!” voran stelle. Die erste Replikation bekommt ein ! und die zweite Replikation !!, also:

  1. vm.sbsland.local (aktive VM)
  2. !vm.sbsland.local (erste Replika)
  3. !!vm.sbsland.local (zweite Replika)

Ausgangsituation

Wir haben eine VM (vm.sbsland.local) welche über insgesamt 3 Hosts repliziert wird.

image

Die VM (vm.sbsland.local) läuft auf dem Hyper-V Host 1 (cnoc.whisky.local) und wird von dort auf den Hyper-V Host 2 (nevis.whisky.local) repliziert. Auf diesem Host (nevis.whisky.local) wurde dann wiederum eine erweiterte Replikation (Extended Replication) auf den Hyper-V Host 3 (skye.whisky.local) eingerichtet.

Auf den Hyper-V Hosts sieht das nun wie folgt aus. Neben PowerShell habe ich noch jeweils den Hyper-V Manager / Replikation für die VM dargestellt.

cnoc.whisky.local:image

image

nevis.whisky.local:
image

image

Hier sehen wir neben der ersten (primary) Replikation auch die erweiterte (extended) Replikation.

skye.whisky.local:
image

image

Zielumgebung

Nun wollen wir den Hyper-V Host 2 (nevis.whisky.local) durch einen neuen Hyper-V Host ersetzen (mull.whisky.local). Eine erste Idee wäre natürlich einfach die Hyper-V Replikationen neu ein zu richten, das wollen wir aber nicht! Wir verschieben einfach die erste Replika der VM (!vm.sbsland.local) auf den neuen Hyper-V Host (mull.whisky.local).

image

Wie in der Abbildung zu sehen ist, wird die erste Replika (!vm.sbsland.local) der VM auf den neuen Host verschoben. Das kann über das Hyper-V Management oder aber über den folgenden PowerShell-Befehl erfolgen.

Move-VM -Name !vm.sbsland.local -DestinationHost mull.whisky.local -IncludeStorage -DestinationStoragePath 'd:\replicated virtual machines'

image

Nun haben wir auf dem Hyper-V Host 2 NEU (mull.whisky.local) die VM, aber noch mit dem alten Hyper-V Host 2 (nevis.whisky.local) eingetragenen Replika Server. Nach Ablauf des Intervalls für die Hyper-V Replikation geht diese in den Zustand Warning bzw. Critical.

image

Damit die Replikation wieder in Gang gesetzt werden kann, muss in der Konfiguration der !vm.sbsland.local der alte Hyper-V Host 2 (nevis.whisky.local) gegen den neuen Hyper-V Host (mull.whisky.local) ersetzt werden. Was über das Hyper-V Management oder über den folgenden PowerShell-Befehl erfolgen kann:

Set-VMReplication -VMName vm.sbsland.local -ReplicaServerName mull.whisky.local

Der Befehl muss dazu auf dem Hyper-V Host 1 (cnoc.whisky.local) ausgeführt werden.

image

Danach recht ein Resume-VMReplication um die Replikation wieder in Gang zu setzen.

image

image

So, nun läuft es wieder.

Enjoy it, b!

3Ware/LSI: 9750 / 9261 (ver)wechsel dich …

Eine tolle Eigenschaft von 3Ware RAID Controllern ist seit Jahren die Tatsache, dass Metadaten des RAIDs auf allen Festplatten gespeichert und unter den Controller Serien aufwärts kompatibel sind. Ich habe unter anderem RAID-Sets von einen 9550 auf einen 9650 und danach auf einen 9750 migriert, immer mit dem folgenden Prozess (Windows):

  1. (Zusätzlicher) Einbau des neuen Controllers in den Server
  2. Start des Betriebssystems und laden des neuen Treibers
  3. Shutdown des Servers
  4. Trennen der Multilane-Kabel vom alten Controller und Ausbau desselben
  5. Umstecken des neuen in den Slot des alten Controllers und aufstecken der Mutlilane-Kabel
  6. Start des Servers und fertig (ggf. entfernen des alten Controllers als verstecktes Gerät aus dem Geräte Manager)

Da ich wieder einen Upgrade, dieses Mal unter Windows Server 2012 durchführen wollte und inzwischen der 9750 direkt mit einem LSI Treiber erkannt wird, habe ich mir die Schritte 1 bis 3 gespart und sofort den Controller eingesteckt und umgebaut. Allerdings erwartete mich in diesem Zug eine grausige Überraschung.

Der Server startet also mit dem neuen Controller neu, und anstatt sich mit 3ware 9750 zu melden sehe ich am Bildschirm die Meldung LSI WebBIOS und dazu die Nummer 9261, und darüber hinaus insgesamt 6 nicht initialisierte Disks. Zuerst traute ich meinen Augen nicht, und suchte sofort den Karton in dem der Controller geliefert wurde: Alles 3Ware 9750, die Anleitungen, die Verpackung und auch die Software. Sogar auf dem Controller war ein kleiner Aufkleber mit der Modellnummer 9750-8i vorhanden. Auch ein erneuter Start des Servers setzte dem Spuk kein Ende – wieder erschien die LSI WebBIOS Meldung und 6 nicht initialisierte Platten.

Gut, dachte ich mir – es sind ja heute zwei 3Ware 9750 Controller gekommen – also schnell den anderen Controller eingebaut: Wieder mit dem gleichen Ergebnis – LSI 9261-8i …

Ein Anruf beim Distributor brachte hier ebenfalls keine Klarheit, aber dessen Support macht sich auf die Suche und fand noch mehrere “falsche” 3Ware 9750 Controller mit LSI 9261 BIOS. Der Umtausch war kein Problem, aber der RAID war nicht mehr initialisierbar – obwohl ich im LSI WebBIOS keine Aktionen durchgeführt hatte. Die Daten konnten lediglich wieder per Datensicherung hergestellt werden….

Einige Recherche im Internet hat zu Tage gefördert das wohl der 3Ware 9750 und der LSI 9261 auf dem gleichen Chip (LSISAS2108 RoC) von LSI basieren und entsprechend Rebranded werden, also auch noch von Intel, Dell oder IBM angeboten sind … leider mit nicht untereinander kompatibler Logik der Metadaten, was eine weitere Verwendung des RAIDs verhindert!

Hier noch ein paar Links:

Deswegen gilt wie immer – save early, save often ..

Enjoy it, b!