HowTo: Von Proxmox in die OpenCloud migrieren
Einleitung
In dieser Anleitung wird beschrieben, wie virtuelle Maschinen (VMs) von einer bestehenden Proxmox-Umgebung in unsere OpenCloud migriert werden können. Der Fokus liegt auf der Übernahme bestehender VM-Festplatten und deren Wiederherstellung in OpenStack mithilfe von Standardwerkzeugen.
Da beide Plattformen auf der Virtualisierungstechnologie QEMU/KVM basieren, ist der Migrationsprozess vergleichsweise unkompliziert. Die zentrale Aufgabe besteht darin, die virtuelle Festplatte aus Proxmox zu exportieren und mit dem Tool qemu-img in ein mit OpenStack kompatibles Format zu konvertieren. Anschließend wird das konvertierte QCOW2-Image über das Horizon Dashboard oder CLI importiert und als neues Volume oder Image in der OpenStack-Umgebung bereitgestellt.
Die angegebenen Schritte sind auch für Windows VM gültig
Proxmox Umgebung
- Proxmox 9.0.3
Beispiel VM:
- OS: Ubuntu 24.04
- BIOS: SeaBIOS - kein uEFI
- Hard Storage: local-lvm Storage
- Hard Disk: 32 GB
- Hard Disk 2: 100 GB
- VM ID: 100
Das Konvertieren von VMs aus dem local (pve) Storage funktioniert nach dem gleichen Vorgehen.
Werden VMs mit uEFI exportiert muss die neue VM die passenden Metadata Tags enthalten.
Vorgehen der Migration
1. VM Disks exportieren
Als erstes muss der Speicherplatz der VM-Disk für den Export bestimmt werden. Falls an die VM mehrere Festplatten angehängt sind, müssen diese einzeln exportiert und anschließend beim Import in OpenCloud über ein manage Attachmentsder VM hinzugefügt werden. Die Basis-OS Festplatte wird hier direkt aus einem Image gestartet, weitere Festplatten werden über manage Attachments der VM angehängt.
Bsp.: pvesm path #LVM-SPEICHERPLATZ:#VM-DISK
Um den Pfad anzuzeigen muss die VM eingeschaltet sein.
pvesm path local-lvm:vm-100-disk-02. VM Disk konvertieren
Nachdem der Pfad der VM-Disks bestimmt wurde, kann die virtuelle Festplatte von LVM-Storage in qcow2 exportiert/konvertiert werden.
qemu-img convert -O qcow2 /dev/pve/vm-100-disk-0 /tmp/ubuntu.qcow23. VM Disk importieren
Große Image Dateien sollten über CLI hochgeladen werden.
Hier gibt es ein passenden Artikel wie Images in die OpenCloud geladen werden. Nachdem das Image hochgeladen wurde kann aus dem Image eine VM gestartet werden. Die neue Disk-Größe muss größer sein, als die alte Festplatte. In unserem Beispiel 33 GB.
weitere Festplatten importieren
Für den Import der weiteren Festplatten muss ein extra Schritt gegangen werden. Beim OS Image kann aus dem importierten Image direkt das Betriebssystem gestartet werden. Bei Volumes die als Data-Volumes dienen, muss dies zuerst als Image hochgeladen werden und anschließend zu einem Volume umgewandelt werden. Dieser Zwischenschritt ist notwendig, da OpenStack keinen direkten Upload von Volumes zulässt.
per Horizon
1. Datei hochladen
Wie beim OS-Image muss das Image hochgeladen werden und kann anschließend im Horizon -> Compute -> Image -> Dropdown Menü -> create Volume umgewandelt werden.
2. Datei umwandeln
Im Wizard kann der Name und Beschreibung angepasst werden. Anschließend auf "Create Volume" klicken.
Größe des neues Volumes muss entsprechend der alte Festplatte angepasst werde
3. Volume an VM anhängen
Horizon -> Volumes -> Volumes -> Dropdown Menü -> Manage Attachments
Instanz auswählen und "Attach Volume" drücken.
per CLI
Zweite Festplatte hochladen:
› openstack image create "ubuntu_data" \
--file ubuntu_data.qcow2 \
--disk-format qcow2 \
--container-format bare \
--property os_distro=ubuntu \
--property os_distro=linux \
--property hw_qemu_guest_agent=yes
Mit der angezeigten Image-ID wird nun das Image in ein Volume umgewandelt:
openstack volume create --image <IMAGE-ID> --size <GB> <NAME>
Anschließend wird das neue Volume an unsere Ubuntu-VM gehängt:
openstack volume list # Volumes auflisten
openstack server list # Server im Projekt auflisten
openstack server add volume 07df6f77-74de-490a-acf8-2026ebce4690 c08e0294-49d2-4f69-b2db-7d24b3c6c026
Die Festplatte kann nun wieder in der VM verwendet werden.
Updated about 14 hours ago
