2011-11-23 00:28:07 +0000 2011-11-23 00:28:07 +0000
314
314

Welke schijfimage moet ik gebruiken met VirtualBox, VDI, VMDK, VHD of HDD?

De nieuwste versies van VirtualBox ondersteunen verschillende formaten voor virtuele schijven, maar ze zijn vergeten een vergelijking te maken.

  • VDI
  • VMDK
  • VHD
  • HDD

Nu ben ik geïnteresseerd in een aanbeveling of vergelijking die het volgende overweegt:

  • in staat zijn om dynamische sizing te gebruiken - in staat zijn om snapshots te hebben - in staat zijn om mijn virtuele machine te verplaatsen naar een ander OS of zelfs een andere gratis virtualisatie oplossing met minimale inspanning (waarschijnlijk iets dat goed zou werken op Ubuntu).
  • prestaties

Antwoorden (11)

224
224
224
2012-06-22 20:33:51 +0000

VirtualBox heeft

  • volledige ondersteuning voor
  • VDI
  • VMDK
  • VHD
  • gedeeltelijke ondersteuning voor
  • HDD (alleen Parallels versie 2)
  • en ongedocumenteerde ondersteuning voor
  • QCOW
  • QED

Source: Oracle® VM VirtualBox® Gebruikershandleiding Hoofdstuk 5. Virtuele opslag 5.2. Schijfbeeldbestanden (VDI, VMDK, VHD, HDD)

  • *

Beantwoord uw overwegingen

  • gebruik kunnen maken van dynamische dimensionering

VDI , VMDK , en VHD alle ondersteunen dynamisch toegewezen opslag. VMDK heeft een extra mogelijkheid om het opslagbestand op te splitsen in bestanden van minder dan 2 GB elk, wat handig is als uw bestandssysteem een kleine bestandsgroottelimiet heeft.

HDD , QCOW , en QED moeten dynamisch worden toegewezen als ze in VirtualBox zijn aangemaakt.

  • snapshots kunnen maken

VirtualBox ondersteunt snapshotting van alle zes formaten.

  • mijn virtuele machine met minimale inspanning kunnen verplaatsen naar een ander OS of zelfs een andere gratis virtualisatie oplossing (waarschijnlijk iets dat prima zou werken op Ubuntu).

VDI is het native formaat van VirtualBox. Andere virtualisatiesoftware ondersteunt over het algemeen geen VDI, maar het is vrij eenvoudig om van VDI naar een ander formaat te converteren, vooral met qemu-img convert .

VMDK is ontwikkeld door en voor VMWare, maar VirtualBox en QEMU (een andere veelgebruikte virtualisatiesoftware) ondersteunen het ook. _Dit formaat is misschien wel de beste keuze voor u omdat u brede compatibiliteit met andere virtualisatiesoftware wilt. _

VHD is het native formaat van Microsoft Virtual PC. Windows Server 2012 introduceerde VHDX als opvolger van VHD, maar VirtualBox ondersteunt VHDX niet.

HDD is een formaat voor Parallels . Parallels is gespecialiseerd in virtualisatie voor macOS. Dit is waarschijnlijk niet geschikt voor u, zeker gezien het feit dat VirtualBox alleen een oude versie van het HDD-formaat ondersteunt.

QCOW is de oude originele versie van het qcow-formaat. Het is vervangen door qcow2, wat VirtualBox niet ondersteunt.

QED was een verlaten verbetering van qcow2. QEMU raadt het gebruik van QED af. ](https://wiki.qemu.org/Features/QED)

  • performance

Elk van de formaten kan genuanceerde prestatiekenmerken hebben door de manier waarop de blokopslag door het formaat wordt geabstraheerd, maar ik heb geen benchmarks gevonden die de formaten die door VirtualBox worden ondersteund, met elkaar vergelijken.

Er zijn grotere factoren die de prestaties beïnvloeden, zoals:

  • uw fysieke apparaat beperkingen (veel meer merkbaar op een harde schijf dan een solid-state drive *Waarom? * )
  • uitbreiding van een dynamisch toegewezen virtuele schijf (schrijfbewerkingen zijn langzamer naarmate de virtuele schijf groter wordt, maar als deze eenmaal groot genoeg is, zou uitbreiding minder moeten gebeuren)
  • virtualisatietechnologie hardware vs. software ; hardwarevirtualisatie helpt VirtualBox en verbetert de snelheid van virtuele besturingssystemen)
  • het feit dat u een virtueel besturingssysteem gebruikt. De prestaties zijn altijd trager dan het draaien van een besturingssysteem op de host vanwege de overhead van de virtualisatie.
40
40
40
2012-06-22 20:58:21 +0000

Ik gebruik altijd VDI, omdat het het native formaat van VirtualBox is, maar het gebruik van een VMDK (VMWare formaat) zal de compatibiliteit met andere virtuele machine software verhogen.

