Tag Archive: ESXi

ESXi: Virtuelle Maschine auf anderen ESXi kopieren

Wer einen kostenlosen ESXi Server betreibt und gerne eine virtuelle Maschine auf einen anderen ESXi kopieren oder verschieben möchte, kann dies auch ohne das kostenpflichtige vCenter tun. Die rudimentäre Ausstattung der Server reicht hierfür aus.
Bedient wird sich dabei lediglich an scp, root-Zugriff vorausgesetzt.

Vorbereitung

Software

  • SSH-Client (etwa PuTTY)
  • vSphere Client (herunterzuladen z.B. via https://esxiserver )

Quell-Server

1. Überpfrüfen, ob der SSH-Dienst ausgeführt wird, gegebenenfalls starten:

SSH-Dienst überprüfen
SSH-Dienst überprüfen

Host auswählen > Reiter „Konfiguration“ > Sicherheitsprofil > Dienste, Eigenschaften > SSH, Optionen > Dienst starten

2. Kann für Frustration sorgen: Auch die ausgehende Verbindung zum späteren Ziel-Server, muss in der Firewall explizit erlaubt werden:

Firewall für SSH-Client und SSH-Server
Firewall für SSH-Client und SSH-Server

Host auswählen > Reiter „Konfiguration“ > Sicherheitsprofil > Firewall, Eigenschaften > SSH-Client UND SSH-Server anhaken

Ziel-Server

Auf dem Ziel-Server wird genauso vorgegangen wie auf dem Quell-Server. Jedoch kann auf die Freigabe des SSH-Clients in der Firewall verzichtet werden.

Das Kopieren

Es kann nun die Verbindung zu Quell- und Ziel-Server geöffnet werden, etwa via PuTTY als SSH-Client.

"df -h" zur Übersicht der Struktur
„df -h“ zur Übersicht der Struktur

Vorab sollten die Verzeichnisse auf Quell- und Ziel-Server bekannt sein. Um sich ein Bild der Struktur zu machen, wird „df -h“ ausgeführt, die Ausgabe ist als Beispiel auf der rechten Seite via PuTTY zu sehen.
Meine fiktive VM mit dem Namen „VM01“ liegt in dem Verzeichnis „/vmfs/volumes/ma22385.datastore2“ auf dem Quell-Server.
 
 
 
Ich möchte die VM „VM01“ nun auf den Ziel-Server in das Verzeichnis „/vmfs/volumes/ma33122.datastore1“ kopieren, dazu gehe ich wie folgt vor:

scp -r /vmfs/volumes/ma22385.datastore2/VM01 root@Ziel-Server:/vmfs/volumes/ma33122.datastore1/

Nach Ausführung des Befehls, muss mit „yes“ das Vertrauen zum Ziel bestätigt werden; das passiert einmalig. Anschließend das Passwort des Ziel-Systems eintippen.
Da die VM als Ordner auf dem ESXi abgespeichert ist, der einige Dateien wie die Konfiguration, Festplatte und mehr beinhaltet, ist der Parameter „-r“ für die rekursive Übertragung angegeben.
Hinweis: Die VM muss vor dem Kopiervorgang natürlich ausgeschaltet sein, ansonsten wird „scp“ mit einem Fehler abbrechen.
Möchte man das Netzwerk nicht zu sehr belasten, kann mit einem Übertragungslimit gearbeitet werden, das „scp“ via Parameter „-l“ setzt. Das Limit ist in Kilobit/s definiert:

scp -l 80000 -r [...]

Dateien überprüfen

Nach der Übertragung läge die VM mit dem Namen „VM01“ in dem Verzeichnis „/vmfs/volumes/ma33122.datastore1“ auf dem Ziel-Server.
Es empfiehlt sich die übertragene (virtuelle) Festplatte nach dem Gang durch das Netzwerk zu überprüfen:

vmkfstools --fix check /vmfs/volumes/ma33122.datastore1/VM01/VM01.vmdk

Die Ausgabe sollte „Disk is error free“ lauten. Wurden Fehler gefunden, empfehle ich die Überprüfung der Netzwerkverbindung beider ESXi und eine anschließende Wiederholung der Übertragung. Zwar kann „vmkfstools“ mit der Anweisung „–fix repair“ einen Reperaturversuch unternehmen, jedoch würde ich der Stabilität wegen hierauf verzichten. In einer gesunden Netzwerkumgebung sollten sowieso keine Fehler auftreten. ;)

Übertragene VM einbinden

Nach der Übertragung und Überprüfung der VM, kann diese recht einfach in ihre neue Umgebung eingebunden werden.
Hierzu mit dem vSphere Client auf die Ziel-Maschine verbinden und folgende Schritte durchführen:

Host auswählen > Reiter „Übersicht“ > Unter „Resourcen“ den Datastore der neuen VM rechtsklicken > Datenspeicher durchsuchen > „VM01“ klicken (Name der übertragenen VM) > Rechtsklick auf VM01.vmx > Zur Bestandsliste hinzufügen

Achtung: Beim Einschalten der VM wird der ESXi Server merken, dass es sich um eine bewegte VM handelt und fragen, ob diese kopiert oder verschoben wurde. Durch die Auswahl „I moved it“ wird die VM wie sie war wieder eingeschaltet, MAC-Adresse und UUIDs bleiben erhalten. Diese Auswahl wird getroffen, falls die alte/kopierte VM nicht mehr hochgefahren- und gegebenenfalls gelöscht wird. Die Unterschiede der Optionen werden hier sehr schön erklärt