Cómo trabajar con archivos VHD y VHDX de Hyper-V: Conceptos Básicos Esenciales

La versión de Windows Server 2012 fue muy bien recibida debido a la introducción de múltiples funciones de virtualización, incluyendo el nuevo formato de archivo VHDX. VHDX es esencialmente el sucesor de VHD, pero con capacidades más avanzadas. Sin embargo, aún puede crear y gestionar archivos VHD en su entorno Hyper-V. Exploremos en qué se diferencian los archivos Hyper-V VHD y VHDX, qué ventajas ofrecen y cómo se pueden utilizar.

NAKIVO for Hyper-V Backup

NAKIVO for Hyper-V Backup

Agentless, application-aware backups for Hyper-V. Anti-ransomware protection, instant VM boot from backup, other virtual/physical platform support and more.

Acerca de los archivos Hyper-V VHD y VHDX

Los discos virtuales creados en el entorno Hyper-V pueden almacenarse como archivos en formato VHD o VHDX ubicados en un disco físico. Los discos duros virtuales son una alternativa a los discos duros físicos; funcionan como los discos duros de una máquina virtual (VM). Los discos virtuales pueden contener un sistema de archivos nativo, particiones de disco, sectores y carpetas. Pueden realizar operaciones estándar con discos y archivos. Cada máquina virtual debe tener al menos un disco duro virtual que pueda utilizarse como almacenamiento para los datos de la máquina virtual.

Las versiones anteriores de Windows sólo admitían un único formato de archivo para discos virtuales: VHD. Como resultado de las crecientes demandas tecnológicas, Windows 2012 introdujo el formato de archivo VHDX, que ha mejorado considerablemente la capacidad de almacenamiento, ha mejorado el rendimiento en discos de gran sector y ha garantizado mayores niveles de protección de datos.

Tanto los archivos Hyper-V VHD como los VHDX pueden ser de diferentes tipos:

  • Arreglado. El espacio para el disco virtual se asigna cuando se crea el archivo VHD. El archivo del disco duro virtual tiene el mismo tamaño que el disco duro virtual. Su tamaño permanece constante, independientemente de los datos que se añadan o eliminen.
  • Expansión dinámica. El espacio para el disco virtual se asigna bajo demanda. El disco duro virtual tiene una cantidad específica de espacio de almacenamiento físico que puede utilizarse potencialmente, pero el espacio se asigna cuando se necesita. Así, el tamaño del archivo VHD o VHDX aumenta cuando se añaden nuevos datos.
  • Diferenciación. Este tipo de disco se utiliza para identificar, almacenar, gestionar y revertir los cambios realizados en otro disco virtual o en el disco padre.

Diferencias entre los archivos VHD y VHDX de Hyper-V

Para entender mejor cómo funcionan los archivos Hyper-V VHD y VHDX, vamos a explorar en qué se diferencian los formatos de archivo. A su vez, esto nos indica cómo cada uno de ellos puede mejorar el rendimiento de los discos virtuales. La siguiente tabla contrasta los dos formatos:

VHD VHDX
El formato de archivo básico compatible con Windows, Citrix y Oracle. Un formato de archivo avanzado compatible con Windows
Hasta 2 TB de capacidad de almacenamiento Hasta 64 TB de capacidad de almacenamiento
Los archivos VHD ofrecen menos protección contra la corrupción de datos que sus homólogos VHDX. Los archivos VHDX ofrecen una sólida protección contra la corrupción de datos mediante el seguimiento de los metadatos.
No hay compatibilidad con metadatos personalizados. Los metadatos personalizados son compatibles y pueden almacenarse.
Compatible con Windows Server 2008, 2008 R2, 2012 y 2012 R2 Compatible con Windows 2012 y versiones posteriores
Sin redimensionamiento en directo Redimensionamiento en directo
Tamaño del sector lógico de 512 bytes Tamaño del sector lógico de 4 KB
Problemas de alineación de datos Mejor alineación de los datos
No se admite el recorte Se admite el recorte

Como puede ver, el nuevo formato de archivo Hyper-V VHDX incluye varias funciones que han mejorado significativamente su utilidad. Por ejemplo, el recorte permite identificar los bloques de datos que ya no se utilizan y que pueden eliminarse, lo que aumenta la optimización del almacenamiento y mejora el rendimiento general. Otra función que se introdujo con el nuevo formato de archivo Hyper-V VHDX es VHDX compartido, que permite a las máquinas virtuales del mismo clúster invitado utilizar un archivo VHDX como almacenamiento compartido. Además, los archivos Hyper VHDX permiten redimensionar (reducir o ampliar) los discos virtuales bajo demanda, mientras la máquina virtual sigue en funcionamiento, lo que ahorra considerablemente tiempo y reduce los gastos generales. Por último, gracias a la alineación de datos mejorada, los archivos Hyper-V VHDX pueden mejorar considerablemente las operaciones de E/S. En cambio, los discos físicos de gran sector son propensos a la degradación del rendimiento.