VirtualBox zal prima werken op Ubuntu, dus als het doel Windows/Ubuntu interoperabiliteit is, zou VDI een perfect geldige keuze zijn.

Beide formaten zullen aan uw eisen voldoen.

Wat de andere twee betreft, VHD is een door Microsoft ontwikkeld formaat, en HDD is een door Apple ontwikkeld formaat; deze zijn allebei eigendomsrechtelijk gelicenseerd, dus beperk de cross-platform ondersteuning; ik zou ze niet aanraden.

18
18
18
2014-05-08 14:20:12 +0000

Mpack, verklaart een belangrijke prestatie verschil tussen VHD en VDI hier:

Na het bestuderen van de VHD-formaat, zou ik verwachten dat er ten minste een klein verschil in VDI’s gunst, het meest merkbaar als je vergelijkt als met als, dat wil zeggen een geoptimaliseerde VDI vs geoptimaliseerde VHD. De reden hiervoor is dat het dynamische VHD formaat deze “bitmap” sectoren verspreid over de schijf heeft. Elke keer dat u een sector in een blok wijzigt, kan het zijn dat deze bitmapblokken ook moeten worden geüpdatet en geschreven, waarbij extra zoeken, lezen en schrijven nodig is. Deze bitmapsectoren moeten ook worden overgeslagen bij het lezen van opeenvolgende clusters van een schijfimage - meer zoekopdrachten. De VDI-indeling heeft deze overheads niet, zeker niet als de VDI geoptimaliseerd is (blokken op de virtuele schijf gesorteerd op LBA-volgorde).

Al mijn opmerkingen zijn van toepassing op de dynamische VHD-formaat vs. dynamische VDI. Prestatietesten op virtuele schijven met een vast formaat hebben geen zin omdat beide formaten dan hetzelfde zijn (alleen een gewone afbeelding van een schijf), ze hebben alleen verschillende koppen op de schijf. https://forums.virtualbox.org/viewtopic.php?f=1&t=22688

5
5
5
2012-07-03 21:22:00 +0000

Ik weet niet of het gebruik van vmdk je in staat zou stellen om een virtuele machine die in VirtualBox in VMware is gemaakt, transparant te laten draaien of niet. Het zou kunnen. Een meer universele optie kan echter zijn om de VirtualBox File/Export functie te gebruiken om een “Open Virtualization Appliance” .ova bestand te maken dat vervolgens kan worden geïmporteerd in VMware. Met die aanpak kunt u een poort maken naar elk virtualisatiesysteem dat .ova ondersteunt, zonder dat u zich zorgen hoeft te maken welk schijf-afbeeldingsformaat u gebruikt in VirtualBox.

Als u met regelmatige tussenpozen, bijvoorbeeld elke dag, van dezelfde VM moet exporteren, kan dat een pijnlijke zaak zijn. Maar als je slechts af en toe naar een andere technologie overschakelt, is dat prima.

Als je al een .vdi-bestand hebt, kun je testen of dit werkt zonder dat je een nieuwe virtuele machine hoeft te maken. Exporteer het naar een .ova, probeer dan te importeren met vmware.

5
5
5
2015-01-08 04:33:15 +0000

Het hangt af van hoe u van plan bent om ook de virtuele schijf te gebruiken. Niet elke VM wil een enkele partitie op een enkele schijf.

VDI lijkt meer opties te hebben (bij gebruik van VirtualBox), maar zodra u VirtualBox uit het beeld haalt, wordt de ondersteuning voor VDI wat wankel (vanaf eind 2014).

Bijvoorbeeld mijn oplossingen moeten een maximale cross-platform ondersteuning hebben. Het monteren van een VDI (zoals een loopback device) op linux of Windows 7 is moeilijker en lastiger dan je zou verwachten. Bijna zoals de VDI te veel functies heeft, waardoor het moeilijk is om volledig conforme utilities te maken die er op kunnen werken.

VMDK is gewoon minder pijnloos IMHO als je wilt werken met een VM op elk werkstation, als je het 3 keer wilt klonen naar andere systemen in het netwerk op hetzelfde moment, en als je het wilt openbreken zonder een VM-instantie te lanceren.

Ook al gebruik ik 90% van de tijd VirtualBox, die paar keer dat mijn schijven onbereikbaar worden in bepaalde workflows hebben me ertoe gebracht de voorkeur te geven aan VMDK voor pluggable/shared filesystems.

5
5
5
2015-11-28 18:23:51 +0000

Schijfafbeeldingsbestanden bevinden zich op het hostsysteem en worden door de gastsystemen gezien als harde schijven van een bepaalde geometrie. Wanneer een gast-besturingssysteem leest van of schrijft naar een harde schijf, stuurt VirtualBox de aanvraag om naar het image-bestand.

Net als een fysieke schijf heeft een virtuele schijf een grootte (capaciteit), die moet worden opgegeven bij het aanmaken van het image-bestand. In tegenstelling tot een fysieke schijf echter, staat VirtualBox u toe om een image-bestand uit te breiden na het aanmaken, zelfs als het al gegevens heeft; VirtualBox ondersteunt vier varianten van disk image-bestanden:

