Marco Burmeister
private Homepage
Ich war immer ein Freund der Virtualisierungslösung von VMware in der freien ESXi Variante.
Nach der Übernahme von VMware durch Broadcom werden nun viele Produkte abgekündigt. Darunter fällt auch der kostenfreie ESXi Virtualisierer.
Deshalb habe ich mich nach einer Alternative umgeschaut und bin bei Proxmox gelandet.
Nun möchte ich nicht alle meine VMs, die ich im ESXi abgelegt hatte, wieder neu installieren oder schon löschen. Also muss ich sie migrieren.
Hier gibt es die folgenden mir bekannten Methoden:
Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!
Die Seite ist in die folgenden Bereiche eingeteilt:
In meinem Szenario steht das VMware ESXi noch zur Verfügung.
Außerdem ist Proxmox bereits auf einem anderen System installiert.
Nacharbeiten zu einer Proxmox Installation habe ich auf der Seite
Virtualisierung - Proxmox - Proxmox Einrichtung
dokumentiert.
Ich benötige eine NFS-Freigabe, die entweder von einem anderen System kommt oder auf dem Proxmox Server eingerichtet wird.
Hier liegen während der Migration dann die VMDK-Files vom ESXi und später auch die Sicherungen im Proxmox.
In meinem Szenario habe ich einen dritten Rechner als Quelle für den NFS-Server genutzt und an diesem eine große externe Festplatte
(USB-Disk) gehängt, damit ich temporär die VMDK
Files dort ablegen kann und später auch die Backups aus dem Proxmox.
Das von mir gewählte Szenario würde es auch ermögliche, dass wir am Ende das System mit VMware ESXi löschen und darauf Proxmox installieren.
Dann wäre das Proxmox nur temporär notwendig und könnte ggfs. sogar in einer VM auf dem VMWare ESXi Server laufen.
In dem Anwendungsfall muss darauf geachtet werden, dass am Ende ALLE VMs im Proxmox so gesichert worden sind, dass wir sie unter einer
dann neuen Installation wiederherstellen können!
Wie Proxmox als VM innerhalb VMware ESXi betrieben werden kann, habe ich auf der Seite
Virtualisierung - Proxmox - Proxmox innerhalb einer VM unterhalb VMware ESXi betreiben
beschrieben.
Übersicht über die System und Verzeichnisse, die ich in der Anleitung verwende:
Bezeichnung | Zweck |
---|---|
srvesxi | Server mit VMware ESXi |
srvprox | Server mit Proxmox |
srvnfs | Server mit NFS-Freigabe |
srvnfs:/bck | Verzeichnis bck liegt auf dem Server unterhalb / |
srvnfs:/bck | Server und NFS-Freigabe-Name |
srvnfs:/bck/migration | Server und NFS-Freigabe-Name mit Unterverzeichnis zur Ablage von VMDK -Dateien |
BackupNFS | Name Backup Konfiguration im Proxmox als NFS-Ziel srvnfs:/bck |
Migrations-Arbeiten auf der Quelle VMware ESXi
Wir beginnen die Migration auf der Quelle mit den notwendigen Arbeiten.
Hierbei benötige ich das Quell-System als Quelle für die VMDK
-Files und für die Einstellung der VM im Zielsystem.
Letztere Information könnte auch aus den vmx
Dateien extrahiert werden, aber ich wollte einen einfacheren Weg.
Ablauf:
vim-cmd vmsvc/getallvms
vim-cmd vmsvc/getallvms | sed -e '1d' -e 's/ \[.*$//' | awk '$1 ~ /^[0-9]+$/ {print $1":"substr($0,8,80)}'
vim-cmd vmsvc/getallvms | ✂
sed -e '1d' -e 's/ \[.*$//' | ✂
awk '$1 ~ /^[0-9]+$/ ✂
{print $1":"substr($0,8,80)}'
root
am VMware ESXi Server eine SSH Sessionroot
am VMware ESXi Server an auf dem die zu migrierenden VMs liegen.
esxcli network firewall ruleset list --ruleset-id sshClient
esxcli network firewall ruleset ✂
list --ruleset-id sshClient
Enabled
ein "False
" steht, ist die Firewall nicht geöffnet und der folgende
Befehl muss ausgeführt werden:esxcli network firewall ruleset set --ruleset-id sshClient --enabled=true
esxcli network firewall ruleset set ✂
--ruleset-id sshClient --enabled=true
VMDK
-Dateien der zu migrierenden VMs liegen und wechseln
in das Verzeichnis. Von dort kopieren wir dann die Dateien zu NFS-Server. VMDK
-Dateien vor der Übertragung.
Das ist nur sinnvoll, wenn die Datenübertragung so langsam ist, dass sich der Prozess des Packens und Entpackens zeitlich
lohnt.
*-flat
-Datei)
pigz -v -1 -k -p8 "-flat.vmdk"
pigz -v -1 -k -p8 "-flat.vmdk"
VMDK
-Dateien zum NFS-Server.
*-flat.vmdk
-Dateien (Inhalt) und *.vmdk
-Dateien (Beschreiungsdatei).
SCP
-Kommando:
scp -p *vmdk* srvnfs:/bck/migration
Migrations-Arbeiten au der Ziel-Plattform Proxmox
Nun beginnen wir mit dem Aufbau auf der Ziel-Plattform.
BackupNFS
.root
am Proxmox Server eine SSH Sessionqemu-img
.
Sollte dieses fehlen, so kann es mit dem Befehl
yum install -y qemu-img
gunzip
installiert ist. Das ist nur notwendig, wenn wir auf der Quelle die
VMDK
-Dateien gepackt hatten.
yum install -y gunzip
VMDK
-Dateien liegen.
cd /mnt/pve/BackupNFS/migration
VMDK
-Dateien gepackt hatten, müssen wir sie
nun wieder entpacken.
gunzip "<Name>-flat.vmdk.gz"
VMDK
-Dateien in das richtige Format, welches Proxmox unterstützt.
Hierzu rufen wir den folgenden Befehl auf:qemu-img convert -p -f vmdk -O qcow2 "<Name>.vmdk" "<Name>.qcow2"
qemu-img convert -p -f vmdk -O qcow2 ✂
".vmdk" ".qcow2"
Option | Bedeutung |
---|---|
-p | Status-Anzeige bei Verarbeitung |
-f | Format Quell-Datei |
-O | Format Ziel-Datei |
QCOW2
-Datei machen (weiteres siehe unten in der Link-Sektion).
virt-sparsify --tmp tmp --compress "<Name>.qcow2" "<Name>-sparsed.qcow2"
virt-sparsify --tmp tmp --compress ✂
"<Name>.qcow2" ✂
"<Name>-sparsed.qcow2"
Tab | Feld | Hinweis |
---|---|---|
Allgemein | Knoten | Auswählen aus verfügbaren |
Allgemein | Name | Analog alte VM (Leerzeichen sind nicht erlaubt!) |
OS | Medium | Kein Medium verwenden |
System | Grafikkarte | Standard |
System | Maschinentyp | i440fx |
System | BIOS | SeaBios oder OVMF (UEFI) |
System | SCSI Controller | VirIO SCSI single |
System | Qemu Agent | Checkbox aktivieren |
Disks | --- | (keine definieren) |
CPU | Sockets | 1 (oder was im Alt-System eingestellt war) |
CPU | Kerne | 2 (oder was im Alt-System eingestellt war) |
CPU | Typ | x86-64-v2-AES |
Speicher | RAM | mind. 2-4 GB (bzw. wie Quelle) |
Speicher | Ballooning | Checkbox aktivieren |
Netzwerk | Bridge | vmbr0 |
Netzwerk | Modell | VirtIO |
123
aus.qm importdisk 123 "/mnt/pve/BackupNFS/migration/<Name>.qcow2" local-lvm --format=qcow2
qm importdisk 123 ✂
"/mnt/pve/BackupNFS/migration/<Name>.qcow2" ✂
local-lvm --format=qcow2
Successfully imported disk as
"
SSD Emulation
auswählen.
VM -> Optionen -> Boot-Reihenfolge
angepasst werden.
Hier muss auf jeden Fall die neu eingefügte Disk markiert/aktiviert und ggfs. nach oben in der Reihenfolge
verschoben werden.Aktiviert
" ist für die Platte zu aktivieren, von der das Starten des Betriebssystem stattfinden soll.
qemu-guest-agent
installieren.
qemu-guest-agent
installiert werden.
VNware Tools
bei openSUSE:
/usr/bin/vmware-uninstall-tools.pl
systemctl disable <ToolsName>
zu deaktivieren.)
zypper install -y qemu-guest-agent
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
Nacharbeiten nach der Migration
In diesem Bereich sammel ich die allgemeinen Aufgaben nach der erfolgreichen Migration.
esxcli network firewall ruleset set --ruleset-id sshClient --enabled=false
esxcli network firewall ruleset set ✂
--ruleset-id sshClient --enabled=false
Zwischenzeitlich musste ich für die Migration einer VM auch den Weg via Clonezilla gehen, weil mein ursprünglicher Weg zu keiner startfähigen VM führte
und mir der Aufwand für die Analyse zu groß war.
Die Beschreibung hier ist nur eine stark verkürzte Anleitung.
Für die Arbeiten brauche ich das ISO-File von clonezilla auf dem Quell-System und auf dem Ziel-System.
Ferner benötige ich zur Ablage des Backups und für den späteren Restore einen NFS-Server.
Dann muss auf dem Ziel-System eine VM angelegt sein, deren Einstellungen und vor allem die Plattenstruktur dem des Ausgangssystem entsprechen.
CPU und Memory kann natürlich anders eingestellt werden. Aber die Festplatten müssen mind. so groß sein, wie im Quell-System.
Auf dem Quell-System / der Quell-VM muss das System mit der ISO von clonezilla gestartet werden.
Dann muss als Modus device-image
(Images von Platte) gewählt werden.
Als Ziel wird ein NFS Server gewählt.
Im späteren Verlauf wird noch gefragt, was konkret getan werden soll. Hier ist die Option savedisk
(Lokale Platte als Image)
zu wählen (Optionen zur Auswahl:savedisk
, saveparts
, restoredisk
, restoreparts
, etc).
Auf dem Ziel-System / der Ziel-VM muss das System mit der ISO von clonezilla gestartet werden.
Dann muss als Modus device-image
(Images von Platte) gewählt werden.
Die Quelle ist der NFS Server aus dem vorherigen Bereich.
Im weiteren Verlauf wird wieder gefragt, was denn getan werden soll. Hier ist dann restoredisk
(Image auf lokale Festplatte wiederherstellen)
oder 1-2-mdisks
(Image auf mehrere lokale Festplatten wiederherstellen) zu wählen.
Das ist abhängig davon, was zutrifft.
Nach dem erfolgreichen Restore kann die Ziel-VM gestartet werden.
Migration mittels Proxmox Storage ESXi / Asssistent / Import-Wizard
Nachdem ich meine Migration schon via VMDK-Files vorbereitet hatte, habe ich mit Proxmox Version 8.1.0 gesehen, dass es einen Weg durch Proxmox selbst
gibt, um von VMware ESXi zu Proxmox zu kommen.
Der Import-Wizard ist laut Forums-Eintrag ab Version 8.1.8 vorhanden.
Zur Vollständigkeit soll der Weg hier grob beschrieben werden.
Zunächst muss im Proxmox ein neuer Storage angelegt werden. Dieser ist vom Typ "ESXi
".
Als Parameter werden benötigt: Servername vom ESXi, Username und Passwort vom Administrator
Falls kein offizielles Zertifikat hinterlegt war, so kann da eine Rückfrage unterbunden werden.
Nachdem der Storage angelegt worden ist, wird beim Wechsel auf dieses Storage eine Liste der VMs als Liste der VMX-Files angezeigt.
Nun kann via Eintrag markieren und drücken auf den Buttonn Import
ein Wizard für die Übernahme Richtung Proxmox gestartet werden.
Der Wizard fragt grundlegende Einstellungen zur VM auf Proxmox Seite ab.
Es wird auf der Einstiegsseite abgefragt bzw. kann angepasst werden:
Erweitert
" kann noch das Storage der Disk, die DVD Laufwerke der VM (inkl. einzulegendes Image) und die Netzwerkeinstellung
ein wenig angepasst werden.
Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!
Für den Inhalt von Internet-Seiten, auf die von dieser Seite verwiesen wird, übernehme ich keine Verantwortung!
Marco Burmeister, Copyright © 2024 - 2024
zuletzt geändert: 2024-08-11
URL: https://www.marco-burmeister.de/helferlein/de_proxmox_esxi_zu_proxmox_migration.html
Impressum