can't live migrate VM with local cloudinit disk

rakurtz

Member
Jan 23, 2021
31
6
8
Germany
Hallo zusammen,

ich möchte eine VM, die auf einem local ZFS Storage liegt auf eine andere Node migrieren. Sie hat eine Cloudinit-Disk an IDE2 angehängt, die ebenfalls auf dem lokalen ZFS liegt.

In der GUI gibt es im Migrations-Dialog dann die Info, dass die lokale Cloudinit-Disk eine Live-Migration verhindert (der Migration-Button ist auch ausgegraut).

Wenn ich die Cloudinit-Disk entferne und in der console per qm set ID --ide2 pool:vm-ID-cloudinit anhänge, klappt die Live-Migration ohne Probleme. Interessanterweise heißt diese dann auf dem neuen Target-host nicht mehr vm-ID-cloudinit sondern vm-ID-disk-0. Dennoch funktioniert das System - es liest in meinem Fall über das cloudinit-image seine IP-Konfiguration sein. Wenn ich testweise das image aushänge, stimmt die IP-Konfiguration nicht mehr nach einem reboot.

Ich habe gelesen, dass es in früheren Versionen von Proxmox einen Bug gegeben haben soll. Ich verwende allerdings die neueste Version:
proxmox-ve: 6.3-1 (running kernel: 5.4.78-2-pve)
Hat jemand eine Idee dazu?

Meine oben beschrieben Variante ist aber anscheinend ein funktionierender Workaround für dieses Problem. Es zeigt aber auch, dass es keinen technischen Grund für die Einschränkung zu geben scheint, dass Live-Migrations mit lokalen Cloudinit-Disk nicht funktionieren sollen..


(Anmerkung zu den Bildern: Es handelt sich hier um zwei unterschiedliche VMs - da ich zum Zeitpunkt dieses Posts und der Screenshots bei der VM schon das cloudinit image entfernt und als Laufwerk an ide2 manuell angehängt habe...)
 

Attachments

  • Bildschirmfoto 2021-01-30 um 17.05.55.png
    Bildschirmfoto 2021-01-30 um 17.05.55.png
    86.3 KB · Views: 4
  • Bildschirmfoto 2021-01-30 um 17.06.51.png
    Bildschirmfoto 2021-01-30 um 17.06.51.png
    153.2 KB · Views: 3
  • Bildschirmfoto 2021-01-30 um 17.15.49.png
    Bildschirmfoto 2021-01-30 um 17.15.49.png
    118.5 KB · Views: 3
Der Grund weswegen Live Migration mit einer lokalen cloud-init Disk nicht erlaubt ist, ist der folgende [0]:
Code:
Also the disk is regenerated on the new node which could mean different data, different size if any changes were made in the meantime or different snippets are used on the target node. So we can't guarantee that it will always work.

Die cloud-init Disk sollte immer den Namen vm-<VMID>-cloudinit haben. Wie genau wurde die Disk entfernt und eingehängt, und auf welchen Storage, so dass sie zu vm-<VMID>-disk-0 wurde?

[0] https://bugzilla.proxmox.com/show_bug.cgi?id=2563#c4
 
Was ist der beste Usecase?
Wenn ich Templates verwende, sind Cloud-Inits total praktisch, um einem neuen Klon einen eigenen Namen zu geben und ihm gleich die Netzwerlkeinstellungen zu übergeben, über die er erreichbar sein soll. Abgesehen von dieser ersten Einrichtung hat das für mich allerdings keinen weiteren Nutzen, jedoch den Nachteil, dass Live-Migration nicht mehr funktioniert.

Wenn ich das Cloud-Init-Image aber aushänge, verliert die VM zumindest ihre Netzwerkeinstellungen. Gibt es eine eine sinnvolle / einfache Möglichkeit, nach einer Erstinitialisierung mithilfe eines Cloud-Init-Images das "Ergebnis festzuschreiben"? Oder ist der einzige Weg, das Netzwerk der VM händisch einzutragen?

(Glücklicherweise behält die VM ihren Hostnamen)
 
cloud-init erkennt anhand der 'instance-id' ob es sich um eine neue Instanz handelt, und wenn ja, schreibt es die Netzwerkkonfiguration neu. Wenn man die cloud-init Disk entfernt, erkennt das cloud-init eine geänderte instance-id. Man könnte nach dem erstmaligen Einrichten cloud-init in der VM deaktivieren oder löschen (auf Debian und Ubuntu z.B. mit apt purge cloud-init).
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!