Nativo de VHD en Windows 7

Este blog es una traducción del post de Mike Kolitz Native support to VHD in W7, en el que se describe la entrada en Windows 7 y Windows Server 2008 R2 de opciones para la creación y la gestión de disco duro virtual (VHD) , además de permitir arrancar una máquina física a partir de un archivo VHD. Esto ayudara a nuestros clientes empresariales y la comunidad de desarrolladores a utilizar un formato de imagen y herramientas comunes para la gestión y despliegue de imágenes de Windows que se ejecutan tanto en Hyper-V con máquinas virtuales como en máquinas físicas.

El disco duro virtual de Microsoft de (VHD) es una especificación de formato de archivo a disposición del público el que se define un disco duro virtual encapsulado en un archivo único, capaz de acoger los sistemas de archivos nativos y apoyo a las operaciones de disco estándar. Los VHD se pueden emplear en Microsoft Windows Server 2008 Hyper-V, Microsoft Virtual Server y Microsoft Virtual PC para los discos virtuales conectados a una máquina virtual. Los VHDs son útiles como contenedores, además el formato de archivo VHD también es utilizado por Microsoft Data Protection Manager, Windows Server Backup así como muchos otros productos y soluciones de Microsoft. Para crear un VHD en Windows Server 2008, anteriormente se tenia que instalar el servidor Hyper-V y usar las APIs de función Hyper-V Manager para crear un archivo VHD para, a continuación, instalar una versión de Windows en una partición en el VHD.

En muchos de nuestros clientes el centro de datos esta en transición a máquinas virtuales  Hyper-V para la consolidación de servidores y tener costes energéticos más bajos. También se produce el desplazamiento de un número cada vez mayor de aplicaciones a las máquinas virtuales, que seguirán funcionando en una parte significativa del centro de datos sobre máquinas físicas. La gestión de la integridad de las imágenes que se despliegan a las máquinas físicas y las máquinas virtuales pueden ser un reto. Los administradores de TI tienen que mantener dos conjuntos de imágenes: un conjunto basado en el formato WIM física para máquinas, otro juego basado en el formato VHD de máquinas virtuales. Lo que los administradores necesitan es un formato común y un conjunto de herramientas para hacer más sencilla la administración de imágenes, y reducir así el número de imágenes que se necesita catalogar y mantener.

Desarrolladores y probadores están utilizando máquinas virtuales para probar nuevos sistemas y software de aplicación. Las máquinas virtuales proporcionan una conveniente, y aislada del medio ambiente, forma de reducir la necesidad de prueba en hardware dedicado. Pero a veces es necesario ejecutar las pruebas sobre una máquina física para probar la respuesta al acceder a un dispositivo de hardware , como la tarjeta gráfica, o para obtener perfiles precisos de rendimiento. Un formato de imagen común que se ejecuta tanto en máquinas virtuales como físicas también beneficia a los desarrolladores y probadores.

En esta entrada del blog que vamos a examinar los objetivos del soporte a VHDs como formato nativo en el sistema, el núcleo del sistema operativo compatible con VHDs, y los principales escenarios objeto de despliegue de discos VHD.

Objetivos de soporte nativo para VHDs en Windows Server 2008 R2 y Windows 7

  1. Simplificar la experiencia de la creación, gestión y despliegue de imágenes de Windows a través tanto de máquinas físicas como máquinas virtuales utilizando un único formato de imagen y herramientas comunes.
  2. Permitir a los sistemas tener varias instancias de Windows instaladas sin usar particiones separadas de disco para una mayor flexibilidad, según sea necesario.
  3. Permitir el desarrollo eficiente de software y las pruebas que requiere un entorno de prueba aislado utilizando una imagen común, ya sea esta ejecutada en una máquina virtual o física.

Creación y gestión de VHDs

Windows 7 simplifica la gestión de las imágenes mediante la adición de soporte para discos virtuales en las herramientas de gestión de disco. Ya no es necesario instalar el servidor Hyper-V y el uso de la función Hyper-V Manager para crear VHDs desde la consola. La consola de Administración de Discos puede crear un nuevo archivo VHD, ya sea de tamaño fijo o expandible dinámicamente. Después de crear el archivo VHD, la acción VHD add hace que el disco virtual quede disponible en el sistema como si estuviera enchufado en una unidad de disco duro físico.

vhd1

Figura 1. Creación de un VHD utilizando la consola Administración de discos

Después de añadir un nuevo disco virtual, se crea una partición y formatea un volumen NTFS en el VHD como si fuera un disco físico. El VHD está listo para que una imagen de Windows se aplique  al volumen y se inicialice para arrancar.

Los administradores con frecuencia prefieren herramientas de línea de comandos, y puede hacerse lo mismo desde el cmd, utilizando en diskpart el comando vdisk. Diskpart también acepta una secuencia de comandos para automatizar los pasos para crear y dar formato a un VHD.  Cuando un VHD contiene un volumen del sistema de archivos adjunto, Windows reconoce automáticamente el volumen y proporciona una opción para explorar el contenido.

vhd2

Figura 2. Uso de Diskpart para crear un VHD