VDI: Normaal gesproken gebruikt VirtualBox zijn eigen containerformaat voor gastharde schijven – Virtual Disk Image (VDI)-bestanden. Dit formaat wordt met name gebruikt wanneer u een nieuwe virtuele machine met een nieuwe schijf maakt.

VMDK: VirtualBox ondersteunt ook volledig het populaire en open VMDK-containerformaat dat door veel andere virtualisatieproducten wordt gebruikt, met name door VMware. [25]

VHD:VirtualBox ondersteunt ook volledig het VHD-formaat dat door Microsoft wordt gebruikt.

Beeldbestanden van Parallels versie 2 (HDD-formaat) worden ook ondersteund.[26] Bij gebrek aan documentatie van het formaat worden nieuwere formaten (3 en 4) niet ondersteund. U kunt dergelijke afbeeldingsbestanden echter wel converteren naar versie 2 met behulp van de door Parallels geleverde hulpmiddelen.

4
4
4
2015-01-30 15:13:42 +0000

Een goede reden voor mij om vmdk te gebruiken is dat Virtualbox (in ieder geval tot v4.1) met behulp van het VDI-formaat de neiging heeft om na verloop van tijd de volledige toegewezen schijfruimte op te vullen, ook al is het interne virtuele schijfgebruik nog steeds veel minder. Met Virtualbox die gebruik maakt van vmdk schijven lijkt dit minder een probleem.

Maar ik heb het over jaren uptime. Dit is misschien niet zo'n probleem dat veel mensen tegenkomen.

3
3
3
2016-11-19 00:23:59 +0000

Het lijkt erop dat het gebruik van VDI het mogelijk maakt om het schijfbestand te trimmen naar de eigenlijke siz VirtualBox en SSD’s TRIM-opdrachtondersteuning

2
2
2
2017-09-21 15:41:54 +0000

Ik heb net een ruwe VMDK gemigreerd, die is gemapt naar een partitie van een Transcend SSD370 128 GB naar een Samsung Pro 850 512 GB.

Blijkbaar is VMDK een stuk sneller dan VDI. Ik begrijp niet waarom, misschien heb ik ergens een fout gemaakt.

Ik heb de VMDK via de Virtual Media Manager naar de 850 gekopieerd. Een keer als VDI, een keer als VMDK.

Daarna heb ik hdparm -tT --direct /dev/sda op de beelden gedraaid. Voor elk van de “runs” heb ik de “Machine -> Settings -> Storage -> Controller SATA -> ImageFile.xxx” vervangen. De ruwe partitie op SSD370 werd gedefinieerd door een VMDK-bestand, dus het is niet echt een beeld.

Dit zijn de resultaten:

################################################################################################

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 <======

Ik weet niet echt hoe ik dit moet interpreteren, misschien wil iemand er commentaar op geven. Ik heb dan gekozen voor de VMDK.

2
2
2
2017-08-02 18:14:46 +0000

VDI is veel gemakkelijker te verdichten als de VM te groot wordt.

1
1
1
2018-06-12 08:27:14 +0000

Een lange tijd geleden deed ik een test, converteren dynamische vdi in dynamische vhd alleen maar om de snelheid en de bestandsgrootte te testen.

Vergeet niet dat het een inmutable Windows gast schoon os installeren met een aantal apps, vergeet niet voor mijn test ik converteren een formaat naar een andere, dus beide worden verondersteld om de exacter hetzelfde beeld, zoals het doen van een klonen te hebben.

Voor een schijf van 64GiB was de VDI bestandsgrootte rond de 18GiB, terwijl de bestandsgrootte van VHD rond de 22GiB.

Ik kan me herinneren dat ik de volgende twee dingen zag:

  1. De opstarttijd was duidelijk anders, als ik me de slechte vhd niet herinner was deze 1.6 keer zo snel als VDI
  2. VHD formaat was veel groter dan VDI, ongeveer 4GiB gigabyte groter dan een 18GiB, dus 1.2 keer groter.

Dat was lang geleden en de test werd gedaan op een HDD, maar ik zorg ervoor dat beide bestanden gedefragmenteerd zijn en naast elkaar op het snelle deel van de schijf staan.

Hoop dat iemand echte SSD testen kan doen, maar mijn gevoel is dat VHD sneller (en groter) is dan VDI.

Gewoon een tip: VHD/VHDX kan direct gecomprimeerd worden op elke Windows 7 en Up door gebruik te maken van DiskPart command line tool, voor VDI is er een externe tool CloneVDI nodig.

Sorry ik heb VMDK niet getest, ik wist niet hoe ik het moest comprimeren zonder de UUID (de disk UUID) te veranderen, vergeet niet dat VBOX commando tools het altijd veranderen op elke kloon, ongeacht het formaat dat je gebruikt.