vCenter Appliance Migrations-Upgrade

Veeam vCenter Migration Utility

Veeam bietet ein vCenter Migration Utility. Es ist nicht offiziell durch den Veeam Support freigegeben, aber äußerst hilfreich wenn man ein komplexes Backup neu verbinden muss. (Für den Download wird ein Veeam Kundenkonto benötigt. Das bekommt aber jeder, der sich registriert).

Entpackt die ZIP Datei auf dem Veeam Server, der die Datenbank hält. Ich empfehle einen kurzen Pfad wie z.B. “C:\tmp\Migration-Tool”.

Vorrausetzungen und Vorbereitungen

  • Alle Aufträge müssen deaktiviert und beendet sein
  • Achtet darauf, daß Ihr die neueste Veeam Version habt und dass diese mit Eurem neuen vCenter kompatibel ist.
  • Macht einen Snapshot oder ein Image Eures Veeam-Servers. Ich bevorzuge dafür einen kalten Snapshot (VM ausgeschaltet), da dies robuster und konsistenter ist.
  • Macht ein Backup der Veeam Konfiguration und sichert die Veeam Datenbank (an einen anderen Ort).

Migrations-Ablauf

[Optional] Aktualisiert die BIOS_UUID bestehender VMs in der VeeamBackup Datenbank

Dieser Schritt ist optional und kann ausgeführt werden, solange das alte vCenter noch produktiv ist. Er dient nur der Reinigung und Pflege. Man muss dafür den vCenter Namen verwenden wie er in der Veeam Konsole referenziert ist. Im hier beschriebenen Fall war war der “echte” Name des vCenters eine IP Adresse, aber in der Veeam Konsole war es mit dem FQDN als “vcenter.mydomain.org” hinterlegt.

Veeam.Backup.VmMigrator.exe prepareformigration <name_of_old_vCenter>

Unten ist die Ausgabe auf der Konsole dargestellt.

------- Veeam VM Migrator Tool Started -------
Input arguments: prepareformigration vcenter.mydomain.org
Preparing for migration started
Getting VMs from vcenter.mydomain.org
Got 211 VMs from vcenter.mydomain.org
Preparing for migration finished

Migration zum neuen vCenter

Jetzt ist es an der Zeit, alle Hosts und VMs zum neuen vCenter zu übertragen. Dieser Schritt war in der Dokumentation des Tools leider nicht eindeutig.

Nach der Übertragung wird das alte vCenter heruntergefahren.

Das alte vCenter in der Datenbank umbenennen

Wenn das neue vCenter den selben DNS Namen wie zuvor verwenden soll, muss Veeam das alte vCenter in der Datenbank umbenennen. Wer einen neuen Namen vergeben will, kann diesen Schritt überspringen.

Veeam.Backup.VmMigrator.exe renameoldhost <name_of_old_vCenter>

Die Ausgabe ist nicht dargestellt, denn ich hatte einen neuen Namen für das vCenter gewählt. Wenn man das Kommando ausführt erhält das alte vCenter eine _old Endung an seinem Namen in der Veeam Konsole.

Neues vCenter in Veeam einbinden

Jetzt muss das neue vCenter in der Veeam Konsole bekannt gemacht werden. Wurde das alte vCenter umbenannt (vgl. oben), so kann der bisherige Name wieder verwendet werden. Verwendet man einen neuen Namen, so muss man sich hierum nicht weiter kümmern.

Wenn man jetzt (aus Neugierde) in bestehende Backup Aufträge schaut, so kann man sehen dass es keine Größeninformation neben den VMs gibt (N/A). Das liegt daran, daß Veeam immer noch die alte MoRef ID referenziert, die VMs inzwischen aber neue MoRef IDs haben.

Vorbereitung der Mapping List

Jetzt können wir die Kreuztabelle (Mapping List) vorbereiten.

Veeam.Backup.VmMigrator.exe preparemigrationtask <name_of_old_vCenter> <name_of_new_vCenter>

Wenn zuvor der Befehl zur Umbenennung des vCenters in der Datenbank ausgeführt wurde, so muss nun das Suffix _old an den Namen des alten vCenters angefügt werden. Zum Beispiel so:

Veeam.Backup.VmMigrator.exe preparemigrationtask vcenter.mydomain.org_old  vcenter.mydomain.org

Wer einen neuen Namen für vCenter vergeben hat, gibt einfach alten und neuen Namen an.

Ausgabe der Konsole:

------- Veeam VM Migrator Tool Started -------
Input arguments: preparemigrationtask vcenter.mydomain.org vc.mydomain.org
Building DbObjects to VMs mapping started
Getting VMs from vc.mydomain.org
Got 202 VMs from vc.mydomain.org
Building DbObjects to VMs mapping finished
Writing migration task into file started
Writing migration task into file finished: created task file - vcenter.mydomain.org_to_vc.mydomain.org_migration_task
Migration task contains some mappings to the same VM. Please select one mapping
for each VM and delete comment symbols in it

Man wird jetzt eine Textdatei im Ordner “Migration-Utility” mit einem Namen ähnlich vcenter.mydomain.org_to_vc.mydomain.org_migration_task finden. Öffnet dieses Textdatei mit einem Texteditor wie z.B. Notepad++. Verwendet nicht Word.

