376 votes

Quelle image de disque devrais-je utiliser avec VirtualBox, VDI, VMDK, VHD ou HDD ?

Les dernières versions de VirtualBox prennent en charge plusieurs formats de disques virtuels, mais ils ont oublié de fournir une comparaison entre eux.

  • VDI
  • VMDK
  • VHD
  • HDD

Maintenant, je suis intéressé par une recommandation ou une comparaison qui prend en compte les éléments suivants :

  • pouvoir utiliser un dimensionnement dynamique
  • pouvoir prendre des instantanés (snapshots)
  • pouvoir déplacer ma machine virtuelle vers un autre système d'exploitation ou même une autre solution de virtualisation gratuite avec un effort minimal (probablement quelque chose qui fonctionnerait bien sous Ubuntu).
  • performances

11 votes

Exécutez VirtualBox et cliquez sur l'icône d'aide > Contenu, il y a une explication claire à ce sujet sous "Stockage virtuel"

1 votes

En ce qui concerne la migration vers "une autre solution de virtualisation gratuite... qui fonctionnerait bien sur Ubuntu", je suis assez sûr que VirtualBox est disponible pour Linux.

0 votes

En termes de performances, je pense que le mieux est de créer des disques fixes si vous avez de l'espace. Sinon, cela est très stressant pour le système d'exploitation lors de l'utilisation de la machine virtuelle au lieu de le faire une seule fois au moment de la création.

270voto

Roo Points 21

VirtualBox a

  • un support complet pour
    • VDI
    • VMDK
    • VHD
  • un support partiel pour
    • HDD (version 2 de Parallels uniquement)
  • et un support non documenté pour
    • QCOW
    • QED

Source : <a href="https://www.virtualbox.org/manual/" rel="noreferrer">Manuel utilisateur Oracle® VM VirtualBox®</a> » <a href="https://www.virtualbox.org/manual/ch05.html" rel="noreferrer">Chapitre 5. Stockage virtuel</a> » <a href="https://www.virtualbox.org/manual/ch05.html#vdidetails" rel="noreferrer">5.2. Fichiers d'image de disque (VDI, VMDK, VHD, HDD)</a>

Capture d'écran de la création de disque dur virtuel


Réponse à vos considérations

  • pouvoir utiliser un dimensionnement dynamique

VDI, VMDK et VHD prennent en charge le stockage alloué de manière dynamique. VMDK a une capacité supplémentaire de diviser le fichier de stockage en fichiers de moins de 2 Go chacun, ce qui est utile si votre système de fichiers a une limite de taille de fichier petite.

HDD, QCOW et QED doivent être alloués de manière dynamique s'ils sont créés dans VirtualBox.

  • pouvoir prendre des instantanés

VirtualBox prend en charge la création d'instantanés pour les six formats.

  • pouvoir déplacer ma machine virtuelle vers un autre système d'exploitation ou même une autre solution de virtualisation gratuite avec un effort minimal (probablement quelque chose qui fonctionnerait bien sur Ubuntu).

VDI est le format natif de VirtualBox. D'autres logiciels de virtualisation ne prennent généralement pas en charge le VDI, mais il est assez facile de convertir depuis le VDI vers un autre format, surtout avec qemu-img convert.

VMDK est développé par et pour VMWare, mais VirtualBox et QEMU (un autre logiciel de virtualisation courant) le prennent également en charge. Ce format pourrait être le meilleur choix pour vous car vous voulez une compatibilité étendue avec d'autres logiciels de virtualisation.

VHD est le format natif de Microsoft Virtual PC. Windows Server 2012 a introduit VHDX comme successeur de VHD, mais VirtualBox ne prend pas en charge VHDX.

HDD est un format pour Parallels. Parallels se spécialise dans la virtualisation pour macOS. Ce n'est probablement pas adapté pour vous, surtout compte tenu du fait que VirtualBox ne prend en charge qu'une ancienne version du format HDD.

QCOW est la version originale ancienne du format qcow. Il a été remplacé par qcow2, que VirtualBox ne prend pas en charge.

QED était une amélioration abandonnée de qcow2. QEMU déconseille l'utilisation de QED.

  • performance

Chacun des formats peut présenter des caractéristiques de performances nuancées en raison de la manière dont le stockage en bloc est abstrait par le format, mais je n'ai pas trouvé de benchmarks comparant les formats pris en charge par VirtualBox.

Il existe des facteurs plus importants qui influencent les performances, tels que :

  • les limites de votre appareil physique (beaucoup plus perceptibles sur un disque dur qu'un disque SSDPourquoi ?)
  • l'extension d'un disque dur virtuel alloué dynamiquement (les opérations d'écriture sont plus lentes lorsque le disque virtuel s'étend, mais une fois qu'il est assez grand, l'extension devrait se produire moins souvent)
  • la technologie de virtualisation (matérielle vs logicielle ; la virtualisation matérielle aide VirtualBox et améliore la vitesse des systèmes d'exploitation virtuels)
  • le fait que vous exécutez un système d'exploitation virtuel. Les performances sont toujours plus lentes que lors de l'exécution d'un système d'exploitation sur l'hôte en raison des surcharges de virtualisation.

22 votes

+1 Je vais ajouter que VMDK semble offrir la panacée que je recherche en termes de sauvegardes incrémentielles : je n'ai plus besoin de sauvegarder un VDI énorme et monolithique pour un simple changement de bit dans l'invité.

0 votes

Je pense qu'il y a une certaine considération manquante concernant le disque dur hôte brut, c'est-à-dire l'invité virtuel utilisant un disque dur "physique" (ou un dispositif RAID) tel qu'il est vu depuis l'hôte. Cela permettrait d'obtenir de meilleures performances que l'utilisation d'un lecteur simulé sur un système de fichiers.

1 votes

@Enzo: J'utilise VMDK sur un périphérique de bloc brut maintenant. Le gros inconvénient est que VirtualBox doit s'exécuter en tant que root. De plus, les instantanés ne sont pas pris en charge sur les disques bruts, mais j'ai un système d'instantanéisation tiers (ZFS). VMDK sur un disque brut est également beaucoup moins portable. Pour ce qui est des performances, je n'ai pas de benchmarks solides, mais je n'ai pas non plus de plaintes.

46voto

Bill H. Points 11

Je utilise toujours VDI, car c'est le format natif de VirtualBox; cependant, utiliser un VMDK (format VMWare) augmentera la compatibilité avec d'autres logiciels de machine virtuelle.

VirtualBox fonctionnera très bien sur Ubuntu, donc si le but est l'interopérabilité Windows/Ubuntu, VDI serait un choix parfaitement valable.

Les deux formats répondront à vos besoins.

Quant aux deux autres, VHD est un format développé par Microsoft, et HDD est un format développé par Apple; tous deux sont sous licence propriétaire, limitant ainsi la prise en charge multiplateforme; je ne les recommanderais pas.

20voto

Mpack, explique une différence de performance clé entre VHD et VDI ici :

Ayant récemment étudié le format VHD, je m'attendrais à ce qu'il y ait au moins une petite différence en faveur de VDI, particulièrement notable lorsque vous comparez des éléments similaires, c'est-à-dire un VDI optimisé par rapport à un VHD optimisé. La raison en est que le format VHD dynamique a ces secteurs "bitmap" dispersés à travers le disque. Chaque fois que vous modifiez un secteur à l'intérieur d'un bloc, ces blocs bitmap peuvent avoir besoin d'être mis à jour et écrits également, impliquant des recherches, des lectures et des écritures supplémentaires. Ces secteurs bitmap doivent également être sautés lors de la lecture de clusters consécutifs à partir d'une image disque - plus de recherches. Le format VDI n'a pas ces surcoûts, en particulier si le VDI a été optimisé (les blocs du disque virtuel sont triés dans l'ordre de LBA).

Tous mes commentaires s'appliquent au format VHD dynamique par rapport au VDI dynamique. Les tests de performance sur des disques virtuels de taille fixe sont inutiles puisque les deux formats sont alors identiques (juste une image simple d'un disque), ils ont juste des en-têtes différents.

https://forums.virtualbox.org/viewtopic.php?f=1&t=22688

7voto

OwnageIsMagic Points 171

Il semble que l'utilisation de VDI rende possible la réduction du fichier de disque à sa taille réellePrise en charge de la commande TRIM de VirtualBox et des SSD

0 votes

Bien que précis, c'est un peu terne pour une question qui demande les différences générales entre ces formats, ne trouvez-vous pas?

4 votes

@Seth Une vue d'ensemble générale a été fournie par les réponses précédentes et je n'ai pas assez de réputation pour commenter, mais il est toujours important de mentionner ce fait

1 votes

Tout comme une suggestion, vous pouvez l'ajouter pour lui donner plus de contexte. Par exemple, "Alors que cette réponse fournit une bonne vue d'ensemble, vous devriez également considérer l'avantage de ...". Ainsi, même si elle est lue seule, votre réponse a un lien avec une réponse plus générale.

5voto

Alan Meyer Points 51

Je ne sais pas si l'utilisation de vmdk vous permettrait d'exécuter de manière transparente une machine virtuelle créée dans VirtualBox dans VMware ou non. C'est possible. Cependant, une option plus universelle pourrait être d'utiliser la fonction VirtualBox File/Export pour créer un fichier "Open Virtualization Appliance" .ova qui peut ensuite être importé dans VMware. Avec cette approche, vous pouvez passer à n'importe quel système de virtualisation prenant en charge .ova sans vous soucier du format d'image de disque que vous utilisez dans VirtualBox.

Si vous devez exporter à partir de la même machine virtuelle à intervalles réguliers, par exemple tous les jours, cela pourrait être contraignant. Mais si vous passez occasionnellement à une technologie différente, cela devrait aller.

Si vous avez déjà un fichier .vdi, vous pouvez tester si cela fonctionne sans avoir à créer une nouvelle machine virtuelle. Exportez-le en .ova, puis essayez de l'importer avec VMware.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X