So warten Sie eine kleine differenzielle Virtualbox-Festplatte


8

Ich versuche, eine Virtualbox-Festplatte über mehrere Computer mit Dropbox-Synchronisation (ein beliebtes Cloud-Tool) zu verwenden. Ich gehe davon aus, dass keine zwei Maschinen gleichzeitig dasselbe Laufwerk öffnen.

Um die Datenübertragung zu reduzieren, möchte ich nur ein Differential meiner Festplatte verwenden, das nur ein kleines Volumen von "Dokumenten" speichert und nicht die gesamte Festplatte synchronisiert (ich vertraue nicht darauf, dass die differenzielle Dropbox-Synchronisation sehr effektiv ist). . Mit dieser offiziellen VirtualBox-Dokumentation habe ich den folgenden Trick gemacht, der mich nur teilweise zufriedenstellt.

  • Bauen Sie mit einem Trick einen Differentialantrieb auf:
    • Machen Sie das Laufwerk Multiattach (siehe obige Dokumentation)
    • Nehmen Sie eine einfache Änderung am Laufwerk des Gasts vor, um eine Diff-Datei zu erstellen
  • Stellen Sie das Basislaufwerk (mit dem VBox Media Manager, Datei> Virtual Media Manager) im "normalen" Modus wieder her (ich benötige dies, um es an mehrere Computer anschließen zu können).
  • Trennen Sie das Hauptlaufwerk von der Maschine und bringen Sie stattdessen das Differential an
    • Dies erfordert einen zusätzlichen Trick beim Anschließen an einen neuen Computer: Anhängen, Trennen des Hauptcomputers und Anhängen des Diff, andernfalls erkennt VirtualBox die Festplatten-GUID nicht

Dieser Trick erledigt den Job: Da ich nur mit der Diff-Festplatte arbeite, wird die Basis niemals geändert und somit niemals über das Netzwerk synchronisiert. Das Schlimme ist aber , dass, wenn auch nur sehr wenig in wachsenden Menge der gespeicherten Daten , das diff - Laufwerk wird in wachsenden Raum die vdi (virtuelle Laufwerk Speicherdatei auf dem Host) auf dem Host nimmt , weil, wie die Gastbetriebssystem - Fragmente und bewegt ichduersiees Dateien . Und so fange ich an, eine ständig wachsende Diff-Festplatte zu synchronisieren, wobei ich die Vorteile eines Diff verliere.

Das Problem ist: Ich möchte eine Möglichkeit, Änderungen auf dem diff vdi regelmäßig zusammenzuführen oder zu defragmentieren, um die Synchronisation klein zu halten. Ich kann es mir leisten (obwohl ich es nicht will), jedes Mal, wenn ich diese Zusammenführung mache, eine vollständige Synchronisierung des Haupt-VDI durchzuführen. Die einzige Möglichkeit, die ich bisher gesehen habe, besteht darin, ein diff vdi mit demselben Verfahren neu zu erstellen und die Dateien auf dieser Festplatte durch eine Art Backup wiederherzustellen. Nicht sehr praktisch. Hat jemand eine bessere Idee?

Natürlich gibt es die andere Möglichkeit, nur in einem freigegebenen Verzeichnis (zwischen dem Host und dem Gast) zu arbeiten, aber das erfordert zusätzliche Konfiguration (viele symbolische Links auf dem Gast) und ich möchte nicht, dass Hostbenutzer sich damit anlegen Gastdateien.

War ich klar genug?


Einige zusätzliche Informationen: Mein Gastsystem ist ein minimales winXP mit einem unveränderlichen Teil von ~ 5GiB und einem 'Dokumenten'-Teil von ~ 500MiB. Hosts sind mehrere Windows- und Linux-Computer, einige sind kleine Festplatten-Laptops mit fehlerhafter Verbindung
PPC

Sie sagen, dass Sie "nicht darauf vertrauen, dass die differentielle DropBox-Synchronisation sehr effektiv ist". Hast du es tatsächlich getestet?
Colin 't Hart

@ Colin'tHart: Kein sehr gründlicher Test, aber ich habe kleine Änderungen am virtuellen Laufwerk (einige neue Dateien und einige alte geändert) in der Produktion vorgenommen, und die Synchronisierung hat ungefähr die Zeit in Anspruch genommen, um die gesamte Datei hochzuladen. Vielleicht ist Dropbox nicht schuld (es könnte NTFS sein, das größere Änderungen als erwartet vornimmt), aber das Ergebnis ist: Es dauert ewig
PPC

Antworten:


3

VBoxManage modifyhd --compact schneidet alle Blöcke aus, die Sie mit einem geeigneten Werkzeug auf Null gesetzt haben (siehe Handbuch). Sie sind sich nicht sicher, ob das Anhängen einer separaten Festplatte für die Dokumente (möglicherweise Durchschreiben ) für Ihre Anforderungen besser ist.


Klingt nach einer guten Idee, dies zu untersuchen. Ich bin mir nicht sicher, ob die Bandbreite tatsächlich erhalten bleibt (wenn es mit Diff funktioniert), da eine solche Änderung den Dropbox-Algorithmus "Intelligent Sync" wahrscheinlich stark durcheinander bringen wird. Ich sollte versuchen, eine solche Änderung so systematisch wie möglich vorzunehmen (jedes Mal, wenn ein Benutzer seine VM schließt?). Tolle Idee sowieso.
PPC

0

Wenn alle Ihre Host-Betriebssysteme Mac OS 10.5+ sind, können Sie den Sparse Bundle-Mechanismus verwenden, der sich gut für die inkrementelle Synchronisierung / Sicherung mit Tools wie Time Machine oder rsync eignet: http://en.wikipedia.org/wiki/Sparse_image# Sparse_Bundle

Ich benutze es über Dropbox mit einem Volumen von 3 GB und es funktioniert gut. Natürlich hat Ihre VM-Festplatte wahrscheinlich mindestens 10 bis 20 GB, sodass die erste Synchronisierung sehr langsam ist. Es kann jedoch von Dropbox mit LAN-Synchronisierung beschleunigt werden.

Außerdem müssen Sie darauf achten, dass Sie es zu einem bestimmten Zeitpunkt nur einmal bereitstellen (wie Sie sagten) und die Synchronisierung nach dem Stoppen der VM / dem Standby-Status zulassen.


Konnte Ihre Lösung nicht testen, meine Hosts sind win7 und Ubuntu Natty :(
PPC
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.