Virtualisierung: In Virtualbox erstellte VMs exportieren und in Proxmox integrieren!

  • Ich habe es heute erfolgreich geschafft eine VM die ich an meinem Windows-Host unter Virtualbox eingerichtet habe unter Linux (also meinem Proxmox-Server) zu importieren/integrieren. Das spart nicht nur Arbeit (man muss es nur einmal machen) sondern es kann dadurch auch weiter genutzt werden ggf. auch produktiv verarbeitet werden.


    Auf diese Weise habe ich ein UbuntuDDE als VM nun in meinem Proxmox-Server verfügbar und es ist alles so eingerichtet wie zuvor. Ich bin ein wenig begeistert! :)


    Ich bin gerade dabei dies mit einer weiteren VM nochmal erneut umzusetzen und notiere mir parallel dazu sämtliche Schritte. Wenn jemand daran Interesse hat kann ich das hier in diesem Thread gerne noch ergänzen.

    🖼️: Windows 10;Linux Mint;MX Linux;RaspbianOS | 💻: Verschiedene (Pentium M - Intel Core i5 9th Generation) | 💾: NAS
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus. (André Kostolany)

  • Fertig konfigurierte VMs aus Virtualbox als VM in Proxmox importieren:

    • VirtualBox aufrufen
    • In der Liste die gewünschte VM mit einem Klick markieren
    • Unter „Datei“ die Option „Appliance exportieren“ auswählen
    • Speicherort auswählen und die Appliance dorthin exportieren im Open Virtualisation Format 1.0 (ova-Datei)
    • Nach dem Export in den Ordner wechseln wo die ova-Datei abgespeichert wurde
    • Ova-Datei entpacken (z.B. mit 7-Zip oder tar). Die ova-Datei enthält 3 Dateien (*.mf; *.ovf; *.vmdk) Wichtig ist hier nur die vmdk-Datei
    • Die *.vmdk-Datei auf den Proxmoxserver kopieren (ich habe das z.B. über Filezilla in das Verzeichnis /tmp am Proxmoxserver kopiert; alternativ z.B. auch über scp möglich)
    • Per ssh mit dem Proxmoxserver verbinden (z.B. über Putty)
    • In das Verzeichnis wechseln wohin die *.vmdk-Datei kopiert wurde (in meinem Beispiel /tmp)
    • Mit „ls“ prüfen ob die *.vmdk-Datei auch vorhanden ist
    • Die *.vmdk-Datei muss nun umgewandelt werden in eine *.qcow2-Datei mittels Befehl: „qemu-img convert -f vmdk NameDerStartDatei-disk001.vmdk -O qcow2 NameDerZielDatei.qcow2“ (ohne „“ und Name ersetzen durch echten Dateinamen)
    • Während die Konvertierung läuft kann währenddessen zur Proxmox-Weboberfläche gewechselt werden.
    • Neue VM erstellen:
    1. Allgemein: VM-ID und Name der VM vergeben
    2. OS: Kein Medium verwenden auswählen
    3. System: alles auf Standard belassen
    4. Disks: Storage auswählen, den Rest auf Standard belassen (Laufwerk wird später ohnehin gelöscht und spielt eher keine Rolle
    5. CPU: Anzahl der gewünschten Kerne wählen (z.B. 4)
    6. Speicher: Größe des Arbeitsspeichers der zugewiesen werden soll
    7. Netzwerk: Standard ist vmbr0 (Bridge-Mode) kann eigentlich so gelassen w.
    8. Bestätigen: Übersicht über die gewählte Konfiguration und mit „Abschließen“ übernehmen.


    • Nun geht es weiter mit der VM:
    • Die neu erstellte VM anklicken/auswählen nachdem sie erstellt worden ist und auf den Punkt „Hardware“ wechseln
    • Laufwerk einmal anklicken und den Button „Aushängen“ anklicken und bestätigen.
    • Nun wird aus dem Laufwerk eines mit der Bezeichnung „Unused“, dieses anklicken und auf „Entfernen“ klicken und anschließend bestätigen.
    • Nun wieder zurück auf die ssh-Verbindung wechseln, die Konvertierung sollte nun abgeschlossen sein und die gewünschte *.qcow2-Datei sollte vorhanden sein.
    • Die Datei kann nun importiert werden in die erstellte VM in Proxmox mit dem Befehl : „qm importdisk 101 NameDerDatei.qcow2 DatenPlatte“ (ohne „“ 101 als Beispiel für die VM-ID und Name ersetzen durch echten Dateinamen und „DatenPlatte“ durch den echten Namen ersetzen wie in Proxmox)
    • Nach dem Import wieder zur Weboberfläche von Proxmox wechseln
    • Hier ist in der VM unter Hardware nun das importierte Laufwerk als „Unused“ deklariert zu finden.
    • Doppelklick auf „Unused Disk 0“, die Eigenschaften werden angezeigt und mit „Hinzufügen“ wird dies als neues Laufwerk der VM hinzugefügt.
    • Nun von „Hardware“ auf „Optionen“ wechseln und die Bootreihenfolge anpassen, so dass die „Festplatte“ an oberster Stelle steht.
    • Fertig, die übertragene VM kann nun gestartet werden!!!

    🖼️: Windows 10;Linux Mint;MX Linux;RaspbianOS | 💻: Verschiedene (Pentium M - Intel Core i5 9th Generation) | 💾: NAS
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus. (André Kostolany)

  • Habe das jetzt auf diese Weise 3x erfolgreich getestet (UbuntuDDE, SparkyKDE und Slackware). Funktioniert soweit tadellos.

    🖼️: Windows 10;Linux Mint;MX Linux;RaspbianOS | 💻: Verschiedene (Pentium M - Intel Core i5 9th Generation) | 💾: NAS
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus. (André Kostolany)

  • Mein proxmox ist beim Konvertieren abgestürzt.


    Code
    root@proxmox:/tmp# qemu-img convert -f vmdk Beispiel-XP-disk001.vmdk -O qcow2 Beispiel-XP.qcow2
    
    Message from syslogd@proxmox at Jan  8 11:32:06 ...
     kernel:[ 2672.483519] EXT4-fs (dm-1): failed to convert unwritten extents to written extents -- potential data loss!  (inode 655414, error -30)
    Bus error
    root@proxmox:/tmp# ls
    ls: reading directory '.': Input/output error
    root@proxmox:/tmp# 


    Ich weiß auch warum, ich habe keinen Platz in /tmp - proxmox teilt den Speicher nach Gutdünken ein und / hat eben nur 50GB von 250 bekommen so das jetzt 200GB ungenutzt herum dümpeln und ich /tmp so nicht nutzen kann.

  • Ich weiß auch warum, ich habe keinen Platz in /tmp - proxmox teilt den Speicher nach Gutdünken ein und / hat eben nur 50GB von 250 bekommen so das jetzt 200GB ungenutzt herum dümpeln und ich /tmp so nicht nutzen kann.

    Ich habe es (vermutlich mangelndem Fachwissen) nur in diesem Verzeichnis hinbekommen. Du kannst jedoch ein anderes Verzeichnis / einen anderen Speicherplatz angeben wenn Du weißt wie das geht (ich habe es leider nicht besser hinbekommen).


    Da bei mir auch der Speicherplatz sehr gering wurde habe ich die *.vmdk und die *.qcow2-Dateien hinterher wieder gelöscht um den Speicherplatz wieder frei zu geben. In meinem kleinen Mini-PC (der Proxmox-Server läuft auf meinem Dell 3070 MFF) habe ich als Systemplatte eine 256GB-NVMe und zusätzlich noch eine 1TB-Sata-SSD verbaut. Als weiteren Speicherplatz habe ich noch eine externe 1TB-USB-Festplatte eingebunden. Somit habe ich eigentlich genug Platz um VM's abzulegen. Das /tmp-Verzeichnis war für mich der einfachste Schritt.

    🖼️: Windows 10;Linux Mint;MX Linux;RaspbianOS | 💻: Verschiedene (Pentium M - Intel Core i5 9th Generation) | 💾: NAS
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus. (André Kostolany)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!