Versi terbaru VirtualBox mendukung beberapa format disk virtual, tapi mereka lupa untuk memberikan perbandingan di antara mereka.
Sekarang, saya tertarik tentang rekomendasi atau perbandingan yang menganggap berikut:
VirtualBox memiliki
Sumber: Oracle® VM VirtualBox® Manual User » Bab 5. Penyimpanan Virtual » 5.2. Disk Image File (VDI, VMDK, VHD, HDD)
- dapat menggunakan dynamic sizing
VDI, VMDK, dan VHD semua dukungan secara dinamis dialokasikan penyimpanan. VMDK memiliki tambahan kemampuan membelah penyimpanan file ke file kurang dari 2 GB masing-masing, yang berguna jika file sistem memiliki ukuran file yang kecil membatasi.
HDD, QCOW, dan QED harus dialokasikan secara dinamis jika dibuat dalam VirtualBox.
- dapat memiliki snapshot
VirtualBox mendukung snapshotting dari semua enam format.
- mampu memindahkan virtual machine ke OS lain atau bahkan gratis lain solusi virtualisasi dengan usaha yang minimal (mungkin sesuatu yang akan berjalan dengan baik pada Ubuntu).
VDI adalah format asli dari VirtualBox. Lainnya perangkat lunak virtualisasi umumnya don't dukungan VDI, tapi itu's cukup mudah untuk mengkonversi dari VDI ke format lain, terutama dengan qemu-img mengkonversi
.
VMDK dikembangkan oleh dan untuk VMWare, tapi VirtualBox dan QEMU (umum lain virtualisasi perangkat lunak) juga mendukung hal itu. Format ini mungkin menjadi pilihan terbaik untuk anda karena anda ingin kompatibilitas yang luas dengan perangkat lunak virtualisasi lainnya.
VHD adalah format asli dari Microsoft Virtual PC. Windows Server 2012 diperkenalkan VHDX sebagai penerus VHD, tapi VirtualBox tidak mendukung VHDX.
HDD adalah format untuk Paralel. Parallels memiliki spesialisasi dalam virtualisasi untuk macOS. Ini mungkin isn't cocok untuk anda, terutama mengingat bahwa VirtualBox hanya mendukung versi lama dari HDD format.
QCOW adalah versi asli dari qcow format. Ini telah digantikan oleh qcow2, VirtualBox yang tidak mendukung.
QED itu ditinggalkan peningkatan qcow2. QEMU menyarankan agar tidak menggunakan QED.
- kinerja
Masing-masing format mungkin memiliki bernuansa karakteristik kinerja karena cara penyimpanan blok disarikan oleh format, tapi saya belum't menemukan tolok ukur membandingkan VirtualBox-format yang didukung.
Ada yang lebih besar faktor-faktor yang mempengaruhi kinerja, seperti:
Saya selalu menggunakan VDI, karena itu adalah format asli dari VirtualBox; namun, menggunakan VMDK (VMWare format) akan meningkatkan kompatibilitas dengan perangkat lunak mesin virtual lainnya.
VirtualBox akan berjalan dengan baik pada Ubuntu, jadi jika tujuannya adalah Windows/Ubuntu interoperabilitas, VDI akan sah pilihan.
Kedua format ini akan memenuhi kebutuhan anda.
Adapun dua lainnya, VHD adalah Microsoft dikembangkan format, dan HDD adalah sebuah Apel yang dikembangkan format; kedua proprietarily-lisensi, sehingga membatasi dukungan cross-platform, saya tidak't merekomendasikan mereka.
Mpack, menjelaskan kunci perbedaan kinerja antara VHD dan VDI berikut:
Setelah baru-baru ini mempelajari format VHD, aku akan berharap akan ada setidaknya satu perbedaan kecil dalam VDIs mendukung, yang paling terlihat ketika anda membandingkan suka dengan suka, yaitu aplikasi yang dioptimalkan VDI vs dioptimalkan VHD. Alasannya adalah bahwa yang dinamis format VHD memiliki ini "bitmap" sektor yang tersebar di seluruh disk. Setiap kali anda mengubah sektor di dalam blok ini bitmap blok mungkin perlu diperbarui dan tertulis juga, yang melibatkan ekstra mencari, membaca dan menulis. Ini bitmap sektor juga harus dilewati ketika membaca berturut-turut cluster dari gambar drive - lebih berusaha. VDI format doesn't memiliki overhead, terutama jika VDI telah dioptimalkan (blok pada disk virtual diurutkan ke LBA order).
Semua komentar saya terapkan untuk dinamis format VHD vs dynamic VDI. Tes kinerja yang berukuran tetap virtual disk adalah sia-sia karena kedua format tersebut maka sama (hanya polos gambar dari disk), mereka hanya memiliki header yang berbeda pada mereka.
Disk image file yang berada di sistem host dan dilihat oleh tamu sebagai sistem hard disk dari geometri tertentu. Ketika sistem operasi tamu membaca dari atau menulis ke hard disk, VirtualBox mengarahkan permintaan ke file gambar.
Seperti disk fisik, virtual disk memiliki ukuran (kapasitas), yang harus ditentukan ketika file gambar yang dibuat. Sebagai lawan dari disk fisik namun, VirtualBox memungkinkan anda untuk memperluas file gambar setelah penciptaan, bahkan jika memiliki data sudah; VirtualBox mendukung empat varian dari disk image file:
VDI: Biasanya, VirtualBox menggunakan format kontainer untuk kamar hard disk -- Virtual Disk Image (VDI) file. Secara khusus, format ini akan digunakan ketika anda membuat mesin virtual baru dengan disk baru.
VMDK:VirtualBox juga mendukung penuh populer dan terbuka VMDK format kontainer yang digunakan oleh banyak produk virtualisasi, khususnya, oleh VMware.[25]
VHD:VirtualBox juga mendukung sepenuhnya VHD format yang digunakan oleh Microsoft.
File gambar dari Parallels versi 2 (HDD format) juga didukung.[26] Karena kurangnya dokumentasi format, format baru (3 dan 4) tidak didukung. Namun anda dapat mengkonversi seperti file gambar untuk versi 2 format menggunakan tools yang disediakan oleh Parallels.
Saya don't tahu jika menggunakan vmdk akan memungkinkan anda untuk secara transparan menjalankan virtual machine yang dibuat di VirtualBox di VMware atau tidak. Itu mungkin. Namun yang lebih universal pilihan mungkin untuk menggunakan VirtualBox File/Ekspor fungsi untuk membuat sebuah "Terbuka Virtualisasi Alat" .ova file yang kemudian dapat diimpor ke VMware. Dengan pendekatan itu, anda dapat port untuk virtualisasi sistem yang mendukung .ova tanpa peduli apa yang disk format gambar yang anda gunakan dalam VirtualBox.
Jika anda perlu untuk ekspor dari VM yang sama secara berkala, misalnya setiap hari, yang bisa menjadi sakit. Tapi jika anda hanya pindah ke teknologi yang berbeda kadang-kadang, itu harus baik-baik saja.
Jika anda memiliki .vdi file sudah, Anda dapat menguji apakah ini bekerja tanpa harus membuat mesin virtual baru. Ekspor ke .ova, lalu cobalah mengimpor dengan vmware.
Hal ini tergantung pada bagaimana anda berencana untuk menggunakan virtual disk juga. Tidak setiap VM ingin satu partisi pada disk tunggal.
VDI tampaknya memiliki lebih banyak pilihan (bila digunakan dengan VirtualBox), tetapi segera setelah anda mengambil VirtualBox keluar dari gambar, dukungan untuk VDI menjadi agak gemetar (per akhir 2014).
Misalnya solusi saya perlu untuk memiliki maksimum dukungan cross-platform. Pemasangan VDI (seperti loopback device) di linux atau Windows 7 adalah sulit dan buggier daripada yang mungkin anda harapkan. Hampir seperti VDI memiliki terlalu banyak fitur, sehingga sulit untuk membuat sepenuhnya sesuai keperluan yang dapat beroperasi pada itu.
VMDK hanya kurang menyakitkan IMHO ketika anda ingin bekerja dengan semua VM pada setiap workstation, ketika anda ingin mengkloning 3 kali ke sistem lain pada jaringan pada waktu yang sama, dan ketika anda ingin membukanya tanpa meluncurkan VM instance.
Meskipun saya menggunakan VirtualBox 90% dari waktu, mereka beberapa kali ketika saya disk menjadi unaccessable dalam alur kerja tertentu telah menyebabkan saya untuk mendukung VMDK untuk pluggable/bersama filesystem.
Sebuah alasan yang baik bagi saya untuk menggunakan vmdk adalah bahwa Virtualbox (setidaknya sampai v4.1) menggunakan VDI format memiliki kecenderungan, dari waktu ke waktu, untuk mengisi lengkap mengalokasikan ruang disk, meskipun internal virtual disk usage masih banyak yang kurang. Dengan menggunakan Virtualbox disk vmdk, hal ini tampaknya kurang dari masalah.
Tapi aku'm berbicara tahun uptime. Ini mungkin tidak menjadi masalah banyak orang mengalami.
Terlihat seperti menggunakan VDI membuat mungkin untuk memangkas file disk dengan ukuran sebenarnya https://superuser.com/questions/646559/virtualbox-and-ssds-trim-command-support
Aku hanya bermigrasi baku VMDK, yang dipetakan ke sebuah partisi dari Transcend SSD370 128 GB untuk Samsung Pro 850 512GB.
Rupanya VMDK jauh lebih cepat dari VDI. Saya don't mengerti mengapa, mungkin aku membuat kesalahan di suatu tempat.
Saya menyalin VMDK via Virtual Media Manager ke 850. Satu waktu sebagai VDI, satu kali sebagai VMDK.
Kemudian aku berlari hdparm -tT --langsung /dev/sda
pada gambar. Untuk masing-masing "berjalan" saya beralih diganti dengan "Mesin -> Pengaturan -> Penyimpanan -> Controller SATA -> ImageFile.xxx". Baku partisi pada SSD370 didefinisikan oleh VMDK file, sehingga's tidak benar-benar sebuah gambar.
Ini adalah hasil:
################################################################################################
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-96-generic x86_64)
System information as of Thu Sep 21 17:02:51 CEST 2017
System load: 1.96 Processes: 201
Usage of /: 83.2% of 43.88GB Users logged in: 0
Memory usage: 4% IP address for eth0:
Swap usage: 0% IP address for docker0: 172.17.0.1
################################################################################################
======================================================================================
V M D K --- R A W !!! --- on Transcend SSD370 128 GB
======================================================================================
Timing O_DIRECT cached reads: 1024 MB in 2.00 seconds = 511.61 MB/sec <---
Timing O_DIRECT disk reads: 1134 MB in 3.00 seconds = 377.88 MB/sec <---
Timing O_DIRECT cached reads: 1042 MB in 2.00 seconds = 520.82 MB/sec <---
Timing O_DIRECT disk reads: 1162 MB in 3.00 seconds = 387.27 MB/sec <---
---
Timing O_DIRECT cached reads: 816 MB in 2.00 seconds = 407.55 MB/sec
Timing O_DIRECT disk reads: 1020 MB in 3.01 seconds = 339.43 MB/sec <---
======================================================================================
V M D K --- on Samsung Pro 850 515GB
======================================================================================
Timing O_DIRECT cached reads: 836 MB in 2.00 seconds = 417.21 MB/sec <---
Timing O_DIRECT disk reads: 782 MB in 3.01 seconds = 260.21 MB/sec
Timing O_DIRECT cached reads: 834 MB in 2.00 seconds = 416.08 MB/sec
Timing O_DIRECT disk reads: 786 MB in 3.00 seconds = 261.71 MB/sec
---
Timing O_DIRECT cached reads: 826 MB in 2.00 seconds = 412.75 MB/sec <---
Timing O_DIRECT disk reads: 774 MB in 3.00 seconds = 257.79 MB/sec
Timing O_DIRECT cached reads: 828 MB in 2.00 seconds = 413.88 MB/sec <---
Timing O_DIRECT disk reads: 774 MB in 3.00 seconds = 257.83 MB/sec
---
Timing O_DIRECT cached reads: 842 MB in 2.00 seconds = 420.76 MB/sec <---
Timing O_DIRECT disk reads: 770 MB in 3.00 seconds = 256.56 MB/sec
======================================================================================
V D I --- on Samsung Pro 850 515GB
======================================================================================
Timing O_DIRECT cached reads: 470 MB in 2.01 seconds = 234.21 MB/sec <---
Timing O_DIRECT disk reads: 766 MB in 3.00 seconds = 254.94 MB/sec
Timing O_DIRECT cached reads: 494 MB in 2.00 seconds = 246.45 MB/sec <---
Timing O_DIRECT disk reads: 754 MB in 3.00 seconds = 250.92 MB/sec
Timing O_DIRECT cached reads: 490 MB in 2.00 seconds = 244.46 MB/sec <---
Timing O_DIRECT disk reads: 764 MB in 3.01 seconds = 254.03 MB/sec
################################################################################################
# Data above comes from here
################################################################################################
======================================================================================
V M D K --- on Samsung Pro 850 515GB
======================================================================================
System information as of Thu Sep 21 17:02:51 CEST 2017
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 836 MB in 2.00 seconds = 417.21 MB/sec <======
Timing O_DIRECT disk reads: 782 MB in 3.01 seconds = 260.21 MB/sec <======
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 21080 MB in 2.00 seconds = 10554.40 MB/sec
Timing buffered disk reads: 784 MB in 3.00 seconds = 260.92 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 834 MB in 2.00 seconds = 416.08 MB/sec <======
Timing O_DIRECT disk reads: 786 MB in 3.00 seconds = 261.71 MB/sec <======
======================================================================================
V M D K --- R A W !!! --- on Transcend SSD370 128 GB
======================================================================================
System information as of Thu Sep 21 17:00:47 CEST 2017
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 1024 MB in 2.00 seconds = 511.61 MB/sec <======
Timing O_DIRECT disk reads: 1134 MB in 3.00 seconds = 377.88 MB/sec <======
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 21182 MB in 2.00 seconds = 10603.52 MB/sec
Timing buffered disk reads: 1060 MB in 3.00 seconds = 352.91 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 1042 MB in 2.00 seconds = 520.82 MB/sec <======
Timing O_DIRECT disk reads: 1162 MB in 3.00 seconds = 387.27 MB/sec <======
======================================================================================
V M D K --- on Samsung Pro 850 515GB
======================================================================================
System information as of Thu Sep 21 16:58:12 CEST 2017
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 826 MB in 2.00 seconds = 412.75 MB/sec <======
Timing O_DIRECT disk reads: 774 MB in 3.00 seconds = 257.79 MB/sec <======
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 22082 MB in 2.00 seconds = 11055.78 MB/sec
Timing buffered disk reads: 788 MB in 3.01 seconds = 262.11 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 828 MB in 2.00 seconds = 413.88 MB/sec <======
Timing O_DIRECT disk reads: 774 MB in 3.00 seconds = 257.83 MB/sec <======
======================================================================================
V D I --- on Samsung Pro 850 515GB
======================================================================================
System information as of Thu Sep 21 16:55:24 CEST 2017
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 21468 MB in 2.00 seconds = 10747.37 MB/sec
Timing buffered disk reads: 662 MB in 3.01 seconds = 220.12 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 470 MB in 2.01 seconds = 234.21 MB/sec <======
Timing O_DIRECT disk reads: 766 MB in 3.00 seconds = 254.94 MB/sec <======
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 494 MB in 2.00 seconds = 246.45 MB/sec <======
Timing O_DIRECT disk reads: 754 MB in 3.00 seconds = 250.92 MB/sec <======
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 20872 MB in 2.00 seconds = 10448.98 MB/sec
Timing buffered disk reads: 694 MB in 3.01 seconds = 230.78 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 490 MB in 2.00 seconds = 244.46 MB/sec <======
Timing O_DIRECT disk reads: 764 MB in 3.01 seconds = 254.03 MB/sec <======
======================================================================================
V M D K --- on Samsung Pro 850 515GB
======================================================================================
System information as of Thu Sep 21 16:52:32 CEST 2017
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 20872 MB in 2.00 seconds = 10448.90 MB/sec
Timing buffered disk reads: 764 MB in 3.01 seconds = 254.11 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 842 MB in 2.00 seconds = 420.76 MB/sec <======
Timing O_DIRECT disk reads: 770 MB in 3.00 seconds = 256.56 MB/sec <======
======================================================================================
V M D K --- R A W !!! --- on Transcend SSD370 128 GB
======================================================================================
System information as of Thu Sep 21 16:29:55 CEST 2017
user@xeon:~$ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 22034 MB in 2.00 seconds = 11029.82 MB/sec
Timing buffered disk reads: 990 MB in 3.00 seconds = 329.68 MB/sec
user@xeon:~$ sudo hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 816 MB in 2.00 seconds = 407.55 MB/sec <======
Timing O_DIRECT disk reads: 1020 MB in 3.01 seconds = 339.43 MB/sec <======
Saya don't benar-benar tahu bagaimana menafsirkan ini, mungkin ada yang ingin meninggalkan komentar di blog ini. Saya memilih VMDK kemudian.
Sebuah waktu yang lama lalu saya melakukan satu tes, convert dynamic vdi menjadi dinamis vhd hanya untuk menguji kecepatan dan ukuran file.
Ingat itu adalah inmutable Windows guest os bersih dengan menginstal beberapa aplikasi, ingat untuk tes saya, saya mengkonversi satu format ke yang lain, sehingga keduanya seharusnya memiliki exactr gambar yang sama, seperti melakukan kloning.
Untuk ukuran disk 64GiB, VDI ukuran file adalah sekitar 18GiB, sedangkan ukuran file VHD diseluruh 22GiB.
Saya ingat saya melihat ini dua hal:
Itu adalah waktu yang lama lalu, dan tes dilakukan pada HDD, tapi saya pastikan kedua file mana-defrag dan di samping satu sama lain pada lebih cepat dari disk.
Berharap seseorang dapat melakukan real SSD tes, tapi perasaan saya adalah bahwa VHD lebih cepat (dan lebih besar) dari VDI.
Hanya tip: VHD/VHDX dapat dipadatkan diretly pada Windows 7 dan Up dengan menggunakan DiskPart command line tool, untuk VDI tidak diperlukan alat eksternal CloneVDI.
Maaf saya tidak menguji VMDK, saya tidak tahu bagaimana untuk kompak itu tanpa mengubah UUID (disk UUID), ingat VBOX perintah alat allways perubahan ini pada setiap klon, tidak peduli apa format yang anda gunakan.