Migration der virtuellen Maschinen von ESX2 auf ESX3 - Carsten Schäfer

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Migration der virtuellen Maschinen von ESX2 auf ESX3

Allgemeines

Die bestehenden ESX2-Server werden nicht klassisch migriert, sondern es wird eine neue VI3-Umgebung auf neuen Servern parallel aufgesetzt und die virtuellen Maschinen von der ESX2-Umgebung auf die ESX3-Umgebungen verschoben. Die Migration der VMs wird mittels VMware-Boardmitteln manuell durchgeführt – es wird das VC2-Feature „Migrate" genutzt welches normalerweise für VMotion verwendet wird. Des Weiteren wird nach der „Migration" der VM diese auf ESX3-Spezifikas angepasst. Nach dem Neustart des Guest-OS der migrierten VM müssen zum einen die VMware Tools aktualisiert werden und zum anderen erkennt das Guest-OS Windows eine neue Netzwerkkarte, da sich diese im ESX3-Standard geändert hat. Nach erfolgreicher Migration aller VMs können die ESX2-Server wieder aus dem VC-DataCenter entfernt werden.

Vorarbeiten / Abhängigkeiten

Die Vorarbeiten auf dem ESX3-Server umfassen das Anlegen sämtlicher benötigter virtuellen Switche mit dem identischen Namen wie unter ESX2 da die Netzwerkkarten der VMs sich auf diese virtuellen Switche zu verbinden versuchen.

Technische Vorgehensweise

Übersicht

Die Migration einer VM umfasst folgende Schritte:

  • Verschieben (VC-Funktion „Migrate") der VM (Konfigurationsdateien und Festplattendateien) auf den ESX3-Server
  • Anpassen der VM-Konfiguration (vmx-Datei) und der Festplattendateien (vmdk-Dateien) an ESX3

(vmx bietet neue Hardware-Optionen und die vmdk-Datei (en) müssen an vmfs3-Standard angepasst werden)

  • Aktualisierung der VMware Tools im Guest-Betriebssystem


Detailiertes Vorgehen

Die Migration wird wie folgt durchgeführt:


Verschieben der VM von ESX2 auf ESX3


Das Verschieben einer kompletten VM (Konfigurationsdateien und Festplattendateien) erfolgt über das Virtual Center, und zwar über die VMotion-Funktion „Migrate". Hier wird die VMotion-Funktionalität nicht verwendet und daher muss das Guest-OS der VM heruntergefahren werden und die VM ausgeschaltet werden. Dies entspricht dann einem Verschieben einer VM auf einen anderen ESX-Host, egal welcher Version. Um dieses Feature zu nutzen, muss im ersten Schritt der ESX2-Server dem neuen Virtual Center hinzugefügt werden. Dies erfolgt mittels des Menüpunkts „Add Host" im Kontextmenü des DataCenters resp. einem Folder unterhalb eines DataCenters. Des Weiteren müssen der Quell-Host und der Ziel-Host dem gleichen VirtualCenter „DataCenter" zugeordnet sein. Nach dem Verschieben einer VM liegen alle relevanten Dateien auf der vmfs3-Partition des ESX3-Servers. An dieser Stelle sind weder die VM (vmx-Datei) noch die virtuellen Festplatten (vmdk-Dateien) nutzbar da dieser jetzt auf ESX3-Standards angepasst werden müssen.


Gotchas


Nach dem „migrieren" der VM auf ESX3 tritt sehr oft folgende VC-Fehlermeldung auf: „incompatible device backing specified for device 1". Dies geschieht in der Regel, wenn etwas ältere vmx-Dateien migriert werden. Ein Workaround ist die komplette Neuerstellung der vmx-Datei, idealerweise via VC2 auf dem ESX2-Host. Sollte dieser Fehler erstmalig für eine bestimmte VM aufgetreten sein, erscheint mit sehr großer Wahrscheinlichkeit folgende Fehlermeldung beim Versuch eine vmx mit dem gleichen Namen zu erstellen: „The specific key, name, or identifier already exists.". Für dieses Problem gibt es lt. VMware-Support mehrere Lösungsansätze welche nacheinander ausprobiert werden müssen:


Lösung 1)


  • ESX2 aus VC2 entfernen (Host remove)
  • und/oder ESX3 aus VC2 entfernen
  • VC-Service neustarten
  • entfernte Hosts wieder in VC aufnehmen

In den meisten Fällen ist die Anwendung der Lösung 1) erfolgsbringend. Sollte dies dennoch kein Erfolg bringen, wurde wahrscheinlich die Deregistrierung der VM nicht korrekt ausgeführt. Dann geht es weiter mit:


Lösung 2)


  • ESX2 aus VC2 entfernen (Host remove)
  • auf Service Console die VM deregistieren mit dem Befehl vmware-cmd -s unregister Pfad /vmx_Datei
  • ist die vmx-Datei nicht mehr vorhanden, sollte versucht werden eine neue mit identischem Namen anzulegen
  • ESX in VC2 aufnehmen


Lösung 3)


Als letzte Möglichkeit wäre noch auf den ESX-Hosts nach dem Prozess mit dem Namen der VM zu suchen:

ps ax|grep -i "vmname" 

Dies kann ggf. auch noch Informationen liefern. Dieser gefundene Prozess sollte „gekillt" werden.


