361 votos

¿Qué imagen de disco debo utilizar con VirtualBox, VDI, VMDK, VHD o HDD?

Las últimas versiones de VirtualBox soportan varios formatos para los discos virtuales, pero se olvidaron de proporcionar una comparación entre ellos.

  • VDI
  • VMDK
  • VHD
  • HDD

Ahora, estoy interesado en una recomendación o comparación que considere lo siguiente:

  • ser capaz de utilizar el dimensionamiento dinámico
  • poder tener instantáneas
  • ser capaz de mover mi máquina virtual a otro sistema operativo o incluso a otra solución de virtualización gratuita con un mínimo esfuerzo (probablemente algo que funcionaría bien en Ubuntu).
  • rendimiento

11 votos

Ejecute Virtual box y haga clic en el icono de ayuda > Contenido, allí hay una buena explicación en "Almacenamiento virtual"

1 votos

En cuanto a la migración a "otra solución de virtualización libre... que funcionaría bien en Ubuntu", estoy bastante seguro de que VirtualBox está disponible para Linux.

0 votos

En cuanto al rendimiento, creo que lo mejor es crear discos fijos si tienes espacio. De lo contrario, es muy estresante para el sistema operativo cuando se utiliza la máquina virtual en lugar de una vez en el momento de la creación.

262voto

Deltik Puntos 4261

VirtualBox tiene

  • apoyo total a
    • VDI
    • VMDK
    • VHD
  • apoyo parcial a
    • Disco duro (sólo en la versión 2 de Parallels)
  • y indocumentado apoyo a
    • QCOW
    • QED

Fuente: <a href="https://www.virtualbox.org/manual/" rel="noreferrer">Manual del usuario de Oracle® VM VirtualBox </a>" <a href="https://www.virtualbox.org/manual/ch05.html" rel="noreferrer">Capítulo 5. Almacenamiento virtual </a>" <a href="https://www.virtualbox.org/manual/ch05.html#vdidetails" rel="noreferrer">5.2. Archivos de imagen de disco (VDI, VMDK, VHD, HDD)</a>

Screenshot of Create Virtual Hard Disk


Respondiendo a sus consideraciones

  • ser capaz de utilizar el dimensionamiento dinámico

VDI , VMDK y VHD todos admiten el almacenamiento asignado dinámicamente. VMDK tiene la capacidad adicional de dividir el archivo de almacenamiento en archivos de menos de 2 GB cada uno, lo cual es útil si su sistema de archivos tiene un límite de tamaño de archivo pequeño.

HDD , QCOW y QED tienen que ser asignados dinámicamente si se crean en VirtualBox.

  • poder tener instantáneas

VirtualBox admite la realización de instantáneas de los seis formatos .

  • ser capaz de mover mi máquina virtual a otro sistema operativo o incluso a otra solución de virtualización gratuita con un mínimo esfuerzo (probablemente algo que funcionaría bien en Ubuntu).

VDI es el formato nativo de VirtualBox. Otro software de virtualización generalmente no soporta VDI, pero es bastante fácil convertir de VDI a otro formato, especialmente con qemu-img convert .

VMDK está desarrollado por y para VMWare, pero VirtualBox y QEMU (otro software de virtualización común) también lo soportan. Este formato puede ser la mejor opción para ti porque quieres una amplia compatibilidad con otro software de virtualización.

VHD es el formato nativo de Microsoft Virtual PC. Windows Server 2012 introdujo VHDX como sucesor de VHD, pero VirtualBox no es compatible con VHDX.

HDD es un formato para Parallels . Parallels se especializa en la virtualización para macOS. Esto probablemente no sea adecuado para ti, especialmente teniendo en cuenta que VirtualBox sólo es compatible con una versión antigua del formato de disco duro.

QCOW es la antigua versión original del formato qcow. Ha sido sustituido por qcow2, que VirtualBox no soporta.

QED era una mejora abandonada de qcow2. QEMU desaconseja el uso de QED.

  • rendimiento

Cada uno de los formatos puede tener características de rendimiento matizadas debido a la forma en que el almacenamiento en bloque es abstraído por el formato, pero no he encontrado ningún benchmark que compare los formatos soportados por VirtualBox.

