Saya memiliki vdi dengan sejumlah snapshot yang diambil darinya - katakanlah, 50 atau 70 snapshot. Saya ingin memiliki satu vdi polos dengan keadaan saat ini. Snapshots ini memakan terlalu banyak ruang disk dan tidak diperlukan sebagai snapshot.
Saya tahu itu jika saya menelepon
VBoxManage clonehd thedisk.vdi thedisk-full.vdi
(50-70 times) VBoxManage clonehd {uuid-of-snapshot}.vdi thedisk-full.vdi --existing
Saya akan mendapatkan apa yang saya inginkan. Tapi itu membutuhkan waktu yang sangat lama (lebih dari 5 jam mengingat perangkat keras saya dan ukuran disk awal 16G).
Dan, tentu saja, saya mencoba VBoxManage snapshot delete
dan aneh: tidak bekerja pada mesin berhenti, bisa gagal menjalankan mesin dan ketika gagal sekali, itu akan gagal semua panggilan berikutnya.
Apakah ada cara untuk membuat vdi sederhana dari sejumlah snapshot - lebih cepat?
$ VBoxManage --version
3.2.14r75509
(menanyakannya pada ServerFault tetapi memutuskan tempat ini lebih tepat untuk pertanyaan ini)
sumber
Jawaban:
Menemukan solusinya. Ini sesederhana langkah terakhir dari perintah yang saya tulis di sini. Yaitu
Jadi saya harus mengkloning hanya snapshot terakhir, tidak setiap snapshot dari rantai. Dan itu ribuan persen lebih cepat.
Uuid dapat ditemukan dari
VBoxManage list hdds | grep VmName | tail
Di GUI (pada Windows), pilih VM, pilih Snapshots dari kanan atas, klik kanan pada snapshot yang Anda inginkan, pilih Clone ... , dan pilih Full Clone dalam dialog.
sumber
thedisk-full.vdi
file pada disk, silakan ubah nama dalam perintah menjadi sesuatu sepertithedisk-full-new.vdi
.tail -1
"?clonehd
sudah usang dan dibiarkan kompatibilitas, gunakanclonemedium
sebagai gantinya.Berikut adalah teknik (diuji pada VirtualBox 4.3.4) yang menggunakan perintah 'Klon' untuk menggabungkan dan memadatkan semua foto ke VM baru yang berisi file VDI tunggal:
Ganti nama VM sehingga Anda dapat menggunakan kembali nama saat ini untuk VM kloning (Anda dapat mengubah nama VM dari tab 'Dasar' pada pengaturan 'Umum').
Klik kanan pada VM dan jalankan perintah 'Klon ...':
Hapus VM lama (klik kanan pada VM dan jalankan perintah 'Hapus ...').
sumber
Anda dapat mencoba untuk mengekspor ke OVF dan kemudian mengimpor kembali file yang dihasilkan.
Seperti yang dijelaskan di sini :
Akibatnya, Anda akan memiliki VM kloning dengan status saat ini tanpa snapshot lain.
sumber
Operasi itu berarti membaca dan menulis file yang sangat besar dalam disk fisik yang sama. Satu-satunya cara Anda dapat mempercepat itu adalah dengan meletakkan file-file itu di disk yang berbeda mengubah jalur di perintah VBoxManage Anda. Jika mesin hanya memiliki satu disk, Anda dapat menggunakan drive USB eksternal atau bahkan disk di komputer lain melalui berbagi jaringan (tergantung pada kecepatan jaringan Anda)
sumber
Beberapa memiliki 10Gib / s LAN, sehingga dapat mentransfer lebih dari satu gigabyte per detik, sehingga tidak akan menjadi hambatan.
Beberapa memiliki 1Gib / s LAN, sehingga dapat mentransfer lebih dari lebih dari 100 megabita per detik, sehingga tidak akan menjadi hambatan (kecuali Anda memiliki SSD yang sangat cepat).
Disk mekanis, ketika membaca & menulis pada disk yang sama pada waktu yang sama (atau banyak terfragmentasi), turun hampir 20 megabyte per detik, sedangkan pada non-terfragmentasi hanya baca atau hanya menulis yang bisa mencapai lebih dari 100 megabyte per detik.
Anda tahu tentang LAN menjadi lebih lambat, tetapi bukan tentang USB (2.0, belum lagi 1.1 atau 1.0) jauh lebih lambat.
Apa yang saya sarankan adalah: Gunakan USB 3.1 Gen2 Type C atau eSATA / SATA / SAS
Tapi allways: Gunakan disk cukup cepat kedua.
Dan allways: Mengkloning ke disk lain dan menyalin kembali file jauh lebih cepat daripada hanya menggunakan satu disk kecuali itu adalah SSD atau hard disk dengan lengan multi-head independen (mereka dapat membaca dan menulis pada saat yang sama pada dua tempat permukaan, masing-masing kepala memiliki lengan sendiri, sangat mahal, sekitar> 9876 €).
Yang terbaik adalah mengkloning hanya hard disk virtual dari keadaan yang Anda inginkan, kemudian memeriksanya bekerja, lalu KEMBALIKAN tingkat atas (akan menghapus semua foto), kemudian lepaskan HDD pada penyimpanan dan hubungkan yang baru.
Jadi langkah-langkah untuk kehilangan semua status lama pada skema snapshot tidak ada pohon:
Tapi ingatlah, snapshot bisa seperti pohon penuh, satu simpul dapat memiliki lebih dari satu anak, setiap anak dapat memiliki lebih dari satu anak, dll.
Untuk bekerja dengan pohon snoapshots, selalu berpikir DELETE sebagai menghapus sebuah node tanpa membubuhkan sisa node (hanya kehilangan negara itu, tetapi tidak ada sisanya, tidak ada orang tua dan tidak ada anak yang akan affeted, data akan digabungkan pada semua sub pertama tingkat anak, proses sangat lambat) dan pada KEMBALIKAN sebagai menghancurkan semua anak di semua tingkat sub (kehilangan semua negara setelah yang Anda pulihkan, itu hanya menghapus file, jadi proses sangat cepat, hanya beberapa detik).
Itu adalah!
PD: Betapa mengerikannya nama yang diberikan VBOX pada dua operasi itu (hapus hanya satu simpul = HAPUS; hapus semua simpul anak pada semua sub level = KEMBALIKAN)
sumber