Anpassung der Konfiguration und der Festplattendateien (und optional der VMware Tools)


Nach dem Verschieben der VM inkl. der Festplattendateien müssen diese an ESX3-Formate angepasst werden. Das Tool der Wahl ist das VirtualCenter-Kommandozeilentool „vmware-vmupgrade.exe". Neben dem Anpassen der vmx-Datei und der vmdk-Dateien auf ESX3-Standards kann dieses Tool auch zum Aktualisierung der VMware Tools verwendet werden.

Die Voraussetzungen zum aktualisieren einer VM sind:

  • Dateien der VM liegen auf einem VMFS3-Volume
  • Keine „Suspend"-Dateien existieren zu dieser VM
  • Mindestens eine virtuelle Festplatte existiert
  • Die VM ist ausgeschaltet


Wir verwenden zur Migration das Tool ohne den Schalter „s" sodass die VMware-Tools in diesem Schritt aktualisiert werden. Dieses Tool ist auf dem VirtualCenter-Server unter "C:\Program Files\VMware\VMware VirtualCenter 2.0" oder „C:\Programme\VMware\VMware VirtualCenter 2.0" zu finden und wird wie folgt bedient:

vmware-vmupgrade.exe -u user -p password -n vmname


Erklärungen zu den Schaltern:


  • -u und –p geben einen User und das dazugehörige Passwort an welches bei Anmelden am VirtualCenter (kein ESX-User!) verwendet wird. Wird in der Kommandozeile kein Passwort angegeben, so wird dieses abgefragt.
  • -n gibt die virtuelle Maschine an. Mehrere VMs werden mit Hilfe mehrerer –n Parameter in einem Befehl definiert und abgearbeitet (case sensitive!)
  • -q definiert eine „quite Installation"
  • -s bedeutet „skip the tools" und der Befehl aktualisiert nur die virtuelle Hardware


Gotchas


1) Keine Anwendung des Tools „vmware-vmupgrade" mit einer bereits für ESX3-Hosts erstellten vmx-Datei! Wird dies gemacht, wird die Netzwerkkarte der VM als „vlance" angezeigt und die Hardware wird nicht auf ESX3 aktualisiert.


2) Nach einem upgrade mit „vmware-vmupgrade" präsentiert sich die Virtuelle Machine im VC2 immer noch mit einer Netzwerkkarte vom Typ „vmxnet". Auch zeigt das Windows-Guest-Betriebssystem noch den ESX2-Netzwerkkartentyp und –treiber (VMware PCI Ethernet Adapter) an. Die Lösung lautet:

  • Verschieben der vmdk-Dateien aus dem Ordner der vm:
mv *.vmdk ../
  • Löschen der Virtual Machine via VC2 mit dem Kontextbefehl „Delete Virtual Machine"
  • Neuerstellung der VM via VC2 mit den identischen Settings der virtuellen Hardware und einer dummy-Festplatte (idealerweise mit geringer Größe da dies schneller geht)
  • Verschieben der vmdk-Dateien in den neu erstellten Ordner der vm (dummy-Festplattendateien werden überschrieben):
mv *.vmdk Name_der_VM/
  • VM starten
  • VMware Tools erneut installieren (Menü "Inventoy" | "Virtual Machine" | "Install VMware Tools") und die Option "repair" auswählen
  • die Netzwerkkartentypen /-treiber werden jetzt als ESX3-Typ „VMware Accelerated AMD PCNet Adapter" angezeigt; ein Reboot ist jetzt nicht notwendig! Hinweis: Windows hat eine neues Device vom Typ Netzwerkkarte erstellt da dies für Windows als normaler Hardware-Tausch gilt.
  • Vergeben Sie der vom Guest-OS neu erstellten Netzwerkkarte die IP-Settings der VM.
  • Die virtuelle Netzwerkkarte wird jetzt vom Guest-OS nicht mehr gefunden, aber das Device wird nicht automatisch gelöscht. Wenn Sie jetzt der neuen Netzwerkkarte die identische IP-Adresse vergeben, meckert dies Windows mit dem Vorschlag an, eine andere IP zu vergeben. Lehnen Sie diesen Vorschlag ab!
  • Löschen Sie die versteckte(n) Netzwerkkarte vom alten VMware-Typ:
  • Auf der Kommandozeile des Windows Guest-OS gegen Sie ein
set devmgr_show_nonpresent_devices=1
  • Starten Sie den Device Manager, z.B. mit
start devmgmt.msc
  • Im Menü „View" wählen Sie den Menüpunkt „Show hidden devices"
  • Die ausgegrauten Devices können jetzt gelöscht werden


optional: Aktualisierung der VMware-Tools Die VMware-Tools werden mit einer Neuinstallation dieser nach dem Starten des Guest-OS nach den o.g. Migrationsschritten aktualisiert. Alternativ können diese auch via VC-Kommandozeilentool „vmware-vmupgrade.exe" aktualisiert werden. Dazu ist obige Befehlszeile ohne den Schalter „-s" zu verwenden!


Autor: Carsten Schäfer, Benutzer für Benutzer VMachine.de

VMware-VMachineLogo.jpg

Das könnte Sie auch interessieren

VMware ESX 3i root Passwort zurücksetzen
VMware HA Funktionsweise
VMware Infrastructure 3 iSCSI Storage Konfiguration