Aunque VHDX es una versión más avanzada del formato VHD, todavía hay algunos casos en los que es preferible utilizar VHD. Por ejemplo, los archivos VHDX de Hyper-V no son compatibles con las versiones anteriores de Windows Server. Por lo tanto, si está ejecutando entornos virtuales con sistemas operativos invitados mixtos y necesita mover máquinas virtuales entre diferentes hosts, el formato de archivo VHD sería la opción óptima, ya que es compatible con más sistemas operativos.

Cómo trabajar con archivos VHD y VHDX de Hyper-V en PowerShell

Ahora que ya sabe qué son los archivos VHD y VHDX de Hyper-V y qué ventajas pueden proporcionarle, está listo para crear y configurar sus discos duros virtuales. Para ello, puede utilizar Hyper-V Manager o PowerShell en modo Administrador. En esta entrada de blog, describimos cómo gestionar operaciones de archivos Hyper-V VHD y VHDX en PowerShell. Este es el mejor enfoque, ya que PowerShell proporciona más opciones para configurar los archivos VHD y VHDX de Hyper-V. Puede crear, convertir, fusionar o eliminar discos de forma rápida y sencilla ejecutando scripts PowerShell.

Crear archivos Hyper-V VHD y VHDX

Para crear un nuevo disco duro virtual en formato VHD o VHDX, abra PowerShell como administrador y ejecute el cmdlet New-VHD. El siguiente ejemplo muestra cómo crear un disco duro virtual de tipo dinámico en la ruta especificada, con un tamaño de 10 GB, un tamaño de bloque de 128 MB y un tamaño de sector lógico de 4 KB. Tenga en cuenta que es la extensión del archivo (.vhd o .vhdx) la que determina el formato del archivo; en este caso, se está creando un archivo VHDX.

New-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -BlockSizeBytes 128MB -LogicalSectorSize 4KB -SizeBytes 10GB -Dynamic

El disco duro virtual está ahora creado y la siguiente información sobre el disco virtual se muestra en la ventana de PowerShell.

Cómo crear un archivo VHDX de Hyper-V

Añadir archivos Hyper-V VHD y VHDX

Con el cmdlet Add-VMHardDiskDrive, puede añadir un disco duro virtual a una máquina virtual específica. En el siguiente ejemplo, el disco duro virtual DemoDisk.vhdx en la ruta especificada se adjunta a la VM llamada DemoVM. El controlador SCSI, el número de controlador 0 y la ubicación del controlador 1 también se asignan al disco virtual.

Add-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path 'C:\Virtual Disks\DemoDisk.vhdx'

 Eliminar archivos Hyper-V VHD y VHDX

El comando Remove-VMHardDiskDrive se utiliza para eliminar un disco duro virtual de una máquina virtual. Para demostrar cómo funciona este cmdlet, a continuación se muestra cómo eliminar el disco creado anteriormente:

Remove-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1

Utilizando estos cmdlets, puede crear y eliminar fácilmente discos virtuales con los parámetros requeridos y adjuntarlos a máquinas virtuales específicas.

Convertir archivos Hyper-V VHD y VHDX

Como ya se ha mencionado, los archivos VHDX ofrecen una serie de ventajas con respecto a sus predecesores VHD. Por lo tanto, en muchos casos, es aconsejable convertir todos los archivos VHD al formato VHDX. Para actualizar los archivos VHD de Hyper-V a VHDX, basta con ejecutar el cmdlet Convert-VHD, que permite cambiar el formato del archivo mientras se guarda el contenido del disco duro virtual de origen. Los datos del disco duro virtual de origen se copian en un nuevo disco del formato requerido. La operación debe realizarse sin conexión; se recomienda desconectar el disco duro virtual. El siguiente ejemplo muestra el cmdlet que permite convertir archivos VHD de Hyper-V a VHDX:

Convert-VHD -Path ‘C:\New Virtual Disks\Fixed Disk.vhd’ -DestinationPath ‘C:\New Virtual Disks\Fixed Disk.vhdx’

Recuerde, sin embargo, que los archivos VHDX sólo son compatibles con Windows Server 2012 y versiones posteriores. Por lo tanto, es posible que necesite convertir archivos Hyper-V VHDX a VHD. En este caso, se puede utilizar el mismo cmdlet Convert-VHD, sólo que a la inversa. Recuerde que el disco duro virtual debe estar desconectado antes de realizar la operación.

Convert-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’ ‘C:\Virtual Disks\DemoDisk.vhd’

Fusionar archivos Hyper-V VHD y VHDX

Como se mencionó anteriormente, los discos de diferenciación se utilizan para almacenar y revertir los cambios realizados en otro VHD o en un SO invitado. Cada disco de diferenciación rastrea y almacena los cambios realizados en un disco virtual asociado. En este caso, el disco de diferenciación se denomina «disco hijo» y el disco duro virtual, «disco padre». Con el cmdlet Merge-VHD, puede fusionar los cambios almacenados en un disco de diferenciación en el disco padre o en otro disco hijo de la cadena de discos de diferenciación. Tenga en cuenta que esta operación se realiza sin conexión; asegúrese de que la cadena de discos está desconectada.

