Wie kann ich eine VirtualBox-VM mit TimeMachine sichern

Ich habe viele verschiedene Dinge über die Verwendung von TimeMachine mit VirtualBox gelesen, aber ich konnte keine klare Antwort darauf finden, was eine akzeptable Konfiguration ist. Einige Leute sagen „schließe die gesamte virtuelle Festplatte ein“, andere sagen „nutze Snapshots und schließe alles außer der virtuellen Festplatte ein“, und wieder andere sagen „vergiss TimeMachine, erstelle eine separate Partition auf deinem Backup-Laufwerk und exportiere deine VMs manuell“. Ich habe gelesen, dass das Einschließen der gesamten VBox vdi / vdmk dazu führt, dass TimeMachine jedes Mal, wenn sich etwas ändert, die gesamte Festplatte schreibt, das TimeMachine-Backup auffüllt und den gesamten inkrementellen Backup-Verlauf löscht.

Die meisten Sachen, die ich gelesen habe, sind auch ein paar Jahre alt. Ich frage mich, ob jemand einen neuen Rat zu diesem Thema hat. Was ist der beste Weg, um VirtualBox-VMs mit TimeMachine zu sichern? Ist es überhaupt eine Aufgabe, mit der es sich lohnt, herumzuspielen, oder ist eine manuelle Sicherung die bessere Option?

Antworten (3)

Ich habe eine Antwort, es ist nicht die Antwort , aber es hat erst kürzlich mein Hinterteil gerettet, als die Festplatte meines iMac vor ein paar Wochen abgestürzt ist, also dachte ich, ich würde es teilen. Es ist keine kurze Lektüre, aber ich denke, es kann helfen.

Es gibt viele Probleme rund um VMs, die Backup-Strategien Kopfschmerzen bereiten können – Größe der VDI-Dateien, Snapshots, Backup-Zeit usw. Folglich habe ich mich entschieden, hier meinen eigenen Weg zu gehen, um die Dinge zu vereinfachen.

Ich vermeide die Strategie „alle Eier in einen Korb zu legen“. Das bedeutet, dass, obwohl ich eine VM habe, auf der FreeBSD für die Webentwicklung läuft, das, was entwickelt wird, nirgendwo auf der VM ist. Hier ist eine Karte, wie meine Umgebung aussieht:

Geben Sie hier die Bildbeschreibung ein

Die Grafik muss aktualisiert werden, da ich Oracle Linux 7 nicht mehr verwende, da ich auf FreeBSD 10-2 umgestiegen bin. Ich habe auch 4 USB-Laufwerke an die Synology angeschlossen, nicht nur eines. Aber das sind kleinere und die Konzepte sind immer noch genau die gleichen. So habe ich alles zusammengefügt...

Die Architektur

Meine Umgebung besteht aus meiner

  • Synology NAS (RAID 1) mit einem iSCSI-Target, das so konfiguriert ist, dass es alle Daten für die FreeBSD-VM enthält
  • ein USB-Laufwerk, um diese iSCSI-LUN zu sichern
  • ein Cron-Job auf der Synology, um tägliche Snapshots des dev-Verzeichnisses zu erstellen (dies beinhaltet einen täglichen MySQL-Dump)

Auf meinem iMac

  • eine VDI mit dynamischer Größe, die bei 24 GB maximal ist
  • FreeBSD VM konfiguriert, wie ich möchte, aktualisiert wird alle neuesten Patches und Updates
  • FreeBSD VM "überbrückt", sodass es als Knoten in meinem Netzwerk erscheint und nicht hinter VirtualBox NAT-fähig ist
  • iSCSI-Initiator, der sich mit der Synology iSCSI LUN verbindet
  • Der VM-Autoboot-Satz ist aktiviert, sodass die VM automatisch über Neustarts hinweg gestartet wird
  • Time Machine ist für eine tägliche Sicherung konfiguriert

Wie das funktioniert

Da meiner FreeBSD-VM ein iSCSI-Ziel zugeordnet ist, wird alles, was ich tue, auf Synology geändert, nicht auf der VM selbst. Für FreeBSD ist es nur ein weiterer Einhängepunkt. In diesem Fall habe ich einen Einhängepunkt erstellt

/mnt/web/http/htdocs -----> Synology iqn.diskstion.local-some-name

Warum iSCSI? iSCSI ist auf Blockebene, nicht auf Dateiebene. Soweit das Betriebssystem dies erkennen kann, haben Sie eine andere Festplatte an Ihr Betriebssystem angeschlossen. Sie formatieren und partitionieren es genauso wie jedes andere Laufwerk, das Sie Ihrem System hinzugefügt haben.

Ich habe dann das DocumentRootin httpd.confin das oben genannte Verzeichnis geändert. Wenn Sie jetzt Ihren Browser auf den Webserver richten, der auf meinem iMac gehostet wird, kommen alle Dateien von Synology und passieren nur die VM. Wenn ich neuen Code schreibe, ist er auf der Synology.

