Ich habe VDI mit einer ganzen Reihe von Schnappschüssen - sagen wir, 50 oder 70 Schnappschüsse. Ich möchte eine einfache VDI mit einem aktuellen Status haben. Diese Snapshots beanspruchen viel zu viel Speicherplatz und werden nicht als Snapshots benötigt.
Ich weiß das, wenn ich anrufe
VBoxManage clonehd thedisk.vdi thedisk-full.vdi
(50-70 times) VBoxManage clonehd {uuid-of-snapshot}.vdi thedisk-full.vdi --existing
Ich werde bekommen, was ich will. Aber es dauert sehr, sehr lange (mehr als 5 Stunden bei meiner Hardware und 16G anfänglicher Festplattengröße).
Und natürlich habe ich es versucht VBoxManage snapshot delete
und es ist seltsam: Funktioniert nicht auf gestoppten Maschinen, kann auf laufenden Maschinen fehlschlagen und wenn es einmal fehlschlägt, werden alle nachfolgenden Aufrufe fehlschlagen.
Gibt es eine Möglichkeit, aus einer Reihe von Schnappschüssen ein einfaches VDI zu erstellen - schneller?
$ VBoxManage --version
3.2.14r75509
(Auf ServerFault gestellt, aber entschieden, dass dieser Ort für diese Frage besser geeignet ist.)
quelle
Antworten:
Die Lösung gefunden. Es ist so einfach wie der letzte Schritt von den Befehlen, die ich hier geschrieben habe. Dh
Also sollte ich nur den letzten Schnappschuss klonen, nicht jeden Schnappschuss aus der Kette. Und es ist Tausende Prozent schneller.
Die UUID finden Sie unter
VBoxManage list hdds | grep VmName | tail
Wählen Sie in der GUI (unter Windows) die VM aus, wählen Sie oben rechts Snapshots aus, klicken Sie mit der rechten Maustaste auf den gewünschten Snapshot, wählen Sie Klonen ... aus und wählen Sie im Dialogfeld Vollständiges Klonen aus.
quelle
thedisk-full.vdi
Datei auf der Festplatte haben, ändern Sie bitte zuerst den Namen im Befehl in so etwas wiethedisk-full-new.vdi
.tail -1
"?clonehd
aus Gründen der Abwärtskompatibilität nicht mehr empfohlen undclonemedium
stattdessen verwendet.Hier ist eine Technik (getestet auf VirtualBox 4.3.4), die den Befehl 'Clone' verwendet, um alle Snapshots zu einer neuen VM zusammenzuführen und zu komprimieren, die eine einzelne VDI-Datei enthält:
Benennen Sie die VM um, damit Sie ihren aktuellen Namen für die geklonte VM wiederverwenden können (Sie können den VM-Namen auf der Registerkarte "Basis" in den Einstellungen "Allgemein" ändern).
Klicken Sie mit der rechten Maustaste auf die VM und führen Sie den Befehl 'Klonen ...' aus:
Löschen Sie die alte VM (klicken Sie mit der rechten Maustaste auf die VM und führen Sie den Befehl 'Entfernen ...' aus).
quelle
Sie können versuchen , den Export zu OVF und dann importieren die generierte Datei zurück.
Wie hier erklärt :
Als Ergebnis erhalten Sie eine geklonte VM mit dem aktuellen Status ohne andere Snapshots.
quelle
Bei diesem Vorgang werden sehr große Dateien auf derselben physischen Festplatte gelesen und geschrieben. Die einzige Möglichkeit, dies zu beschleunigen, besteht darin, diese Dateien auf verschiedenen Datenträgern abzulegen und die Pfade in Ihrem VBoxManage-Befehl zu ändern. Wenn das Gerät nur über eine Festplatte verfügt, können Sie ein externes USB-Laufwerk oder sogar eine Festplatte in einem anderen Gerät über eine Netzwerkfreigabe verwenden (abhängig von der Geschwindigkeit Ihres Netzwerks).
quelle
Einige haben 10Gib / s LAN, so dass es mehr als ein Gigabyte pro Sekunde übertragen kann, so dass es kein Engpass wird.
Einige haben 1Gib / s LAN, so dass es mehr als 100 Megabyte pro Sekunde übertragen kann, so dass es kein Engpass wird (es sei denn, Sie haben eine wirklich schnelle SSD).
Mechanische Festplatten, die zur gleichen Zeit auf derselben Festplatte gelesen und beschrieben werden (oder stark fragmentiert sind), sind fast 20 Megabyte pro Sekunde lahmgelegt, während bei nicht fragmentierten Festplatten nur Lese- oder Schreibvorgänge mehr als 100 Megabyte pro Sekunde möglich sind.
Sie sagen, LAN sei langsamer, aber nicht USB (2.0, ganz zu schweigen von 1.1 oder 1.0) ist um ein Vielfaches langsamer.
Was ich vorschlagen würde, wäre: Verwenden Sie USB 3.1 Gen2 Typ C oder eine eSATA / SATA / SAS
Aber immer: Verwenden Sie eine zweite ausreichend schnelle Festplatte.
Und immer: Das Klonen auf eine andere Festplatte und das Zurückkopieren der Datei ist viel schneller als das Verwenden von nur einer Festplatte, es sei denn, es handelt sich um eine SSD oder eine Festplatte mit unabhängigen Mehrkopfarmen (sie können gleichzeitig auf zwei lesen und schreiben) Oberflächenstellen, jeder Kopf hat einen eigenen Arm, sehr teuer, ca.> 9876 €).
Das Beste ist, nur die virtuelle Festplatte des gewünschten Status zu klonen, dann zu überprüfen, ob sie funktioniert, dann die oberste Ebene WIEDERHERSTELLEN (löscht alle Schnappschüsse), dann die Festplatte aus dem Speicher zu entfernen und die neue anzuschließen.
So gehen Sie vor, um alle alten Zustände in einem No-Tree-Snapshot-Schema zu verlieren:
Denken Sie jedoch immer daran, dass Schnappschüsse wie ein vollständiger Baum sein können, ein Knoten mehr als ein Kind haben kann, jedes Kind mehr als ein Kind haben kann usw.
Wenn Sie mit Schnappschussbäumen arbeiten möchten, denken Sie bei DELETE immer an das Löschen eines Knotens, ohne den Rest der Knoten zu beeinflussen (verlieren Sie nur diesen Zustand, aber nicht den Rest, kein übergeordnetes und kein untergeordnetes Element werden betroffen, die Daten werden im gesamten ersten Unterelement zusammengeführt Level Childs, also langsamer Prozess) und bei RESTORE als Zerstörung aller Childs auf allen Unterebenen (alle Zustände nach dem, den Sie wiederherstellen, werden nur die Dateien gelöscht, also wirklich schneller Prozess, nur Sekunden).
Das ist!
PD: Wie schrecklich die Namen von VBOX für diese beiden Operationen waren (lösche nur einen Knoten = LÖSCHEN; lösche alle untergeordneten Knoten auf allen Unterebenen = WIEDERHERSTELLEN)
quelle