Mapping prüfen und editieren

Die Datei mit der Endung ‘_migration_task’ beinhaltet mehrere Abschnitte.

//host names

Dieser Abschnitt enthält die vCenter Namen (alt und neu).

//solid

Dieser Abschnitt listet die VMs des alten vCenter gemäß Information aus der Datenbank und aktuell im neuen vCenter registrierten VMs mit dem selben Namen und der selben BIOS_UUID.

Das Tool versucht, alte und neue Namen in Übereinstimmung zu bringen. Alle Paarungen mit hoher Wahrscheinlichkeit befinden sich im Abschnitt //solid.

//probable

In diesem Abschnitt befinden sich VM Paare die wahrscheinlich sind, aber überprüft werden sollten. Dazu gehören:

  • VMs mit der selben BIOS_UUID aber unterschiedlichen Namen
  • VMs mit gleichem Namen, aber unterschiedlicher BIOS_UUID
  • VMs mit mehr als einer Instanz des selben Namens und der selben BIOS_UUID in der Datenbank
//old duplicates

Bei mehrfachen Datensätzen mit gleichem Namen und gleicher BIOS_UUID wird eine Paarung nur für den neuesten Restorepoint gemacht. Der Rest gilt als altes Duplikat und wird auskommentiert.

//already migrated

In diesem Abschnitt finden sich Paare, deren Name und BIOS_UUID in der Datenbank bereits im neuen vCenter zu finden sind.

//not found

Dieser Abschnitt enthält alle VMs, die in keinen der anderen Abschnitte passen, aber zuvor im alten vCenter existierten.

In der Regel wird man die meisten Paare im Abschnitt //solid finden. Die Tabelle ist in der Art wie unten dargestellt formatiert.

old_VM_ID old_VM-name BIOS_UUID –> new_VM_ID new_VM_name

Beispiel:

vm-478 DNS1.mydomain.org fcab600b-c678-44c0-b46a-3b608ba3b42b -> vm-205 DNS1.mydomain.org

Die VM mit der alten ID 478 wird künftig auf die VM mit der neuen ID 205 gemappt.

Man sollte sich alle Paarungen genau ansehen. Um ein Paar aus der Liste auszuschließen, kann man entweder die ganze Zeile löschen, oder nach dem –> zwei Forward Slashes einfügen (–> //).

Beispiel: Hier ist eine Paarung im Abschnitt //probable. Solange vor dem VM Namen ein // steht, wird diese ignoriert.

vm-138076 NTServ163.mydomain.org_restored 38e77753-f395-4e47-a7f4-5e34fe154879 -> // vm-124 NTServ163.mydomain.org

Nachdem die Datei kontrolliert und editiert ist, speichert man diese ab.

Migration Task ausführen

Jetzt kann der eigentliche Migrations Task ausgeführt werden. Das zuvor erzeugte und editierte Textfile dient als Basis für die Neuzuordnung der VMs. Solange die Textdatei im selben Ordner liegt, wie das Tool VMMigrator.exe ist eine Pfadangabe nicht notwendig.

Veeam.Backup.VmMigrator.exe executemigrationtask <migration_task_spec_file_name>

Ausgabe

------- Veeam VM Migrator Tool Started -------
Input arguments: executemigrationtask vcenter.mydomain.org_to_vc.mydomain.org_migration_task
Parsing migration task file vcenter.mydomain.org_to_vc.mydomain.org_migration_task started
Parsing source and destination hosts names
Found hosts names: source - vcenter.mydomain.org; destination - vc.mydomain.org
Getting VMs from vc.mydomain.org
Got 202 VMs from vc.mydomain.org
Parsing VMs mapping
Parsing migration task file vcenter.mydomain.org_to_vc.mydomain.org_migration_task finished
Execution of migration task started
Execution of migration task finished

Objekte den Backup Aufträgen neu zufügen

Wer jetzt voreilig einen Backup-Auftrag startet wird scheitern, denn wir sind noch nicht fertig. Die Einstellungen jedes Auftrages müssen geöffnet, die alten (VM) Objekte entfernt, und die entsprechenden neuen VM Objekte wieder hinzugefügt werden. Man kann dies überprüfen indem man den “Recalculate” Button klickt. Die Größe der VM wird nun angezeigt. Spezielle Einstellungen zum Guest Processing bleiben aber erhalten.

Zusammenfassung

Manchmal sind Dinge verzahnt wie ein Getriebe. Man kann nicht nur ein Teil austauschen, ohne Auswirkungen auf ein anderes zu haben. Aus diesem Grund musste der Kunde praktisch seine gesamte Umgebung “auf links” drehen.

  • Cross Migration Upgrade des vCenter 6.0 -> 6.7
  • Virtuelle Standad Switches auf Distributed vSwitches umstellen
  • vShield durch NSX ersetzen
  • Upgrade der Sicherheitslösung für Guest Introspection

Aber alles was er ursprünglich wollte war nur der Wechsel der vCenter IP Adresse. 🙂

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert