Umzug VMs auf anderen/neuen host via USB-Festplatte?

Hallo zusammen,

würde gerne die bereits auf einem älteren host eingerichten VMs für OPNsense und LMN7 auf einen neuen host „rüberkopieren“.

Auf dem neuen host ist Proxmox bereits installiert¹, wobei ich evtl. gerne auch wieder „nur” KVM/QEMU hätte (ohne Proxmox), sofern die kopierten VMs hier ohne große Klimmzüge laufen (was theoretisch gehen sollte, weil Proxmox ja auf KVM/QEMU basiert).

Die Idee² ist,

  • auf dem alten host unter Proxmox Backups der VMs zu erstellen
  • auf USB-HDD kopieren
  • auf dem neuen host Backups der VMs von USB-HDD aufspielen

Nun stehe ich gerade sprichwörtlich „auf dem Schlauch“ oder „sehe den Wald vor lauter Bäumen nicht“: Nach Einstecken der USB-HDD in den alten host wird sie unter Proxmox unter Storage neben den anderen Festplatten sda bis sdc als /dev/sdd angezeigt, aber ich sehe auf Anhieb nicht, wie ich ein Backup darauf erstellen bzw. kopieren kann.

Kann mir jemand auf die Sprünge helfen?
__
¹ was überraschend Probleme aufwarf, wie schwarzer Bildschirm kurz nach dem Booten. Darüber und anderen Stolperfallen werde ich bei nächster Gelegenheit in einem eigenen Post berichten…
² nach dem Motto „keep it simple“, daher vorerst von anderen Lösungen abgesehen.

Hallo Ersin,

kannst Du die virtuellen Maschinen nicht exportieren und wieder importieren?

Bei XCP ist das mit USB-Platten so, dass man sie erst einer Maschine zuordnen muss, erst dann kann die Festplatte mit der Maschine genutzt werden.

Gruß

Alois

Hallo,

bei Proxmox kann man ein Backup der VM machen und dafür einen Speicherort angeben. Ich hatte das jede Nacht auf ein NAS automatisiert.

Diese Datei kann man dann ja auch auf eine externe Platte kopieren und am neuen Server wieder in den richtigen Speicherort für die Backups kopieren und von da die VM wiederherstellen.

Viele Grüße
Steffen

Hi.
Unter Proxmox läuft das doch so, dass du unter „Rechenzentrum → Storage“ zunächst definieren musst, welche Festplatten du zur Verfügung hast. Dort wird auch festgelegt, welcher Inhalt auf die Platten soll – also muss für die angehängte Platte (da dort Backups landen sollen) auch „VZDump backup file“ angeklickt werden.
Danach steht dieses Storagen für Backups zur Verfügung. Du kannst also auf ProxmoxA alles dort ablegen, dann die Platte zu ProxmoxB umziehen lassen, wo Du das Storage erneut einbinden musst. Anschließend kannst du den Inhalt auch auf B wieder herstellen…

Viele Grüße – und: ich würde auf das geniale WebUI von Proxmox nicht mehr verzichten wollen. Das vereinfacht einem die Verwaltung der VMs doch immens…

Michael

Hallo,

das Problem bei USB-Platten und Proxmox ist, daß diese zuerst manuell, oder über die /etc/fstab von Proxmox ins Dateisystem eingehängt werden müssen. Dann kann man als Backup Ziel „Dateisystem“ oder so auswählen wo man dann den entsprechenden Mountpoint der USB-Platte wählt.
Bequem ist auch immer ein NFS Mount eines Linux Servers/Clients etc.

Viele Grüße
Klaus

Hallo,

ich ziehe von KVM Host zu KVM Host um, indem ich eine USB Festplatte in den alten Host einstecke und dort ein LVM darauf anlege.
In diesem mache ich dann ein lv und hänge dieses in die VM mit ein. Dann boote ich „irgendwas Linuxartiges“ (nicht das installierte BS), partitioniere das LV und mach ein rsync.

