P2V Migration

schloegel-edv

New Member
Mar 23, 2020
8
0
1
39
Hallo,

zu dem Thema ist ja bereits viel geschrieben worden. Unter https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE#Virtual-to-Virtual_.28V2V.29
steht ja prinzipiell auch, was zu tun ist.

Für mich ergibt sich aber dennoch die Frage, wie man größeren Datenträgern migriert und dann der "local" Speicher nicht ausreichend groß ist. Auch bei einer Installation des PVE auf eine 2TB Platte, stehen mir effektiv nur etwa 90GB Speicher zur Verfügung, die bei einer Konvertierung nach dem Beispiel (qemu-img convert...) schnell voll sind. Auch das Zufügen weiterer Platten nützt ja nichts, denn die sind ja ebenfalls als LVM eingebunden. Meine Fragen:

- wie ist bei Euch der genaue Ablauf, wenn Ihr große Datenträger konvertiert?
- gibt es eine Möglichkeit direkt in das LVM zu konvertieren?
- gibt es eine Möglichkeit das "local" Verzeichnis einem anderen Datenträger zuzuweisen, oder anderweitig zu vergrößern, damit zum Beispiel für die Migration mehr Speicher zur Verfügung steht?

Danke für Eure Tipps dazu.
 

gmed

Well-Known Member
Dec 20, 2013
366
44
48
Zum einen gibt es immer die Möglichkeit, dass man zusätzliche Platten in eigenen Verzeichnissen mountet oder als lvm einhängt.
Dann hat man auf dieser Platte dann den vollen Platz zur Verfügung.

Beim P2V mache ich es mitlerweile so, dass ich nur noch die Systempartition/ Platte z.B. mit dd nach raw als Image spiele.
Für reine Datenpartitionen/ Platten erstelle ich dann z.B. eine mitwachsende qcow2 Platte, welche ja im leeren Zustand kaum Platz braucht, obwohl sie in der VM viele GB darstellt.
Dann kopiere ich z.B. mit rsync die noch fehlenden Daten und Verzeichnisse da rein.
Damit spare ich übergroße raw-Images, die viel leeren Platz beinhalten.
Auch bei Convertern von z.B. VmWare kann man i.d.R. vorgeben, dass nur die Systemplatte konvertiert wird.
 

schloegel-edv

New Member
Mar 23, 2020
8
0
1
39
zum Einhängen: ja, das Erste ist mir klar. Wenn ich aber eine neue Maschine Anlege, dann wird diese ja automatisch auf dem local Speicher angelegt.

Ich nutze beispielsweise den VMware Converter. Wenn ich dann mit dem in der Anleitung angegebenen Befehl die vmdk in einen qcow2 umwandle, soll diese ja auch gleich in den Store kopiert werden. Im Beispiel die 100. Und hier ist ja der Speicherplatz begrenzt. Mit diesem Befehl kann ich ja nicht in einen bestehenden der Maschine bereits zugewiesenen LVM Speicher importieren, oder?

Code:
qemu-img convert -f vmdk /mnt/usb/windows-server/windows-server.vmdk -O qcow2 /var/lib/vz/images/100/windows-server.qcow2
Ich habe es dann so gemacht, daß ich die vmdk mit obigen Befehler in einen freien Speicher umwandle (den ich ganz normal im Terminal mounte) und dann nochmal mit

Code:
qm importdisk 100 windows-server.qcow2 someStorage
importiere. Hier bekomme ich die Disk auch in den richtigen Speicher. Aber das finde ich äußerst umständlich und zeitraubend.

Eigentlich kann ich mir auch gar nicht vorstellen, daß man bei dem komplett durchdachten System zu solchen "umständlichen" mitteln greifen muss, um so zum Ziel zu kommen. Aber vielleicht habe ich auch was übersehen?

