Snapshot VMs


Thorsten

Recommended Posts

Hallo,

gibt es eine Möglichkeit Snapshots von VMs anzulegen. Sowas wie Virtual Box es schon kann mit dem Filesystem btrfs soll dieses ja auch möglich sind. Diese Funktion fehlt Unraid aufjedenfall. Die vdisk immer zu kopieren ist nicht die Lösung.

 

Wie sichert Ihr die VMs oder setzt diese wieder zurück wenn was schief geht ?

 

Viele Grüße

Thorsten

Link to comment

Ich tippe darauf, dass es viele falsch machen. Bei Virtualbox gibt es nämlich eine wichtige Funktion, die man bei einem Dateisystem wie ZFS oder BTRS nicht hat, nämlich, dass das generierte Snapshot auch den RAM Inhalt enthält. Man muss also bei BTRFS zwangsläufig erstmal die VM herunterfahren, bevor man das Image sichern kann. Jede andere Methode führt zwangsläufig dazu, dass man ein korruptes Image hat bzw irgendwann bekommt, da es nichts anderes ist, als wenn man bei einem laufenden Rechner den Strom zieht. Alles was dann noch im RAM war, ist dann eben weg.

 

Ich habe das folgende Script mal überflogen und es ist gut aufgebaut, da es den Status der VM (suspend, shutdown) prüft, bevor es per rsync eine Sicherung davon macht:

https://forums.unraid.net/topic/46281-unraid-autovmbackup-automate-backup-of-virtual-machines-in-unraid-v04/

 

Allerdings möchtest du ein platzsparendes Backup, also eine inkrementelle Sicherung der Daten. Da wären wir dann beim nächsten Problem. Ja, man kann in BTRFS platzsparende Snapshots erstellen, aber diese Snapshots sind dann ja auf dem selben Datenträger wo sie vorher waren. Du kannst zB kein Snapshot auf einem externen Datenträger erstellen. Du kannst nur lokal ein Snapshot erstellen und es dann mit btrbk auf einen externen Datenträger kopieren. Oder man synchronsiert die Snapshots mit snap-sync.

 

Alternativen dazu:

A) Man startet des Backup über die VM selbst und sichert inkrementell die Dateien. Das resultiert aber kein laufendes Image.

B) Man weist der VM eine (kleine) SSD als Datenträger zu und sichert die Dateien dieses Datenträgers inkrementell, wenn die VM heruntergefahren wurde. Auch das resultiert kein laufendes Image.

C) Nachdem die VM heruntergefahren wurde, erstellt man von der kompletten SSD ein Image. Als Snapshot wäre es inkrementell möglich (aber mit oben genannten Einschränkungen), mit rsync nicht.

D) Man nutzt ChunkSync zur Sicherung von Images. Leider gibt es aber noch kein Paket für Slackware (Unraid OS). Müsste man sich erst kompilieren. Setzt man diese Chunks mit cat wieder in eine Datei zusammen, hat man ein laufendes Image.

 

Letzteres plane ich in Zukunft in meinem inkrementellem rsync Script zu implementieren. Dazu würde ich mit dem --max-size Parameter alle Dateien, die größer sind als x GB von rsync ignorieren lassen und genau die dann von ChunkSyze sichern lassen.

 

 

  • Like 2
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.