Dann wandert die Platte rüber zum neuen Host und da läuft es rückwärts. Danach muss ich das linux wiede rbootfähig machen: mit der Anleitung zu grub2 von ubuntuusers.de

Das hab ich schon etliche male so gemacht.

LG
Holger

Danke für die vielen Ideen. Hier ein Zwischenstand:
hab mal die USB-Platte in den Host reingesteckt und reingehängt (via _Shell im Proxmox-WebIF)

mount -o rw -t ntfs /dev/hdd1 /media/usbdrive

und dann unter Rechenzentrum/Storage/Hinzufügen

ID: usbdrive
Verzeichnis: /media/usbdrive
Inhalt: VZDump backup file

eingegeben, worauf hin ein Fehler geworfen wurde:

create storage failed: error during cfs-locked ‚file-storage_cfg‘ operation: mkdir /media/usbdrive/dump: Read-only file system at /usr/share/perl5/PVE/Storage/Plugin.pm line 1170. (500)

Seltsam: tatsächlich zeigt mount

root@pve:~# mount | grep sdd
/dev/sdd1 on /media/usbdrive type ntfs (ro,relatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1)

die USB-Festplatte als read only, obwohl explizit als rw gemountet (was eigentlich nicht nötig wäre, weil by mount rw ohnehin der default ist).

Egal, jetzt ist schon wieder spät, werde morgen weiter sehen. Vllt komme ich mit einer NAS weiter (weil laut Proxmox-Doku NFS oder CIFS/SMB-share ohne Einbindung in /etc/fstab geht).

Grüße, ersin

Hallo zusammen,

ich würde das per dd machen. Das geht sogar über ssh und über verschiede Speicherarten (LVM/Image-Datei) hinweg. Man richtet auf dem neuen Server einen Speicher gleicher Größe ein und dann tut es auf dem alten Host ein

dd if=<Quellspeicher> bs=4096 | ssh <user>@<neuerHost> "dd of=<Zielspeicher> bs=4096"

Wenn man nicht root sein sollte, kann man vor die beiden dd ein sudo packen. Statt dd nutze ich gerne dcfldd, das zeigt den Fortschritt an - oder man „pimpt“ es mit pv und pigz:

dd if=<Quellspeicher> bs=4096 | pv | pigz | ssh <user>@<neuerHost> "pigz -d | sudo dd of=<Zielspeicher> bs=4096"

Die Grundidee ist dabei aber immer die Gleiche. In Kombination mit Screen und Snapshots haben wir damit 3 TB in 2 Nächten praktisch ohne Auszeit auf unsere neue Serverinfrastruktur übertragen.

Viele Grüße
Thomas

ich nehme stark an, dass das das Problem ist … warum willst du, dass die Platte mit NTFS formatiert ist?

Hallo zusammen,

man kann auch mehrere Proxmox-Hosts zu einem Cluster zusammenschalten. Dann kann man die VMs einfach im Webinterface von einem Host zum nächsten schieben.

Beste Grüße

Jörg

Hi. Das ist aber nur dann zu empfehlen, wenn es auch so bleiben soll … also wenn der Cluster bestehen bleiben soll. Häufiger hat man ja den Fall, dass ein alter Server gegen einen neuen ersetzt werden soll.
Und das Thema „2-Node-Cluster“ ist in Sachen Proxmox eh speziell, da es eigentlich erst ab 3 Nodes richtig funktioniert.

Viele Grüße,
Michael

Menschen stolpern nicht über Berge, sondern über Maulwurfshügel
(Konfuzius).

Dank eurer Beiträge, insbesondere dem Hinweis von Michael auf ntfs habe ich gestern (nach palm face und Kopf-auf-Tischplatte) das Problem lösen können:

Es hat tatsächlich was mit ntfs zu tun – aber anders, als man/Michael vermutlich denkt:

Meine eingangs skizzierte Idee, „einfach“ eine USB-Festplatte anzustöpseln, entsprang der Gewohnheit. Die für den Backup vorgesehene, „ganz normale" (d.h. mit NTFS vorformatierte) USB-HDD hatte ich ja bereits am heimischen Notebook unter Xubuntu eingesetzt. Weil das ohne Probleme geht (zumindest an halbwegs modernen Linux-Distros für den Desktop), wähnte ich mich da im vertrauten Terrain.

Das (auf einem konfektionierten Debian) beruhende Proxmox enthält zwar einen (einfachen) ntfs-Treiber und „erkennt“ so (immerhin) die USB-HDD – aber eben nur lesend! (Über das „read only“ im mount hatte ich mich schon gewundert. Für Schreibzugriff ist allerdings das Paket ntfs-3g nötig, was Proxmox von Haus aus nicht mitbringt. Es gibt zwar für PVE6 ein Update für USB-Automount, aber der frisst m.E zuviel Speicherplatz.

root@pve:~# apt install pve6-usb-automount

After this operation, 246 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
root@pve:~#

Habe mich daher für das genügsamere und völlig ausreichende Paket ntfs-3g entschieden. Nach einem

root@pve:~# apt install ntfs-3g
root@pve:~# mount /dev/sdd1 /media/usbdrive/

(auch ohne expliziten Schalter -o rw), konnte ich endlich die USB-HDD im Proxmox-WebIF unter Datacenter/Storage hinzufügen mit ID USBX, Typ Directory als VZDump backup file.

Fazit:
Meist sind es nicht die großen, sondern die kleinen Dinge, die man übersieht.

Übrigens, das mit USB 2.0-Geschwindigkeit laufende Backup benötigte gut 30 Minuten für ca. 37GB.
Mit USB 3.0 (sofern Host und USB-HDD mitspielen) ginge es natürlich eine Größenordnung flotter.

Ansonsten werde ich dem Tipp von thoschi nachgehen, die Datei übers Netz via ssh zu übertragen, was noch flotter als USB 3.0 sein dürfte und ganz ohne „Stöpselei" auskommt).

Grüße und ein schönes WE
ersin

Hi.
Also ich wäre da definitiv anders vorgegangen und hätte die Platte einfach mit ext3 formatiert :slight_smile: :slight_smile:

Hallo Michael,

Ja klar, wenn man schon vorher weiß, das Proxmox ab Werk keinen Schreibzugriff auf NTFS gewährt, sondern erst mit Hilfe eines nachträglich zu installierenden Pakets, dann kann man sich überlegen, ob man nicht alternativ je nach Situation den Datenträger mit einem Dateisystem formatiert, auf den Proxmox r/w zugreifen kann.

Neben ext3 käme da übrigens auch ZFS oder etwa, wie Holger es vorzieht, LVM in Frage.

Oder gleich „übers Netz“ via iSCSI, die gute alte „Windows-Freigabe“ (CIFS/SMB-share) oder NFS. In die Richtung geht ja auch der Vorschlag von thoschi.

All diese Möglichkeiten schienen mir etwas übertrieben für die gegebene Aufgabe. Da ich schlicht davon ausging, für das Backup einfach wie gewohnt eine handelsübliche (also mit NTFS vorformatierte) USB-Platte anzustöpseln, hatte ich nicht damit gerechnet, dass ausgerechnet hier eine Stolperfalle lauert, stand prompt „auf dem Schlauch“ und stellte das Problem hier ins Forum.

Finde, die sollten da nachbessern (wüsste nicht, was gegen das Paket ntfs-ng3 an Stelle ntfs im Lieferumfang sprechen würde). Und BtrFS optional zu ZFS wär auch nicht schlecht. Ansonsten ist die Fülle an unterstützten Dateisystemen ja schon beachtlich.

Aber nochmals Danke für Deinen Hinweis, der meinen Blick überhaupt erst auf diesen „Maulwurfshügel“ gelenkt hat. War kurz davor, „mal eben“ eine NAS anzuschließen oder die Platte mit ext3 neu zu formatieren – was sicherlich auch funktioniert hätte.

Aber dann hätte ich nicht soviel gelernt.

Grüße, ersin