Núcleo de Apoyo al Sistema de Almacenamiento
El acceso a los contenidos del VHD es proporcionado por un nuevo mini-port driver en la pila de almacenamiento para archivos VHD. El driver es lo que permite las peticiones de E / S de archivos en el VHD ser enviados al sistema de archivos NTFS en la partición donde se encuentra el archivo VHD. Las operaciones también se puede realizar en un recurso VHD compartido en un sistema remoto.

Con Windows Server 2008 R2, Hyper-V ahora utiliza el nuevo soporte nativo para VHDs en el core del sistema operativo. Se han realizado extensas pruebas en una amplia gama de E / S y las pruebaa en escenario con soporte nativa a VHD es increíblemente eficaz. El rendimiento de lectura y escritura, de E / S en diferentes tamaños de bloque, tanto aleatoria como secuencial de E / S, es comparable con el rendimiento del disco físico. Los gráficos siguientes muestran algunos de los resultados preliminares de pruebas de rendimiento en comparación de rendimiento fijo y dinámico sobre archivos VHD entre Windows Server 2008 R2 beta y Windows Server 2008 con Hyper-V. El valor "Bare Metal"  muestra el máximo rendimiento de E / S de disco físico al dispositivo sin utilizar un archivo VHD. Baja el rendimiento al  escribir sobre un volumen dinámico VHDs debiendose a los múltiples E / S necesarios para ampliar el archivo según nuevos bloques se escriben en el disco virtual.

vhd4

vhd5

El soporte desde el Sistema operativo de forma nativa sobre VHD ofrece oportunidades para la gestión de los ISVs al aportar un valor añadido a sus clientes sin la complejidad de la introducción de nuevos formatos de imagen. Hay nuevas API de Win32 para operaciones de la imagen sobre VHD que permiten a las herramientas de gestión apoyar el formato VHD como marco de gestión.

Soporte nativo de arranque VHD
El arranque nativo desde VHD permite la transición sin tropiezos a la virtualización mediante un único formato de imagen que arranca tanto en máquinas físicas como máquinas virtuales. El arranque nativo de VHD desde Windows significa que la imagen en un archivo VHD puede arrancar en una máquina física sin iniciar una máquina Hyper-V virtual. Los archivos de imagen VHD hacen que sea fácil que una única máquina física que tenga varias instancias del sistema operativo las tenga disponibles para arrancar en cualquier momento. El soporte al arranque múltiple ha estado disponible en Windows para muchas versiones, pero requería una partición de disco para cada sistema operativo instalado. Ahora soporta de forma nativa el arranque desde VHD de los tres tipos de archivos VHD: fija, dinámica, y diferenciado los discos.

Desarrolladores y probadores pueden utilizar el arranque nativo desde VHD para ejecutar versiones de prueba de nuevos los controladores de dispositivo u otro software para Windows, con pleno acceso a los dispositivos de hardware conectado al sistema. El disco diferencial VHD proporciona una manera conveniente de inicializar un entorno de prueba, la realización de pruebas y la vuelta a un estado limpio o línea de base después de que la prueba se ha completado. La ejecución de pruebas dará lugar a cambios que se realizan sólo en el disco diferencial. Una vez que la prueba está completa, puede volver a limpiar el estado de la matriz del VHD simplemente eliminando el archivo diferencial y mediante la creación de uno nuevo.

El arranque nativo VHD permite a los administradores de TI rápidamente readaptar una máquina para diferentes funciones. Los servidores pueden tener varias aplicaciones de trabajo entre los distintos archivos VHD y cambiar el volumen de trabajo para adaptarse a la demanda. La flexibilidad de múltiples archivos de arranque utilizando VHD también hace que sea fácil de mantener un imagen anterior de Windows disponible para su uso como fall-back en caso de un problema con una nueva imagen.

El arranque nativo desde VHD depende de las mejoras en los datos de configuración de arranque (BCD) para representar el archivo VHD como dispositivo de arranque en lugar de una partición de disco físico. La siguiente imagen muestra un ejemplo de una configuración de arranque múltiple con una entrada de inicio VHD.

vhd6

Figura 3. Configuración de arranque múltiple con VHD como inicio

El gestor de arranque de Windows 7 y su cargador puede ahora leer los archivos necesarios para iniciar el sistema operativo Windows de la imagen dentro de un archivo VHD. Cuando Windows se inicia desde un archivo VHD, todos los "E / S de disco" para cargar el kernel de los controladores de dispositivo, Sistema de arranque de los servicios, y ejecución de aplicaciones se traduce a I / O para el archivo VHD , y luego de E / S al volumen NTFS y el disco físico. En el apagado, se gestionan todas las operaciones de escritura al mismo nivel que el archivo VHD y partición física subyacente en el orden correcto de la pila de almacenamiento antes de apagar el dispositivo de disco. Debido a estas mejoras de las partes fundamentales del sistema, el arranque nativo desde VHD sólo funciona para VHDs contienen Windows 7 o Windows Server 2008 R2, y no las versiones anteriores de Windows. Esta versión no es compatible con BitLocker, o la hibernación (que incluye la reanudación de la hibernación).

El despliegue de imágenes