Dann kopiere ich z.B. mit rsync die noch fehlenden Daten und Verzeichnisse da rein.
Damit spare ich übergroße raw-Images, die viel leeren Platz beinhalten.
@gmed : Ja aber wie kopierst Du die denn dann in einen LVM Store rein? Und wie sind denn dann dort die Pfade?
 

gmed

Well-Known Member
Dec 20, 2013
366
44
48
"Wenn ich aber eine neue Maschine Anlege, dann wird diese ja automatisch auf dem local Speicher angelegt."

Nur dann, wenn du beim Erstellen der virt. Platten die Vorgaben übernimmst.
Selbstverständlich kannst du anderen Storage, sofern vorhanden, auswählen.
Einfach da, wo local steht draufklicken und den gewünschten Storage wählen.

Das kopieren von Inhalten reiner Datenpartitionen geht z.B. in dem man diese Inhalte auf eine USB-Platte kopierst und dann diese Platte in die VM einhägnst.
Die VM von einer BOOT-CD Iso starten und dann einfach umkopieren.
Geht auch via NAS.
 

schloegel-edv

New Member
Mar 23, 2020
8
0
1
39
"Wenn ich aber eine neue Maschine Anlege, dann wird diese ja automatisch auf dem local Speicher angelegt."

Nur dann, wenn du beim Erstellen der virt. Platten die Vorgaben übernimmst.
Selbstverständlich kannst du anderen Storage, sofern vorhanden, auswählen.
Einfach da, wo local steht draufklicken und den gewünschten Storage wählen.
Ja, das ist mir bekannt. Dennoch befindet sich der Speicher für den Befehl qemu-img convert, also das Ziel dann nicht unter:
/var/lib/vz/images/100/windo.....Ich kann den Befehl also nicht ohne Zwischenschritt benutzen.
 

gmed

Well-Known Member
Dec 20, 2013
366
44
48
???

qemu-img convert -f vmdk /mnt/usb/windows-server/windows-server.vmdk -O qcow2 /var/lib/vz/images/100/windows-server.qcow2

Die lila markierten Pfade sind frei wählbar.
Solange du also einen ausreichend großen Storage, z.B. als ext4, irgendwo sonst eingebunden hast,
dann geht das auch ohne local als Speicher.

Wenn dein Endziel ein LVM sein soll, dann konvertiere direkt nach raw und danach via dd in's lvm.

Beispiel:


Deine Windows-vmdk, eine große Partition etx4 gemountet auf /media/Groß und in Proxmox als Storage für VMs angelegt.

Neue VM 105 mit einer Festplatte auf einem LVM namens "Platten".

1. qemu-img convert -f vmdk /mnt/usb/windows-server/windows-server.vmdk -O qcow2 /media/Groß/windows.img
2. dd if=/media/Groß/windows.img of=/dev/Platten/vm-105-disk0 bs=4M

Wenn du nun eine zweite reine Datenplatte hast, dann kannst du z.B. folgendes machen:

Bei der Konvertierung konvertierst du die zweite Platte nicht, sondern kopierst den ganzen Inhalt auf USB-Platte.
Du gibst der VM105 eine zweite Platte auf deinem LVM mit, welche groß genug ist.
USB-Platte an den Proxmox-Host einstöpseln.
Über die WebUI der VM105 diese USB-Platte zur Verfügung stellen.
Die VM105 von einem CD-ISO booten und darin dann die Daten in die neue erstellte zweite Platte kopieren.
Diese muss vorher noch partitioniert und formatiert werden.

In diesem Beispiel braucht es keine der Standartpfade vom Proxmox und du kannst ausreichend großen Pattenplatz frei verwenden.



 

gmed

Well-Known Member
Dec 20, 2013
366
44
48
bs=4M ist die Größe der Blöcke, welche dd überträgt.
Bei schnellen Verbindungen dürfen die ruhig etwas größer sein und dann geht der Vorgang schneller.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE 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 your own in 60 seconds.

Buy now!