Najnowsze wersje VirtualBox obsługują kilka formatów dysków wirtualnych, ale zapomnieli podać porównanie między nimi.
- VDI
- VMDK
- VHD
- HDD
Teraz interesuje mnie zalecenie lub porównanie, które uwzględnia następujące kwestie:
- być w stanie używać dynamicznej zmiany rozmiaru
- móc mieć migawki
- być w stanie przenieść moją maszynę wirtualną do innego systemu operacyjnego lub nawet innego darmowego rozwiązania do wirtualizacji przy minimalnym wysiłku (prawdopodobnie coś, co działałoby dobrze na Ubuntu).
- występ
virtualbox
disk-image
sorin
źródło
źródło
Odpowiedzi:
VirtualBox ma
Źródło: Oracle® VM VirtualBox® Instrukcja obsługi » Rozdział 5. Pamięć wirtualna » 5.2. Pliki obrazu dysku (VDI, VMDK, VHD, HDD)
Odpowiedzi na twoje uwagi
VDI , VMDK i VHD obsługują pamięć dynamicznie przydzielaną. VMDK ma dodatkową możliwość dzielenia pliku pamięci na pliki o rozmiarze mniejszym niż 2 GB każdy, co jest przydatne, jeśli twój system plików ma ograniczenie rozmiaru małego pliku.
HDD , QCOW i QED muszą być dynamicznie przydzielane, jeśli są tworzone w VirtualBox.
VirtualBox obsługuje migawkę wszystkich sześciu formatów .
VDI jest rodzimym formatem VirtualBox. Inne oprogramowanie do wirtualizacji na ogół nie obsługuje VDI, ale dość łatwo jest przekonwertować z VDI na inny format, szczególnie z
qemu-img convert
.VMDK jest rozwijany przez i dla VMWare, ale VirtualBox i QEMU (inne popularne oprogramowanie do wirtualizacji) również go obsługują. Ten format może być najlepszym wyborem dla Ciebie, ponieważ chcesz mieć szeroką kompatybilność z innym oprogramowaniem do wirtualizacji.
VHD to natywny format Microsoft Virtual PC. Windows Server 2012 wprowadził VHDX jako następcę VHD, ale VirtualBox nie obsługuje VHDX.
HDD jest formatem Parallels . Parallels specjalizuje się w wirtualizacji dla systemu macOS. Prawdopodobnie nie jest to dla Ciebie odpowiednie, szczególnie biorąc pod uwagę, że VirtualBox obsługuje tylko starą wersję formatu HDD.
QCOW to stara oryginalna wersja formatu qcow. Został zastąpiony przez qcow2, którego VirtualBox nie obsługuje.
QED to porzucone rozszerzenie qcow2. QEMU odradza stosowanie QED.
Każdy z formatów może mieć zrónicowaną charakterystykę wydajności z powodu tego, jak formatowanie pamięci bloku jest abstrakcyjne, ale nie znalazłem żadnych testów porównujących formaty obsługiwane przez VirtualBox.
Istnieją większe czynniki wpływające na wydajność, takie jak:
źródło
Zawsze używam VDI, ponieważ jest to natywny format VirtualBox; jednak użycie VMDK (format VMWare) zwiększy kompatybilność z innym oprogramowaniem maszyny wirtualnej.
VirtualBox będzie działał dobrze na Ubuntu, więc jeśli celem jest interoperacyjność Windows / Ubuntu, VDI byłby całkowicie prawidłowym wyborem.
Oba formaty spełnią twoje wymagania.
Jeśli chodzi o pozostałe dwa, VHD jest formatem opracowanym przez Microsoft, a HDD jest formatem opracowanym przez Apple; oba są licencjonowane na zasadach własności, więc ogranicz obsługę wielu platform; Nie poleciłbym ich.
źródło
Mpack wyjaśnia tutaj kluczową różnicę w wydajności między VHD i VDI:
https://forums.virtualbox.org/viewtopic.php?f=1&t=22688
źródło
Nie wiem, czy użycie vmdk umożliwiłoby przezroczyste uruchamianie maszyny wirtualnej utworzonej w VirtualBox w VMware, czy nie. Może. Bardziej uniwersalną opcją może być jednak użycie funkcji VirtualBox File / Export do utworzenia pliku .ova „Open Virtualization Appliance”, który można następnie zaimportować do VMware. Dzięki takiemu podejściu możesz przenieść się na dowolny system wirtualizacji, który obsługuje .ova, bez względu na format obrazu dysku, którego używasz w VirtualBox.
Jeśli musisz eksportować z tej samej maszyny Wirtualnej w regularnych odstępach czasu, np. Każdego dnia, może to być uciążliwe. Ale jeśli od czasu do czasu przejdziesz na inną technologię, powinno być dobrze.
Jeśli masz już plik .vdi, możesz sprawdzić, czy to działa bez konieczności tworzenia nowej maszyny wirtualnej. Wyeksportuj go do pliku .ova, a następnie spróbuj zaimportować za pomocą vmware.
źródło
Zależy to również od sposobu wykorzystania dysku wirtualnego. Nie każda maszyna wirtualna chce pojedynczej partycji na jednym dysku.
Wydaje się, że VDI ma więcej opcji (w przypadku korzystania z VirtualBox), ale jak tylko usuniesz VirtualBox ze zdjęcia, obsługa VDI staje się nieco niepewna (pod koniec 2014 roku).
Na przykład moje rozwiązania muszą mieć maksymalną obsługę wielu platform. Montowanie VDI (takiego jak sprzężenie zwrotne) w systemie Linux lub Windows 7 jest trudniejsze i bardziej kłopotliwe niż można się spodziewać. Prawie jak VDI ma zbyt wiele funkcji, co utrudnia tworzenie w pełni zgodnych narzędzi, które mogą na nim działać.
VMDK jest po prostu mniej bezbolesnym IMHO, jeśli chcesz, aby działał z dowolną maszyną wirtualną na dowolnej stacji roboczej, gdy chcesz go klonować 3 razy do innych systemów w sieci w tym samym czasie, i gdy chcesz podważyć go bez uruchamiania maszyny wirtualnej instancja.
Mimo że używam VirtualBox 90% czasu, te kilka razy, kiedy moje dyski stają się niedostępne w niektórych przepływach pracy, skłoniły mnie do faworyzowania VMDK dla podłączanych / współdzielonych systemów plików.
źródło
Pliki obrazów dysków znajdują się w systemie hosta i są postrzegane przez systemy gościa jako dyski twarde o określonej geometrii. Kiedy system operacyjny gościa odczytuje lub zapisuje na dysk twardy, VirtualBox przekierowuje żądanie do pliku obrazu.
Podobnie jak dysk fizyczny, dysk wirtualny ma rozmiar (pojemność), który należy określić podczas tworzenia pliku obrazu. Jednak w przeciwieństwie do dysku fizycznego VirtualBox pozwala rozwinąć plik obrazu po utworzeniu, nawet jeśli już zawiera dane; VirtualBox obsługuje cztery warianty plików obrazów dysku:
VDI: Zwykle VirtualBox używa własnego formatu kontenera dla dysków twardych gości - plików Virtual Disk Image (VDI). W szczególności ten format będzie używany podczas tworzenia nowej maszyny wirtualnej z nowym dyskiem.
VMDK: VirtualBox w pełni obsługuje również popularny i otwarty format kontenera VMDK, który jest używany przez wiele innych produktów do wirtualizacji, w szczególności przez VMware. [25]
VHD: VirtualBox w pełni obsługuje również format VHD używany przez Microsoft.
Obsługiwane są również pliki obrazów Parallels w wersji 2 (format HDD). [26] Z powodu braku dokumentacji tego formatu nowsze formaty (3 i 4) nie są obsługiwane. Można jednak konwertować takie pliki obrazów do formatu wersji 2 za pomocą narzędzi dostarczonych przez Parallels.
źródło
Dobrym powodem dla mnie do korzystania z vmdk jest to, że Virtualbox (przynajmniej do wersji 4.1) korzystający z formatu VDI z czasem ma tendencję do zapełniania całej przydzielonej przestrzeni dyskowej, mimo że użycie wewnętrznego dysku wirtualnego jest wciąż znacznie mniejsze. W przypadku Virtualbox korzystającego z dysków vmdk wydaje się to mniejszym problemem.
Ale mówię o latach bezczynności. To może nie być problem wielu osób.
źródło
Wygląda na to, że użycie VDI umożliwia przycięcie pliku dysku do jego rzeczywistego rozmiaru VirtualBox i obsługę poleceń TRIM SSD
źródło
edit
pod moim pytaniem jest przycisk: DVDI jest znacznie łatwiejsze do skompaktowania, jeśli maszyna wirtualna staje się zbyt duża.
źródło
Dawno temu zrobiłem jeden test, przekonwertowałem dynamiczne vdi na dynamiczne vhd tylko po to, aby przetestować prędkość i rozmiary plików.
Pamiętaj, że była to niezmienna instalacja systemu Windows dla gości z niektórymi aplikacjami, pamiętaj, że w moim teście przekonwertowałem jeden format na inny, więc oba powinny mieć dokładniejszy obraz, na przykład klonowanie.
Dla rozmiaru dysku 64GiB rozmiar pliku VDI wynosił około 18GiB, podczas gdy rozmiar pliku VHD około 22GiB.
Pamiętam, że widziałem dwie rzeczy:
To było dawno temu i test został przeprowadzony na dysku twardym, ale zapewniam, że oba pliki są defragmentowane i znajdują się obok siebie w szybkiej części dysku.
Mam nadzieję, że ktoś może wykonać prawdziwe testy SSD, ale mam wrażenie, że VHD jest szybszy (i większy) niż VDI.
Tylko wskazówka: VHD / VHDX można bezpośrednio skompresować w dowolnym systemie Windows 7 i nowszym za pomocą narzędzia wiersza poleceń DiskPart, do VDI potrzebne jest zewnętrzne narzędzie CloneVDI.
Przepraszamy, nie testowałem VMDK, nie wiedziałem, jak go skompresować bez zmiany jego UUID (UUID dysku), pamiętaj, że narzędzia poleceń VBOX zawsze zmieniają go na każdym klonie, bez względu na używany format.
źródło
Właśnie zmigrowałem surowy VMDK, który został zamapowany na partycję Transcend SSD370 128 GB na Samsung Pro 850 512 GB.
Najwyraźniej VMDK jest znacznie szybszy niż VDI. Nie rozumiem dlaczego, może gdzieś popełniłem błąd.
Skopiowałem VMDK za pośrednictwem Virtual Media Manager do 850. Raz jako VDI, raz jako VMDK.
Potem uruchomiłem
hdparm -tT --direct /dev/sda
zdjęcia. Dla każdego z „uruchomień” zamieniłem „Maszyna -> Ustawienia -> Pamięć -> Kontroler SATA -> ImageFile.xxx”. Surowa partycja na SSD370 została zdefiniowana przez plik VMDK, więc tak naprawdę nie jest to obraz.Oto wyniki:
Naprawdę nie wiem, jak to zinterpretować, może ktoś chce komentować. Wybrałem wtedy VMDK.
źródło