Las opiniones reflejadas en este Blog son personales. La información se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.
Hola, hay abundante información sobre este tema por ahí, pero intentaré "resumir" aquí las diferentes formas que tenemos de lograr que las máquinas Virtuales corriendo en Microsoft Virtual Server lo acaben haciendo sin problemas en Hyper-V. Voy a dividirlo en cuatro partes. Antecedentes (como los abogados), migración manual, migración con SCVMM 2008 y automatización del proceso. La guía oficial la podéis encontrar aquí:
Antecedentes
Supongo que a estas alturas, es por todos conocido el hecho de que Microsoft Virtual Server e Hyper-V son dos sistemas de virtualización totalmente diferentes y que Hyper-V es un role exclusivo de Windows Server 2008 x64. Por esta razón no es posible una estrategia clásica de actualización (in-place upgrade), porque aunque puliéramos actualizar la versión de Windows en la que corre Virtual Server a Windows Server 2008, no se actualizaría automáticamente Virtual Server a Hyper-V, y ni mucho menos se transformarían las máquinas virtuales.
Por otro lado, las Virtual Machine Additions de Virtual PC / Virtual Server y los Integration Components de Hyper-V, aunque aporten funcionalidades similares, tienen grandes diferencias que responden a las diferencias de arquitectura que tienen Virtual Server e Hyper-V. En el caso de los Integration Components, además de los habituales servicios de sincronización horaria, apagado, etc. y de la actualización de drivers, modifican el núcleo del sistema de modo que le permite utilizar las ventajas de la paravirtualización que incluye un Hypervisor Tipo I como es Hyper-V.
Otra consideración importante es que si bien en Virtual Server se soporta arrancar la VM de un .VHD conectado a la controladora SCSI emulada, en Hyper-V es obligatorio de un disco conectado a la controladora IDE. Digamos que no hay drivers "de los de F6" para la controladora SCSI sintética que monta Hyper-V.
La idea de una migración de Virtual PC / Virtual Server a Hyper-V es sencilla. El formato VHD no varía. La definición de la máquina virtual esta en cada caso en un fichero de estructuras incompatibles entre si. En Virtual Server es un fichero .vmc, y en Hyper-V en un .xml. Y por último y más importante, Hyper-V solo podrá arrancar una VM desde un VHD proveniente de Virtual Server / Virtual PC si y solo si
Por último, mencionar cual es la última versión de Microsoft Virtual Server 2005 a fecha de hoy:
Todo esto es importante para entender todo lo que sigue a continuación. Voy a asumir que las máquinas virtuales a migrar albergan el buzón de Director General, por lo que según los casos alguna cosa podría relajarse un poco.
Migración Manual
Esto es bastante sencillo. Podemos tirar para delante o para detrás:
Para hacerlo a mano, personalmente casi prefiero la primera opción. Pero esto puede variar según la situación de cada uno. Así es que éste sería el paso a paso para ambos casos y que cada uno elija/simplifique el que más le convenga:
En ambos casos es conveniente tener en cuenta que las NICs en Virtual Server son siempre una emulación de la Intel PCI 21140, y que tal tarjeta en Hyper-V es la "Legacy" (heredada). La tarjeta de red de Hyper-V (sintética) no funcionará en ningún caso antes de haber instalado los componentes de integración. También puede ser un buen momento para incrementar la memoria RAM asignada a la VM, o su número de procesadores. Sobre todo esto último debe hacerse también una vez la VM ya haya arrancado una vez en Hyper-V y no antes.
Sobre todo esto, hay mas trucos y recomendaciones aquí: http://blogs.technet.com/askcore/archive/2008/09/19/migrating-to-hyper-v-from-virtual-server-or-virtual-pc-tips-and-suggestions.aspx
Como vemos, el proceso puede llegar a ser algo tedioso. Si no le tenemos demasiado aprecio a la VM, también es cierto que se puede simplificar bastante. Aún así ¿que tal si todo esto lo hacemos con un simple "drag and drop" y nos vamos mientras a tomar algo?
Migración de Virtual Server a Hyper-V usando System Center Virtual Machine Manager 2008
Como decía, basta con arrastrar la VM de Virtual Server al Host de Hyper-V deseado de los que están agregados en la consola, si bien tenemos que tener en cuenta antes que se cumplan una serie de condiciones, y que, nuevamente, yo no migraría así una VM crítica, al menos sin haberme asegurado antes de tener una copia de seguridad o un buen plan de marcha atrás. De entrada, he aquí la información oficial sobre este tema:
En este caso, el proceso es mas simple y amigable, si bien en esencia va a suceder algo muy similar por debajo:
Usemos el método que usemos es importante tener en cuenta los dos puntos que son la causa más frecuente de posibles problemas, si bien SCVMM ya los va a tener también en consideración.
Automatización del proceso
Aunque los pasos mencionados en el proceso de migración pueden ser en gran parte automatizados llamando a las interfaces COM de Virtual Server y WMI de Hyper-V, no resulta ni inmediato ni sencillo. Resulta mucho mas conveniente apoyarse en las capacidades de scripting en Powershell que ofrecen los cmdlets de SCVMM2008, ya que en ellos ya está implementado dicho trabajo. Por otro lado, tengo mis dudas de que una migración de una infraestructura virtual a otra deba de automatizarse más allá de lo expuesto en el apartado anterior. Existen un buen numero de factores a tener en cuenta, desde en qué momento se realiza, condiciones de los clientes, el estado de la red o procedimientos de prueba adicionales, hasta si es el momento de hacer algún retoque, como por ejemplo, dotar de alta disponibilidad a alguna de las máquinas virtuales.
Supongamos no obstante que contamos con un cierto numero de servidores con Virtual Server, cada uno de ellos ejecutando un cierto número de máquinas virtuales, que se quieren migrar a determinados servidores de Hyper-V. He aquí un esbozo de cómo podríamos automatizar el proceso:
Para ver como funciona todo esto y construirnos nuestro script a medida, lo mejor es "amagar" la acción en la consola de SCVMM2008 y darle al botón "View Script" para ver lo que hace internamente el producto en casa situación.
Pese a haber hecho parecer que todo es más complicado de lo que realmente es, espero haber dejado claro por lo menos todas las cosas a atener en cuenta antes de abordar una migración de este tipo. Si a alguien se el ocurre alguna otra cosa o detecta algún error o mejora en los procedimientos le agradeceré su ayuda.
Saludos
David Cervigón
La migración con scvmm te debería mantener la mac de la tarjeta de red, mientras que si la haces con la migración manual no, así que es algo que hay que apuntarse y configurar al crear la vm en hyperv-
Lo pruebo a ver.
Saludos.
Con virtual server era muy sencillo coger el .vhd y ponerlo en un VirtualPC por si tenias que ir con un portatil a casa del cliente (desarrollamos en maquinas virtuales).... ahora con Hyper-V, como lo hago para llevarme la maquina? hay alguna otra opcion aparte de instalar Windows 2008 en el portatil + Hyper-V?
Hola Felix.
Un compañero me comentó que fue capaz de usar un VHD de Hyper-V en Virtual PC sin problemas. Aunque sobre el papel el sistema reconocerá los dispositivos emulados, yo lo cierto es que no lo he probado y me parece arriesgado, pero parece que debe funcionar.
La teoría dice que basta con hacer Msconfig.exe, Boot, Advanced Options, Autodetect HAL.
Comentanos algo si lo pruebas
Pues si, con el truquillo del Msconfig.exe funciona perfectamente (al menos en Vista que es el entorno de desarrollo estandard para nosotros), ahora ya puedo hacer que la gente se 'lleve' la maquina si tiene que hacer alguna visita al cliente...
muchas gracias por la idea!!!!
Hola a todos, algo no debo de haber hecho bien, porque me arranca el virtual pero no me detecta la tarjeta de red. En el panel de control/sistemas veo que hay un HW que no ha sido capaz de instalar y la tarjeta de red no aparece.
¿Alguna idea?
Un saludo y gracias.
O instalas los componentes de integración a la VM para que te detecte la tarjeta de red sintética que seguramente es la que tienes en la configuración, o le metes a la VM la tarjeta de red heredada para que emule una 21140
Es posible el paso inverso?
De hyper-v a virual pc o server ?
tengo un servidor de aplicaciones pero no se si, al migrarlos a hyper-v me respete lo mismo, ya lo hice con mi server de usuarios, pero no se si podra funcionar me pueden a yudar
Hola
¿Y por que no iba a funcionar?. Lo bueno es que además se puede probar antes.