Oh ... das MySQL-Datenverzeichnis ... Sie haben es erraten ... auf der Synology!

Sichern

Nachdem ich die FreeBSD-VM so erstellt hatte, wie es mir gefiel, habe ich sofort eine Kopie archiviert und auf der Synology und auf einem USB-Stick abgelegt. Es waren übrigens nur 4 GB.

Ich habe das Wiederherstellungsverfahren getestet, indem ich die VM auf meinem iMac gelöscht und dann zurück in das VM-Verzeichnis meines iMac kopiert habe. Der Trick besteht darin, anstatt zu importieren/exportieren, dass Sie es einfach zu VirtualBox "hinzufügen" und die .vboxDatei des Computers, auf den Sie kopiert haben, "öffnen".

Geben Sie hier die Bildbeschreibung ein

Jetzt war mein FreeBSD-Image nur 4 GB groß und es ändert sich nie - es sei denn, ich mache ein Update. Es ist also nicht erforderlich, dies mit Time Machine zu sichern (es sei denn, ich möchte), da es sich nur ändert, wenn ich ein Betriebssystem-Update durchführe.

Die Synology ist mit einem RAID 1 konfiguriert, sodass die Festplatten gespiegelt sind. Wenn einer ausfällt, dann habe ich immer noch den anderen; dass meine erste Ebene des Datenschutzes. Ich habe auch ein tägliches Backup, das auf ein USB-Laufwerk geht; das ist meine zweite Ebene. Ich mache auch einen täglichen Verzeichnis-Snapshot mit tarund mysqldumpdas ist cron'd (auf der Synology); drittes Level. Synology kann mit Cloud-Anbietern synchronisieren. Wenn ich dies also einrichte, stehen mir jetzt 4 Datenschutzebenen zur Verfügung. Kaufen Sie ein anderes NAS und verwenden Sie rsync ... 5 Stufen ... und so weiter ....

Wie das funktionierte

Also habe ich vorhin gesagt, dass dies meinen Speck gerettet hat, als meine Festplatte abgestürzt ist. Da meine Daten auf einem anderen Laufwerk vorhanden waren, waren sie sicher. Ich hatte mein VM-Image an zwei Stellen gesichert, damit es bereit war.

Als ich meine VM zurück auf meinen neuen iMac kopierte, wusste sie nach dem Laden, wo sich das iSCSI-Ziel befand, und machte sich sofort an die Arbeit. Ich habe die Wiederherstellung insgesamt in weniger als 10 Minuten durchgeführt, einschließlich der Zeit, um das VM-Master-Image zu finden und auf meinen neuen iMac zu kopieren.

Aber das ist nicht, wo es meinen Speck gerettet hat ...

Ich entschied mich für ein Upgrade auf eine 1 TB SSD und die Lieferung würde 2 Tage dauern. Ich konnte zwei Tage lang nicht ausfallen, also kopierte ich die VM auf mein Surface Pro 3, lud sie hoch, und da die VM „wusste“, wo sich das iSCSI-Ziel von Synology befand, war ich in 10 Minuten wieder im Geschäft ganz anderer Rechner .

Sie benötigen kein externes NAS

Ok, vielleicht ist mein Setup mit einem NAS und iSCSI etwas übertrieben. Nichts hindert Sie jedoch daran, auf Ihrem Mac ein „freigegebenes Verzeichnis“ einzurichten und dieses per NFS zu teilen und auf Ihrer VM zu mounten. Denken Sie daran, dass die VM als eigener Knoten im Netzwerk eingerichtet ist. es hat keine Ahnung, dass es zu dem freigegebenen Laufwerk zurückkehrt, von dem es seine Daten erhält. Mit diesem Setup können Sie immer noch den Vorteil nutzen, dass sich die VM nie ändert und nur das sichert, was sich geändert hat, was sich in dem Verzeichnis befindet, das über NFS freigegeben wird.

Abschluss

Ich habe mich immer der Philosophie verschrieben, dass Datenschutz kein Produkt oder eine Dienstleistung ist, die man kauft; Es ist eine Strategie, die Sie anwenden. Ich habe festgestellt, dass es eine Katastrophe ist, sich auf eine Sache zu verlassen (dh Time Machine), die darauf wartet, passiert zu werden. Indem ich dies als Schutzniveau aufbaue, kann ich im Katastrophenfall sehr effizient und hoch gesichert sein. Es ermöglicht mir auch, extrem flexibel und „schnell“ wieder online zu gehen.

Es ist ziemlich einfach, Time Machine zu verwenden, um alle Backups einer bestimmten Datei zu löschen, also sage ich - lassen Sie es Ihren Computer sichern und einige Daten sammeln.

  • Wie groß ist Ihr Backup-Laufwerk?
  • Wie viel Speicherplatz verwendet die VM für einen Snapshot?
  • Können Sie Einstellungen in VirtualBox verwenden, um den neuen Speicherplatz zu minimieren, der benötigt wird, wenn die VM Daten auf ihre Laufwerksabbilder schreibt?

