rsync .qcow2 nur den diff übertragen oder andere Idee?
-
Ich versuche eine VM bzw. deren .qcow2 File per rsync zu übertragen, aber nur die Änderungen.
Eigentlich sollte das bei rsync mit der Option "--inplace" gehen und es sieht auch ganz gut aus, es wurden nur 98,98 MB übertragen:
sending incremental file list testwin10.qcow2 21.48G 100% 213.24MB/s 0:01:36 (xfr#1, to-chk=0/1) sent 98.98M bytes received 1.31M bytes 694.06K bytes/sec total size is 21.48G speedup is 214.16
Aber, rsync scheint trotzdem die ganze Datei zu lesen und das ist mein Problem*.
- später soll das durch eine VDSL50 Leitung (=kein Upload) gehen...
-
Hat jemand eine andere Idee oder kennt ein Tool das sich besser dafür eignet?
-
@slu said in rsync .qcow2 nur den diff übertragen oder andere Idee?:
Aber, rsync scheint trotzdem die ganze Datei zu lesen und das ist mein Problem*.
Warum ist das ein Problem?
Die gesamte Datei in Quelle und Ziel zu kennen, ist ja die Voraussetzung für eine differentielle Sychronisierung.
rsync speichert nichts und muss daher bei jedem Start die ganze Datei von neuem untersuchen.Mit der oben angegebenen Geschwindigkeit ist das ganze File auch in annehmbarer Zeit über die Leitung.
-
@viragomann said in rsync .qcow2 nur den diff übertragen oder andere Idee?:
Warum ist das ein Problem?
Die gesamte Datei in Quelle und Ziel zu kennen, ist ja die Voraussetzung für eine differentielle Sychronisierung.
rsync speichert nichts und muss daher bei jedem Start die ganze Datei von neuem untersuchen.Hatte mir da noch gar keine Gedanken gemacht, irgendwie war ich der Annahme das nur ein paar MB über die Leitung gehen. Aber klar Du hast recht, rsync muss ja die ganze Datei untersuchen.
Rsync scheint für diesen Fall ungeeignet zu sein.Mit der oben angegebenen Geschwindigkeit ist das ganze File auch in annehmbarer Zeit über die Leitung.
Das Beispiel oben war nur ein Test, später sind es 500 GB und ich habe nur 1 MB/s zur Verfügung.
-
@slu
Da fällt mir ein, rsync sollte eigentlich Prüfsummen erstellen und diese vergleichen. Wieviele Daten dabei übertragen werden, weiß ich aber auch nicht.Wenn es sich ausschließlich um virtuelle Platten handelt, wären vielleicht Snapshots die beste Option?
So können die gesamten Images irgendwann übertragen werden und die "kleinen" Snapshot-Differenzen dann schnell bei der Umstellung. -
@viragomann said in rsync .qcow2 nur den diff übertragen oder andere Idee?:
@slu
Da fällt mir ein, rsync sollte eigentlich Prüfsummen erstellen und diese vergleichen. Wieviele Daten dabei übertragen werden, weiß ich aber auch nicht.So hatte ich das auch verstanden, allerdings scheint er trotzdem die ganze Datei zu lesen, auch wenn am Ende nur ein paar MB übertragen werden.
Wenn es sich ausschließlich um virtuelle Platten handelt, wären vielleicht Snapshots die beste Option?
So können die gesamten Images irgendwann übertragen werden und die "kleinen" Snapshot-Differenzen dann schnell bei der Umstellung.Meine lokale Kopie geht schnell, das ist kein Problem. Nur das Offsite-Backup an einen anderen Standort ist mein Problem. Derzeit dauert eine Übertragung ~ 120 Stunden, das würde zwar für ein wöchentliches Backup reichen macht mir aber die Leitung zu.
Mit deinem Vorschlag müsste ich von meinem lokalen Backup Snapshots machen, auf dieses Idee bin ich noch nicht gekommen...
-
@slu
Weil mich die Sache nun auch interessiert hat, habe ich mal die Suche angeworfen. Libvirt hat hierfür schon Funktionen vorgesehen: https://libvirt.org/kbase/incrementalbackupinternals.html
Mit Erfahrung kann ich leider nicht dienen.Was läuft in der VM selbst als OS? Soll Offsite-Backup auch Tagesstände speichern oder nur den Letztstand?
-
@viragomann said in rsync .qcow2 nur den diff übertragen oder andere Idee?:
@slu
Weil mich die Sache nun auch interessiert hat, habe ich mal die Suche angeworfen. Libvirt hat hierfür schon Funktionen vorgesehen: https://libvirt.org/kbase/incrementalbackupinternals.html
Mit Erfahrung kann ich leider nicht dienen.Das kannte ich noch gar nicht, muss ich mal durchlesen, danke für den Link.
Mal sehen ob das mein libvirt schon kann, aber Debian 11 steht ja vor der Tür ;)Was läuft in der VM selbst als OS? Soll Offsite-Backup auch Tagesstände speichern oder nur den Letztstand?
Die meisten VM's sind Debian und ein Ubuntu.
Nutz-Daten der VMs werden unabhängig gesichert, das geht mit rsync ganz gut weil sich nicht viel ändert.Zusätzlich sollen die VMs einmal die Woche komplett gesichert werden um die VM im Notfall an einem anderen Standort zu starten bzw. bei einem Hardware defekt wieder herstellen zu können.
-
@slu said in rsync .qcow2 nur den diff übertragen oder andere Idee?:
Mal sehen ob das mein libvirt schon kann
Das nehme ich doch an. Snapshots gibt es schon einige Jahre.
Die meisten VM's sind Debian und ein Ubuntu.
Da bin ich nicht der Richtige. Ich hatte mal ein paar Windows VMs zu übersiedeln, und das ging ganz gut mit dem eingebauten wbadmin via SMB. Erstmal das Vollbackup komprimiert und rüberkopiert und dann mit wbadmin inkrementelle Backups gefahren. Benötigten nur ein paar Minuten für mehrere 100 GB Platten.
-
@viragomann said in rsync .qcow2 nur den diff übertragen oder andere Idee?:
Ich hatte mal ein paar Windows VMs zu übersiedeln, und das ging ganz gut mit dem eingebauten wbadmin via SMB.
Ok das ist dann direkt aus der VM das ist natürlich noch schöner...