Para poner en un equipo con Windows 7 o Windows Server 2008 R2 la imagen del sistema operativo en el archivo VHD, se tiene que aplicar una imagen a la partición en el archivo VHD. Ejecutar el programa de instalación desde el DVD de instalación y la selección de una partición en un archivo VHD para la instalación no es compatible. Aquí hay dos formas de aplicar una imagen WIM VHD:

  1. Usar la Install-WindowsImage secuencia de comandos Powershell desde el Código de MSDN.
  2. O utilizar la herramienta de despliegue Imagex del kit de instalación automatizada de Windows (WAIK).

El script de Powershell-WindowsImage utiliza el wimgapi.dll en Windows 7 al aplicar una WIM a un VHD. Utilice la secuencia de comandos si no está familiarizado con la WAIK y la herramienta Imagex.exe , o no tiene WAIK disponible.

Ver el documento Instalación de Uso-WindowsImage, para las instrucciones paso a paso sobre cómo crear un VHD WIM y aplicar una imagen de arranque a un VHD.

Los profesionales de TI se interesan en el uso de las herramientas de implementación de WAIK para personalizar y captar una imagen de referencia de Windows y desplegar la imagen en formato VHD ya sea a maquinas físicas o máquinas virtuales. El despliegue de medidas básicas para preparar una imagen personalizada de Windows incluye el texto siguiente:

  • Instalar Windows en una partición en un máquina física en primer lugar como máquina de referencia.
  • Personalizar la imagen de referencia y la configuración de la instalación de las aplicaciones que desee.
  • Ejecute el comando sysprep en el sistema de referencia para generalizar la imagen, se restablece el estado del sistema y la configuración de dispositivos específicos de Windows en la máquina  a su primera instalación y se apaga.
  • Captura en la imagen de referencia física de la partición de Windows en un archivo de imagen que se copia a un servidor compartido (WIM).
  • Aplicar la imagen de Windows a un archivo VHD e inicializar el entorno de arranque desde el VHD.

El VHD generalizado con un archivo de imagen puede ser copiado y utilizado en múltiples máquinas virtuales o físicas. Una imagen generalizada es necesaria para evitar errores en el inicio del sistema, porque el hardware del nuevo sistema es diferente, y para evitar tener múltiples copias de Windows de la misma máquina con el mismo SID (nombre y la identidad de seguridad), en la red. Durante el primer arranque de Windows del fichero VHD en otra máquina virtual o física, Windows especializará la imagen para la nueva máquina, configurando dispositivos, y preparándola  para la primera utilización. Copiar el archivo de referencia VHD es una manera rápida de obtener un nuevo Windows 7 o Windows Server 2008 R2 para el desarrollo, ensayo, o puesta en producción para los servidores.

Si usted quiere implementar imágenes Windows a varias máquinas, puede aprovechar el servicio de implementación de Windows (WDS) de Windows Server 2008 R2. WDS se refuerza con la posibilidad de añadir archivos de imagen VHD a la imagen del catálogo WDS. El administrador crea grupos de imágenes VHD en WDS para los archivos que están dispuestos a desplegar a las máquinas permitiendo utilizar el arranque desde red, o "arranque PXE". WDS cuando despliega una imagen VHD, el cliente del agente copia el archivo VHD en local y configura el entorno de arranque para arrancar desde este VHD. Todas las aplicaciones y la configuración del sistema se realizan desde el patrón de referencia de la imagen de archivo VHD. Cuando Windows se inicia desde el archivo VHD por primera vez, el sistema se ha especializado como se mencionó anteriormente, para los dispositivos físicos en la máquina objetivo estando ya listo para usar. Eso es muy cómodo y simplifica el despliegue rápido.

Aunque el apoyo al formato nativo VHD  y, concretamente, el arranque, abre un montón de escenarios, nuestros objetivos con esta tecnología son bastante específicos: simplificar la gestión de imágenes para los clientes empresariales ayudando a migrar los servidores a  máquinas virtuales, y permitir el desarrollo eficiente y las pruebas de software en entorno aislado del medio, ya sea para máquinas físicas o máquinas virtuales.  El apoyo a la VHD como formato nativo es uno de los objetivos clave en los escenarios en la empresa, donde el personal de TI está bien versado con diferentes tecnologías de creación de imágenes y herramientas para la gestión de sus clientes y servidores. Un entorno empresarial gestionado también emplea tecnologías como la redirección de carpetas y los perfiles móviles para la gestión de la información del usuario fuera de las imágenes desplegadas VHD. Los desarrolladores apreciarán rápidamente la capacidad de actualizar o sustituir una imagen VHD durante el desarrollo. Los entornos de prueba pueden usar múltiples imágenes VHD y discos diferenciales para un uso más eficiente de las máquinas de pruebas.

Esperemos que este blog de una idea de cómo Windows 7 y Windows Server 2008 R2 soporta VHD como archivos de formato y por qué el formato de imagen común para la física y las máquinas virtuales será interesante para muchos de los entornos del usuario.

Actualización: algunas personas me han preguntado si esta información se aplica a Microsoft Hyper-V Server 2008 R2 también. La respuesta es sí.