Introducción
En caso de tener que migrar de Virtual Server 2005 a Hyper-V, y que existan Máquinas Virtuales de Virtual Server 2005 formando un Microsoft Cluster (MSCS), como sería el caso de un Cluster de SQL Server 2005 o un Cluster de Exchange Server 2003, nos encontraremos con el problema de que en Virtual Server 2005 podemos utilizar Discos Virtuales VHD compartidos por varias Máquinas Virtuales para formar el cluster (ej: para discos de Quorum y datos compartidos), sin embargo, en Hyper-V no existe ninguna alternativa para la utilización de Discos Virtuales VHD en modo compartido entre varias Máquinas Virtuales. ¿Qué hacemos?
Una posible solución, es utilizar Windows Storage Server 2008 y Microsoft Software iSCSI Target (disponible para subscriptores TechNet y MSDN), como una solución de Almacenamiento SAN compartido, es decir, un Almacenamiento SAN basado en iSCSI. De este modo, es posible instalar Windows Storage Server 2008 y Microsoft iSCSI Target, configurar uno o varios Targets iSCSI, e importar los Discos Virtuales VHD de Virtual Server 2005 sobre Microsoft iSCSI Target, para así poder compartirlos entre diferentes servidores, como discos compartidos.
Hasta ahora, sólo había leído alguna documentación que indicaba que el formato de los ficheros VHD de los Discos Virtuales de Virtual Server 2005 (o de Hyper-V) y de Microsoft iSCSI Target, era muy parecido, pero no había leído nada acerca de importar los Discos Virtuales VHD de Virtual Server 2005 (o de Hyper-V) sobre Microsoft iSCSI Target, algo que me vendría de perlas para seguir trasteando con mis Máquinas Virtuales, y que por fin me he decidido a probar (mejor dicho, que por fin he sacado tiempo para...)
Procedimiento de Migración de un Cluster, de Virtual Server 2005 a Hyper-V
El procedimiento de migración de unas Máquinas Virtuales de Virtual Server 2005 en Cluster a Hyper-V, es prácticamente idéntico que la migración de una Máquina Virtual normal, como se muestra a continuación:
- Desinstalar las Virtual Machine Addtions en las Máquinas Virtuales de Virtual Server 2005. Es recomendable realizar esta tarea con las Máquinas Virtuales iniciadas en Virtual Server 2005, antes de arrancarlas en Hyper-V.
- Crear nuevas Máquinas Virtuales en Hyper-V, con una configuración hardware similar al de las Máquinas Virtuales aún existentes en Virtual Server 2005. Debe tenerse en cuenta, que estas nuevas Máquinas Virtuales, sólo tendrán los Discos Virtuales VHD que actúan como discos locales (ej: el disco C), y no tendrán configurado ninguno de los discos compartidos. Para ello, es posible copiar los Discos Virtuales VHD desde el servidor Virtual Server 2005 al servidor Hyper-V.
- Importar en Microsoft iSCSI Target, los Discos Virtuales VHD que actúan como discos compartidos en las Máquinas Virtuales originales de Virtual Server 2005. Este apartado lo veremos en detalle más adelante. Una vez importados, es necesario crear los Targets correspondientes, y asignar a cada Target los Discos Virtuales deseados (las LUN) y los equipos clientes (iSCSI Initiators).
- Arrancar las nuevas Máquinas Virtuales en Hyper-V, e instalar los Integration Components. Si es necesario, instalar Microsoft iSCSI Initiator (descargable de forma gratuita desde la Web de Microsoft). Este componente, viene ya instalado en algunas versiones de Windows (ej: Windows Server 2008), pero debe ser instalado en aquellas versiones de Windows que no lo incorporan (ej: Windows Server 2003).
- En las nuevas Máquinas Virtuales de Hyper-V, configurar el Microsoft iSCSI Initiator para conectarse a los Target que creamos anteriormente. En las pruebas que he realizado, sobre Máquinas Virtuales Windows Server 2003 R2, se han mantenido las letras de unidad y etiquetas de volumen originales sin tener que hacer ninguna configuración manual. Es recomendable reiniciar las Máquinas Virtuales después de configurar el Microsoft iSCSI Target, y además, es recomendable configurar primero una Máquina Virtual, y después otra (secuencialmente), para evitar problemas de acceso a los discos compartidos.
Realizado todo esto, tendremos nuestro Cluster virutalizado, funcionando en Hyper-V con Microsoft iSCSI Target correctamente.
Este procedimiento, ha sido realizado con éxito sobre dos Cluster, un Cluster de SQL Server 2005 y un Cluster de Exchange Server 2003. Los Discos Virtuales compartidos, eran de tamaño fijo, y tenían tamaños desde 1GB hasta 10GB, funcionando correctamente en todos los casos.
Importar un Disco Virtual VHD de Virtual Server 2005 (o Hyper-V) en Microsoft iSCSI Target
A continuación se muestra el procedimiento a seguir para importar un Disco Virtual VHD existente, procedente de Virtual Server 2005, en Microsoft iSCSI Software Target. Para ello, deberemos abrir la herramienta administrativa Microsoft iSCSI Software Target, y en el menú contextual del nodo Devices, utilizar la opción Import Virtual Disk, como se muestra en la siguiente pantalla captura.
En la pantalla de bienvenida, click Next para continuar.
En la pantalla Files, Click en Browne para seleccionar el fichero de Disco Duro Virtual VHD que se desea importar.
Seleccionaremos el fichero VHD deseado y click OK, como se muestra en la siguiente pantalla capturada.
Una vez seleccionado el fichero VHD deseado, de vuelta a la pantalla Files, click Next para continuar.
En la pantalla de finalización del asistente, click Finish.
Realizado esto, habremos importado con éxito nuestro Disco Duro Virtual VHD en Microsoft iSCSI Software Target. En consecuencia, ahora tendremos dos ficheros para nuestro Disco Duro Virtual: el fichero con extensión VHD y un fichero con mismo nombre y extensión CBM.
Una vez importado nuestro Disco Virtual VHD, es interesante editar sus propiedades para especificar una descripción al Disco Virtual. Para ello, deberemos seleccionar la opción Properties del menú contextual del correspondiente Disco Virtual, como se muestra en la siguiente pantalla capturada.
En el diálogo de Propiedades, especificamos la descripción deseada para el Disco Virtual, y click OK.
Realizado todo esto, tan sólo queda crear el o los Targets deseados, y asignar a cada Target el o los Discos Virtuales deseados y los equipos clientes (iSCSI Initiators) correspondientes.