Eine Berechnung der Rückseite des Umschlags würde zeigen, dass Sie in einem Monat 24 stündliche Sicherungen der VM-Dateien und 31 tägliche Sicherungen hätten. Wenn also jedes Backup ein komplett neues Image des gesamten Laufwerksimages erstellt, haben Sie 55-mal so viel Speicherplatz auf Time Machine wie auf Ihrem Mac.

Wenn Sie von Virtual Box VM insgesamt 20 GB Speicherplatz freigeben, sind das 1,1 TB im Backup. Nicht unerheblich, aber überhaupt kein Problem, wenn Sie mehr als 3 TB freien Speicherplatz zum Experimentieren haben.

Dann könnten Sie nach ein paar Tagen ein Tool wie BackupLoupe verwenden, um abzuschätzen, wie lange es dauern wird, bis das Laufwerk gefüllt ist, und überprüfen, ob Ihre VM den Speicherplatz effizient nutzt oder ob dies zu Verzögerungen beim Abschluss des Backups führt und/oder sogar rentabel ist Backup (Sie müssten das Image zum Testen wiederherstellen).

1) Die Größe des Sicherungslaufwerks ist nicht wirklich ein Problem. Ich habe derzeit 1 TB, aber das lässt sich leicht ändern. 2) Die Schnappschüsse sind (bisher) nicht zu groß, ~ 500 MB. Wenn ich die Appliance jedoch exportiere, sind es ~ 38 GB. 3) Ich weiß nicht, was diese Einstellungen wären, falls sie existieren. Ich hatte kein Glück, in den VBox-Dokumenten etwas Nützliches zu finden.
Ich möchte mich wirklich lieber nicht mit dem manuellen Löschen alter TM-Sicherungen herumschlagen. Das scheint nur ein zusätzlicher, dummer Schritt zu sein. Wenn das die beste Option ist, schreibe ich lieber einfach ein Skript, um meine VBox-Appliances manuell zu exportieren.
@JordanBondo Es ist wirklich einfach, sobald Sie ein Gefühl dafür haben, wie hoch die tägliche Backup-Last ist. Öffnen Sie den Finder für den Ordner, der die VM enthält (oder den enthaltenden Ordner), und geben Sie TM ein. Verwenden Sie dann das Zahnrad, um alle Sicherungen eines Bildes oder eines Ordners zu löschen. Geben Sie das Kennwort ein und es werden alle Instanzen bereinigt. Sie möchten den Ordner dann aus zukünftigen Sicherungsintervallen auf die schwarze Liste setzen.
Das Skripten eines regelmäßigen Exports von nicht wachsenden Bildern ist viel Time Machine-freundlicher. Dann wird die vernünftige Verwendung von tmutil isexcludedund tmutil addexclusionund tmutil removeexclusionsowohl Sie als auch Ihre Backups glücklich machen @JordanBondo

Stellen Sie einfach sicher, dass die Virtual Box-Ordner nicht in Ihrer ausgeschlossenen Backup-Liste sind (öffnen Sie die Systemeinstellungen -> Time Machine -> Optionen) und Time Machine erledigt den Rest.

Nach einer vollständigen Time Machine-Sicherung können Sie Time Machine aufrufen und überprüfen, ob die Ordner der virtuellen Maschine in Time Machine vorhanden sind.

BEARBEITEN: Time Machine sichert Dateien auf Dateiebene. Wenn Sie also ein einzelnes Bit in einer 30-GB-*.vdi-Datei ändern, erstellt Time Machine eine vollständige Kopie der neuen Datei und speichert die alte, also ja, Ihre Annahme, dass der TC dupliziert wird Viele Daten sind korrekt, aber da zusätzlicher Speicherplatz benötigt wird, werden ältere Versionen überschrieben. Ich würde mir vorstellen, dass Sie niemals einen Konflikt haben sollten, wenn Ihr TC-Laufwerk mindestens doppelt so groß ist wie Ihr OS X-Laufwerk

Wenn Sie die VM-Dateien korrekt ausschalten (nicht speichern), sollten Sie in Bezug auf beschädigte VM-Dateien in Ordnung sein.

Siehe diesen VMWare-Link, der für Virtual Box gilt. Nebenbei bemerkt, das einzige Mal, dass ich jemals ein Problem hatte, eine VM aus einem Backup wiederherzustellen oder eine VM zu verschieben, war, wenn sie sich während des Umzugs in einem gespeicherten Zustand befand, was sie jedes Mal durcheinander zu bringen scheint.

Das habe ich getan, aber das Problem (nach meinem Verständnis) dabei ist, dass TimeMachine laufende VMs nicht korrekt sichert. Ich weiß, dass TM die Dateien tatsächlich sichert, aber die Frage ist, ob dies dazu führt, dass TM jedes Mal die VDI / VDMKs sichert und somit das TM-Volume mit VM-HDD-Sicherungen füllt (nicht das, was ich möchte) .
@JordanBondo siehe Bearbeiten.