Para fusionar el disco duro virtual hijo con el disco duro virtual padre, ejecute el siguiente cmdlet. Tenga en cuenta que una vez finalizada la operación y transferido el contenido del disco hijo al padre, el disco de diferenciación se destruye.

Merge-VHD -Path ‘C:\Virtual Storage\Differencing.vhdx’

En el siguiente ejemplo, tenemos un disco padre, maindisk.vhdx, y un disco hijo, ChDisk1.vhdx, que a su vez tiene un hijo: ChDisk2.vhdx. Este último disco virtual tiene incluso su propio hijo, ChDisk3.vhdx. Juntos, estos discos constituyen la cadena de diferenciación. El siguiente cmdlet se puede utilizar para fusionar los discos duros virtuales hijos en la cadena de discos.

Merge-VHD -Path ‘C:\VM Testing\ChDisk3.vhdx’ -DestinationPath ‘C:\VM Testing\ChDisk1.vhdx’

Mediante esta operación, los datos de ChDisk3.vhdx y ChDisk2.vhdx se fusionan en ChDisk1.vhdx. El script PowerShell simplifica el proceso de fusión de discos duros virtuales; toda la operación puede realizarse en una sola ejecución, independientemente del tamaño de la cadena de diferenciación. Esta es una ventaja de Powershell – con Hyper-V Manager, no se le permite fusionar múltiples capas de la cadena de discos de diferenciación a la vez. Tendría que fusionar manualmente cada capa de la cadena de discos de diferenciación, y estos pasos adicionales le costarían tiempo y esfuerzo.

Montar archivos Hyper-V VHD y VHDX

El cmdlet Mount-VHD permite montar uno o varios discos duros virtuales. El siguiente ejemplo muestra cómo montar un disco duro virtual con la ruta C:\Virtual Disks\DemoDisk.vhdx.

Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’

Mediante scripts PowerShell, puede montar un disco duro virtual en modo de sólo lectura:

Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’ -ReadOnly

Desmontar archivos Hyper-V VHD y VHDX

Si desea desmontar un disco duro virtual, ejecute el cmdlet Dismount-VHD en PowerShell. En el siguiente ejemplo, puede ver cómo desmontar el disco duro virtual con la ruta C:\Virtual Disks\DemoDisk.vhdx.

Dismount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’

Otra opción es desmontar el disco duro virtual utilizando el número de disco del disco montado, como se indica a continuación:

Dismount-VHD -DiskNumber 8

Redimensionar archivos Hyper-V VHD y VHDX

Si desea redimensionar (reducir o ampliar) un disco duro virtual, debe utilizar el cmdlet Resize-VHD. El siguiente ejemplo muestra cómo redimensionar un disco duro virtual asignándole un nuevo tamaño especificado. En este caso, hemos ampliado el VHDX de 10GB a 20GB:

Resize-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -SizeBytes 20GB

Sin embargo, la reducción sólo está disponible para archivos VHDX. Tenga en cuenta que el disco duro virtual no debe reducirse a un tamaño inferior al tamaño mínimo especificado. Para ver el tamaño mínimo del disco duro virtual, ejecute el siguiente cmdlet:

Get-VHD -Path 'C:\Virtual Hard Disks\demovdisk.vhdx’

Puede utilizar el siguiente comando para reducir el archivo VHDX a su tamaño mínimo:

Resize-VHD -Path 'C:\Virtual Hard Disks\demovdisk.vhdx’ -ToMinimumSize

Conclusión

Los archivos VHD y VHDX de Hyper-V desempeñan un papel importante en los entornos virtuales, ya que funcionan como los discos duros de una máquina virtual. El formato de archivo VHD se utilizó durante mucho tiempo, pero para seguir el ritmo del progreso constante de la tecnología de virtualización, Microsoft introdujo una versión más avanzada. Así, el formato de archivo VHDX se lanzó con Window Server 2012 para mejorar el rendimiento de los discos físicos de gran sector, aumentar la capacidad de almacenamiento y garantizar la protección de los datos.

Después de comparar todas las funciones que ofrecen los archivos VHD y VHDX de Hyper-V, se puede afirmar con seguridad que VHDX de Hyper-V es un formato de archivo más eficiente y fiable creado para satisfacer las demandas de rendimiento de los entornos virtuales modernos.

Asegúrese de proteger sus discos VHD y VHDX con una solución de protección de datos adaptada a la infraestructura virtualizada. Considere NAKIVO Backup & Replication, que es una solución rápida y rentable que proporciona múltiples opciones para proteger entornos Hyper-V, VMware, AWS EC2 y Microsoft 365.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Artículos recomendados