Hay factores mayores que influyen en el rendimiento, como:

  • las limitaciones de su dispositivo físico (mucho más notables en un disco duro que en un unidad de estado sólido ¿Por qué? )
  • expandir una unidad de disco virtual asignada dinámicamente (las operaciones de escritura son más lentas a medida que el disco virtual se expande, pero una vez que es lo suficientemente grande, la expansión debería ocurrir menos)
  • tecnología de virtualización ( hardware vs. software (la virtualización del hardware ayuda a VirtualBox y mejora la velocidad de los sistemas operativos virtuales)
  • el hecho de que está ejecutando un sistema operativo virtual. El rendimiento es siempre más lento que el de la ejecución de un sistema operativo en el host debido a la sobrecarga de la virtualización.

22 votos

+1 Añadiré que VMDK parece ofrecer la panacea que he estado buscando en términos de copias de seguridad incrementales: Ya no tienen para hacer una copia de seguridad de una enorme VDI monolítica por un solo cambio de bits en el huésped.

0 votos

Creo que falta alguna consideración sobre el disco duro en bruto del host, es decir, que el invitado virtual utilice un disco duro "físico" (o un dispositivo RAID) visto desde el host. Esto permitiría un mejor rendimiento que el uso de una unidad simulada sobre un sistema de archivos.

1 votos

@Enzo: Ahora uso VMDK en un dispositivo de bloque sin procesar. La gran pega es que VirtualBox tiene que ejecutarse como root. Además, las instantáneas no son compatibles con los discos en bruto, pero tengo un sistema de instantáneas de terceros (ZFS). El VMDK en un disco sin procesar también es mucho menos portable. En cuanto al rendimiento, no tengo ningún punto de referencia sólido, pero tampoco tengo quejas.

44voto

Tortoise Puntos 375

Siempre utilizo VDI, ya que es el formato nativo de VirtualBox; sin embargo, utilizar un VMDK (formato de VMWare) aumentará la compatibilidad con otro software de máquinas virtuales.

VirtualBox funcionará bien en Ubuntu, así que si el objetivo es la interoperabilidad Windows/Ubuntu, VDI sería una opción perfectamente válida.

Ambos formatos cumplirán sus requisitos.

En cuanto a los otros dos, VHD es un formato desarrollado por Microsoft, y HDD es un formato desarrollado por Apple; ambos tienen licencia propia, por lo que limitan la compatibilidad entre plataformas; yo no los recomendaría.

19voto

Mpack, explica una diferencia de rendimiento clave entre VHD y VDI aquí:

Habiendo estudiado recientemente el formato VHD, yo esperaría que hubiera al menos una pequeña diferencia a favor de los VDI, más notable cuando se comparan similares con similares, es decir, un VDI optimizado frente a un VHD optimizado. La razón es que el formato VHD dinámico tiene estos sectores de "mapa de bits" repartidos por todo el disco. Cada vez que se modifica un sector dentro de un bloque, estos bloques de mapa de bits pueden necesitar ser actualizados y escritos también, lo que implica búsquedas, lecturas y escrituras adicionales. Estos sectores de mapa de bits también tienen que saltarse cuando se leen grupos consecutivos de una imagen de disco: más búsquedas. El formato VDI no tiene estos gastos generales, especialmente si el VDI ha sido optimizado (los bloques del disco virtual están ordenados por LBA).

Todos mis comentarios se aplican al formato VHD dinámico frente al VDI dinámico. Las pruebas de rendimiento en discos virtuales de tamaño fijo no tienen sentido, ya que ambos formatos son lo mismo (una simple imagen de un disco), sólo tienen diferentes cabeceras.

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

5voto

Alan Meyer Puntos 41

No sé si el uso de vmdk permitiría ejecutar de forma transparente una máquina virtual creada en VirtualBox en VMware o no. Puede ser. Sin embargo, una opción más universal podría ser utilizar la función de Archivo/Exportación de VirtualBox para crear un archivo .ova "Open Virtualization Appliance" que luego puede ser importado en VMware. Con ese enfoque, se puede portar a cualquier sistema de virtualización que soporte .ova sin importar el formato de imagen de disco que se utilice en VirtualBox.

Si necesita exportar desde la misma máquina virtual a intervalos regulares, por ejemplo, todos los días, eso podría ser una molestia. Pero si sólo te mueves a una tecnología diferente de vez en cuando, debería estar bien.

Si ya tiene un archivo .vdi, puede probar si esto funciona sin tener que crear una nueva máquina virtual. Expórtela a un .ova y luego intente importarla con vmware.

4voto

Una buena razón para mí para usar vmdk es que Virtualbox (al menos hasta la v4.1) usando el formato VDI tiene la tendencia, con el tiempo, de llenar todo el espacio de disco asignado, aunque el uso del disco virtual interno sea mucho menor. Con Virtualbox usando discos vmdk, esto parece menos problemático.

Pero estoy hablando de años de tiempo de actividad. Puede que no sea un problema con el que se encuentre mucha gente.

3 votos

Está más relacionado con la fragmentación del sistema de archivos del huésped que con el formato en sí.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: