GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Hyper-V: Migrar el Laboratorio de GuilleSQL a Windows Server 2008 Virtualization (Hyper-V)


Quienes me conocen, me habrán oido hablar de mi Laboratorio de casa. Entre otras cosas, dispongo de dos servidores gemelos dedicados a Microsoft Virtual Server 2005 R2 SP1, sobre los cuales monto mis máquinas virtuales para escribir mis artículos, realizar pruebas de laboratorio para los proyectos en que participo, etc. En este artículo, relato mi experiencia en la Migración a Windows Server 2008 RTM con Hyper-V, sobre uno y sólo uno de mis dos servidores gemelos dedicados Microsoft Virtual Server 2005 R2 SP1... y como siempre, en Español !! Hyper-V (Microsoft Virtualization) es la alternativa de Microsoft a las soluciones VMWare y XEN Virtualization (tanto la versión XEN de Open Source como la XEN de Cytrix).

Introducción al Laboratorio de GuilleSQL

Antes de empezar, voy a describir mi entorno de Laboratorio, con el fin de que podáis deducir en qué medida mis pruebas os resultan representativas. Poseo dos máquinas físicas gemelas dedicadas a Microsoft Virtual Server 2005 R2 SP1 (HOST01 y HOST02). Contienen un Procesador AMD Athlon 64 X2 5200+ (Dual-Core de 64 bits), con 4GB de RAM Kingston sobre una placa base ASUS M2N SLI Deluxe. Esta placa base destaca principalmente por disponer de 2 interfaces de red a Gigabit (soporta Teaming de Red, el de NVIDIA), 7 conectores Serial-ATA 2 (SATA-2), 2 conectores IDE, y soporte para RAID0, RAID1 y RAID5 (entre otros). Cada una de mis máquinas incluye 1TB en 3 discos SATA2. Todo esto ha sido adquirido en tiendas de informática y Hardware, disponibles para particulares. NOTA (08/11/2009): Estas máquinas han sido actualizadas para montar procesadores AMD Phenom Quad Core y aumentada la RAM a 8GB DDR2 800 Kingstone Hyper-X.

Al margen de estas dos máquinas, también dispongo de otras tres máquinas físicas para usos dispares (un Ubuntu Server, un Windows XP, y un Firewall), mi portátil personal y el portátil de empresa. No falta un Switch Gigabit Ethernet gestionable de Nivel 2, en particular un SMC8024L2, que incluye 24 vocas de cable de cobre (RJ45) a Gigabit (con soporte para 4 vocas de fibra a Gigabit también). Por supuesto un SAI (en particular un Yukai 1400), impresoras varias y escaner (una multifunción HP PSC 1610 y una HP Deskjet D2360), varios discos duros externos USB 2.0, un DVD externo (así me ahorro comprar unidades de DVD para cada máquina física ;-), un switch de Teclado Patalla Ratón (KVM) D-Link DKVM-4K, Router/Hub ADSL, etc. En fin, lo típico que suele haber en cualquier casa ;-)

Sobre las máquinas virtuales (las guest), hay un poco de todo, aunque principalmente son servidores Windows Server 2003 R2 SP2, hay también algún Windows Vista y algún Windows XP SP2. Sobre los Windows Server 2003 R2 SP2, existen máquinas con IIS, con Windows SharePoint Services (WSS), con SQL Server 2000, con SQL Server 2005, con Exchange Server 2003, con Directorio Activo, con Certificate Services, etc. Existen máquinas configuradas en Cluster (Microsoft Cluster MSCS), máquinas configuradas con Balanceo de Carga de Red (NLB), y máquinas independientes.

Laboratorio de GuilleSQL: Esta imagen muestra el Laboratorio de Guille SQL. Los servidores de color negro son los HOST de Máquinas Virtuales, y alrededor, tenemos otros tres equipos de color blanco, el switch, las impresoras, el SAI (abajo a la derecha), el router ADSL, el DVD externo USB, etc.


Por último, y para quienes no lo sepan, aprovecho para recordar que algunos de los principales argumentos de éxitos de la Virtualización, está en la reducción de costes de energía eléctrica, refrigeración y espacio físico en CPDs. En su día, a mi me sorprendió especialmente el detalle de la reducción de costes de energía eléctrica y refrigeración... pero claro, si tenemos en cuenta la cantidad de energía que consumen los servidores de empresa (ojo, no las estaciones de trabajo de estar en casa, como es el caso de mi Laboratorio) y lo vemos reflejado en las correspondientes facturas de carácter periódico que se cargan a las empresas, quizás sea más fácil entenderlo. Qué hablar, del metro cuadrado en una gran ciudad... jeje ;-) Además, la Virtualización permite mover fácilmente máquinas virtuales entre diferentes hosts físicos, con el fin de mejorar la disponibilidad y proteger frente a contingencias.

También aprovecho a recordar que Microsoft Windows Server 2008 Datacenter incluye derechos ilimitados de virtualización (al menos para máquinas virtuales Windows Server 2008 estoy seguro, tengo la duda para otras versiones de Sistema Operativo), permite hasta 64 procesadores y 2 Terabytes de RAM, admite Cluster MSCS de hasta 16 Nodos, permite el particionamiento dinámico del hardware (si la máquina sobre la que montamos Windows lo soporta, claro) de tal modo que a cada una de las particiones se les asignan sus propios procesadores, memoria y recursos de E/S incluso en caliente (aumentando la fiabilidad, disponibilidad y nivel de servicio), etc. Eso si, al menos yo encuentro a Microsoft Windows Server 2008 Datacenter un Sistema Operativo muy atractivo siempre y cuando lo montemos sobre un Hardware que dé la talla, como es el caso de grandes servidores HP Integrity Superdome, etc. (nada de servidores de gama baja como los HP Blades... para eso, mejor montar Linux sobre una XBOX con ModChip ;-).

Instalar Windows Server 2008 RTM y migrar a Hyper-V

Lo primero de todo, actualmente la versión disponible de Hyper-V está en Pre-Release. Es decir, está genial para laboratorios y testing, pero si alguno monta la versión Hyper-V en Pre-Release para entornos de Producción, corre un riesgo más que evidente.

También es interesante indicar que existen ediciones de Windows Server 2008 con Hyper-V y otras ediciones sin Hyper-V, es decir, tenemos que tener cuidado con el DVD que tenemos (o con el DVD que nos descargamos de MSDN ;-).

Antes de instalar Microsoft Windows Server 2008 RTM, realicé una copia en frío de todas las máquinas virtuales, es decir, parando Virtual Server (net stop "virtual server") copié todas las máquinas (bueno... los discos virtuales VHDs de las máquinas) para tener un plan de contingencia. Más vale prevenir.

Para instalar Microsoft Windows Server 2008 RTM, decidí defragmentar la partición de sistema de Windows Server 2003 y utilizar una de las muchas herramientas disponibles para "resizear" la partición de sistema desde sus 40GB iniciales a 16GB, y así disponer de espacio disponible para una nueva partición sobre la que instalar Microsoft Windows Server 2008 RTM. Instalé Windows Server 2008 RTM x64 (64-bits) en la edición DataCenter con Hyper-V y en inglés. Eso sí, en la instalación especifiqué la configuración Regional, de teclado, etc. conforme a mi país (España). Aquí comití un pequeño error, como pocos párrafos después veremos.

Una vez instalado Microsoft Windows Server 2008 RTM, aunque no tiene nada que ver con Hyper-V, me sorprendió que los discos de datos de mi servidor (las unidades E y F, cada una correspondiente a un disco de 400GB), no estaban disponibles. Desde la herramienta administrativa Disk Management pude comprobar que mis antiguos discos de datos estaban en estado OffLine, y por las mismas, cambié el estado de estos discos a estado OnLine. Fácil y sencillo ;-) También aproveché para dejar las letras de unidad como quería (es decir, como estaban cuando arrancaba la máquina con Windows Server 2003 R2 SP2 y Virtual Server 2005 R2 SP1).

Para instalar Hyper-V en nuestro servidor Windows Server 2008 RTM, debemos tener en cuenta que Hyper-V se trata de un Server Role, y como tal, lo podemos instalar con la opción Add Role de la herramienta Server Manager de Windows Server 2008. Esto es lo que tuve que hacer, y después de reiniciar, al comprobar el estado de Hyper-V desde la herramienta Server Manager, me encontré que uno de los tres servicios de Hyper-V no era capaz de iniciar, y se mostraba el siguiente error: The Hyper-V service is not available. ¿Y esto porqué? Pues por especificar la configuración Regional, de teclado, etc. de mi país durante la instalación, la que en ese caso, dicha configuración se aplica a todos los usuarios (a los usuarios del sistema como Local System, Administrator o Default User, y a los usuarios que definamos nosotros en el sistema). Otra cosa, es instalar todo en inglés, y una vez instalado, cambiar la configuración Regional del usuario Administrator (pero ojo, que así quedan el resto de usuarios en inglés). Para solucionarlo, seguí los siguientes pasos:

  • Desinstalar Hyper-V, es decir, quitar éste Server Role. Requiere Reiniciar.
  • Desde el Panel de Control, en la opción Regional and Language options, en la pestaña Format especificar English (United States). En la pestaña Location especificar United States. En la pestaña Keyboards and Language, click en el botón Change Keyboards, y especificar como lenguaje por defecto English (United States). En la pestaña Administrative, click en el botón Change system locale para especificar English (United States), y después click en el botón Copy to reserverd accounts, y especificar copiar las configuraciones regionales y de idioma a Default User Accont y a System accounts. Requiere Reiniciar.
  • Volver a instalar Hyper-V, es decir, añadir de nuevo el Server Role. Requiere Reiniciar.

Volvemos a lo de antes... se trata de una versión Pre-Release de Hyper-V. En cualquier caso, este problema lo he detectado sobre Windows Server 2008 RTM recién instalado, sin ninguna actualización aplicada (ni la KB 949219, ni ninguna otra). Un amiguete (ITScripting) me ha confirmado que a él no le ha ocurrido, y pensamos que la única diferencia es que el instaló el Role de Hyper-V después de ejecutar Windows Update para actualizar el Sistema Operativo, instalando en consecuencia varias actualizaciones (entre ellas, la KB 949216).

Una vez instalado y funcionando Hyper-V, intenté importar mis máquinas virtuales de Microsoft Virtual Server 2005 R2 SP1 a Windows Server 2008 Virtualization (Hyper-V), y no pude (o al menos, no encontré forma... el tiempo es un bien escaso). Lo que si pude, fue crear nuevas máquinas virtuales, utilizando sus discos virtuales (Virtual Hard Disk - VHD).

El hecho de mover máquinas virtuales a un Host diferente con Hyper-V, es una tarea mucho más sencilla (quiero decir, cuando los Host origen y destino son Hyper-V). Pero no es el caso.

Otra sorpresa que me encontré fue relacionado con los Discos virtuales (VHDs) en Hyper-V y las controladoras virtuales. En mis máquinas virtuales de Virtual Server 2005 R2 SP1, todos mis discos VHDs los tengo conectados sobre controladoras SCSI virtuales, incluyendo el disco VHD que utilizo para el boot de la máquina virtual (es decir, el disco desde el que arrancan las Windows). Bien, pues al menos con la versión actual (Pre-Release) de Hyper-V no es posible hacer botar a las máquinas desde discos VHD conectados a controladoras SCSI. El susto no es para tanto, ya que es suficiente con conectar el disco de arranque a una controladora IDE, y la máquina virtual arranca correctamente.

Una vez arrancada mi primera máquina virtual migrada desde Microsoft Virtual Server 2005 R2 SP1 a Windows Server 2008 Virtualization (Hyper-V), pude comprobar que no tenía tarjetas de red. Esta situación se debe a que por defecto al crear una máquina virtual en Hyper-V, se le agrega una tarjeta de red de tipo Network Adapter. Sin embargo, este tipo de tarjeta de red sólo es visible para el Sistema Operativo invitado (guest - el de la máquina virtual), si están instalado los Integration Components (el equivalente a la Virtual Machine Additions de Virtual Server). Por ello, podemos encontrar dos soluciones alternativas:

  • Desinstalar Microsoft Virtual Machine Additions de las máquinas virtuales migradas desde Microsoft Virtual Server R2 SP1 (requiere reiniciar la máquina virtual), para después poder instalar los Microsoft Hyper-V Integration Components (el equivalente a la Virtual Machine Additions de Virtual Server en Hyper-V, que además, también requiere reiniciar). El problema de esto, es que nuestra máquina virtual entenderá que no tiene disponibles sus antiguas tarjetas de red, y por el contrario, que dispone de nuevas tarjetas de red, por lo cual, deberemos reconfigurar manualmente al menos las propiedades de Red. Esta solución es la apropiada para utilizar las tarjetas virtuales de tipo Network Adapter (opción predeterminada) en vez de tarjetas virtuales de tipo Legacy Network Adapter, y ofrece mayor rendimiento, pero por el contrario requiere instalar Integration Components. Como truco, se pueden agregar a la máquina virtual, tanto tarjetas de red Network Adapter como tarjetas de red Legacy Network Adapter, ya que las Legacy las reconocerá como las antiguas tarjetas de red que tenía la máquina virtual en Virtual Server 2005, y así, al reconocer dichas tarjetas, será más fácil reconfiguar manualmente las nuevas tarjetas (recordar al final, eliminar las Legacy Network Adapter).
  • Agregar a la máquina virtual tarjetas de red de tipo Legacy Network Adapter, en vez de las de tipo Network Adapter. La principal ventaja de esta opción, es que la máquina virtual reconocerá las tarjetas de red como las que anteriormente tenía (cuando funcionaba en Virtual Server 2005), por lo cual, no será necesario reconfigurar la red manualmente. Además, este tipo de tarjetas de red es soportada por la mayoría (por no decir todos) de los Sistemas Operativos que podemos utilizar con Hyper-V, y es la única que funciona sin instalar Integration Components (ojo, que no existe Integration Componentes para todos los Sistemas Operativos).

Para la migración de mi primera máquina virtual, elegí la primera opción (todavía no había descubierto la segunda, pero aún así, es lo más apropiado).

Realizado todo esto, ya disponía de mi primera máquina virtual migrada desde Microsoft Virtual Server 2005 R2 SP1 a Windows Server 2008 Virtualization (Hyper-V). Migrada la primera máquina virtual, empiezo a migrar la segunda máquina virtual. Ahora, en vez de migrar un Windows Server 2003 R2 SP2, voy a migrar un Windows XP SP2. Creo manualmente una nueva máquina virtual, reutilizando los discos VHD existentes de la máquina original. Arranco la máquina virtual y desinstalo las Microsoft Virtual Machine Additions. Después de reiniciar, al intentar instalar los Microsoft Hyper-V Integration Components, obtuve un error que me indicaba que los Integration Services Components sólo está disponibles para Windows Server 2003 SP2 y Windows Server 2008. Para solucionar este problema, instalé la actualización de Hyper-V KB949219 a través de Windows Update (bueno, instalé esta actualización y alguna más que había disponible, pero es ésta la decisiva). Después de instalar está actualización, es necesario actualizar la versión de los Integration Services Components en las máquinas virtuales. Además, con esta versión se incluye soporte para Windows XP Service Pack 3 y Windows Vista Service Pack 1. En mi caso, la máquina que tenía que migrar era Windows XP Service Pack 2, por lo cual no podía instalar los Integration Components directamente. Windows XP Service Pack 3 no está actualmente disponible para descarga hasta dentro de pocos días, aunque sí está disponible para descarga desde TechNet. Una vez instalado el Service Pack 3 de Windows XP, la instalación de los Microsoft Hyper-V Integration Services Components fué correctamente.

Una vez que he migrado mis dos primeras máquinas virtuales, un Windows Server 2003 R2 SP2 que hace las funciones de Controlador de Dominio, y un Windows XP SP2 que subí a SP3 para poder instalar los Microsoft Hyper-V Integration Services Components, llega el siguiente reto: migrar el cluster de Exchange Server 2003. Como en casos anteriores, me volví a crear dos máquinas virtules nuevas, reutilizando para empezar sólo el disco virtual VHD de boot, para después desinstalar las Virtual Machine Additions y así poder instalar los Microsoft Hyper-V Integration Services Components. Seguidamente, reconfiguré manualmente las tarjetas de red (la de LAN y la HeartBeat). A continuación, conecté el disco de Quorum a uno de los Nodos, e inicié sólo ese Nodo. Comprobé que tras un rato, reconocía el disco, y mantenía letra de unidad, etiqueta de volumen y su contenido, y además, el servicio Microsoft Cluster se podía iniciar. Repetí el proceso con el otro Nodo. Hasta aquí bien, pero al intentar arrancar dos máquinas virtuales con el mismo disco virtual VHD conectado a las dos máquinas, se produce un error de acceso al disco compartido (en la actual versión de Hyper-V no se soportan ni las controladoras ni los discos virtuales VHD compartidos). El error que se presenta es: The process cannot access the file because it is being used by another process. Mi gozo en un pozo, ya que no existe la opción de marcar una controladora SCSI para utilizarla con discos compartidos. La solución alternativa es utilizar discos iSCSI, para lo cual deberemos instalar Microsoft iSCSI Software Initiator en las máquinas virtuales, e instalar también un iSCSI Target. Con esto, podremos definir los discos compartidos en nuestro iSCSI Target, y configurárselos a nuestras máquinas virtuales. Para más información sobre iSCSI y Microsoft Cluster, se puede consultar mi Artículo sobre Microsoft Cluster en Windows Server 2003.

Actualización 11/01/2010: Es posible importar los Discos Virtuales VHD de Virtual Server 2005 en Microsoft iSCSI Software Target, para de este modo, poder migrar las Máquinas Virtuales en Cluster, desde Virtual Server 2005 a Hyper-V (los discos locales los asignamos a través de Hyper-V, y los discos compartidos los asignamos a través de Microsoft iSCSI Software Target). Evidentemente, esto requiere de Windows Storage Server 2008 y Microsoft iSCSI Software Target, ambos disponibles para subscriptores de Technet y MSDN. Fin de la Actualización.

Llegados a este punto, me aventuré a cambiar la configuración regional y de idioma de mi usuario (el que utilizo para trabajar con Windows Server 2008, es decir, con el que me logo en la máquina), con el fin de dejarlo en Español. Reinicié la máquina, y comprobé que todo funciona correctamente, por lo que imagino (o puedo deducir) que el usuario que tiene que estar configurado en inglés, es el usuario utilizado para iniciar los servicios de Hyper-V, y que el resto de usuarios pueden tener la configuración regional que se desee (es lo lógico). O esto, o el problema anterior que tuve sólo ocurre si no se tiene instalada la actualización KB 949219.

Otra prueba que realicé fue la migración de una máquina virtual que ejecutaba Microsoft Windows Server 2003 SP1 Enterprise en castellano. El problema que me encontré es que al migrar la máquina con Microsoft Virtual Machine Addions ya instalado, no podía desintalarlo al arrancar dicha máquina en Hyper-V. Esto no me ocurrió con otras máquinas virtuales, es decir, es recomendable desinstalar Microsoft Virtual Machine Additions antes de migrar a Hyper-V para evitar posibles problemas en su desinstalación posterior.

También probé a instalar un Linux de 64-bits (arquitectura x64), en particular la distribución Linux OpenFiler. Genial, conseguí instalar un Linux x64 sobre una máquina virtual de Hyper-V sin ningún problema. Sin embargo, no tener instalado los Integration Components es una limitación, ya que implica no sólo un peor rendimiento de entrada/salida (tanto disco como red), sino que además, se limita el número de posibles discos (no se reconoce las controladoras virtuales SCSI). También es interesante para automatizar el shutdown del sistema operativo Guest con el apagado de la máquina, etc.

En lo relacionado a Microsoft Windows Vista, migré una máquina que tenía con éste sistema operativo. Tuve que instalar el Service Pack 1 de Windows Vista, con el fin de poder así instalar los Microsoft Hyper-V Integration Components. Sin embargo, la instalación de los Microsoft Hyper-V Integration Components, no fue del todo satisfactoria. Realicé dos acciones (no sé si fueron determinantes éstas dos acciones, o sólo la última): primero, con la utilidad msconfig.exe, en la pestaña Boot, click en el botón Advanced options, y finalmente seleccionar la opción Detect HAL (esta acción requiere reiniciar la máquina). En segundo lugar, desde la herramienta administrativa Device Manager, seleccioné actualizar el driver del controlador manualmente, y especifiqué de forma explícita la ruta correspondiente (ojo, que la máquina Host es x64 pero la máquina virtual es x86, por lo tanto, hay que utilizar los drivers de x86). Tuve que volver a reiniciar, pero ya quedó funcionando con la integración del ratón, detección de dispositivos sintéticos, etc.

He probado la opción de establecer el VLAN ID de las tarjetas de red virtuales, y no lo he conseguido, obteniendo el siguiente error: Error Applying Network Adapter Changes. The operation faile with error code 2147483647. The operation on computer ‘nombre_host’ failed. El switch ethernet que estoy utilizando soporta VLANs, por lo cual, sólo se me ocurre que se trate de algún problema con los controladores de la tarjeta de red integrada en mi placa base (una nvidia nforce), algo que tiene algo de sentido, ya que actualmente no existen controladores ni software de esta tarjeta para Windows Server 2008. Para salir de dudas, he adquirido una tarjeta de red gigabit ethernet SMC9542TX-1 (utiliza chipset de la familia Realtek RTL8169/8110), y se ha realizado cambio de VLAN ID con éxito sobre ésta tarjeta.

He probado a configurar el inicio y parada (shutdown) de las máquinas virtuales con el inicio y la parada del host físico, y el resultado ha sido exitoso. Las máquinas que he configurado así, son máquinas Windows Server 2003 SP2 o Windows XP SP3, con los Integration Components instalados. Una alegría, ya que con Virtual Server 2005 R2, con la parada del host físico, no se paraban las máquinas (al menos por defecto), y para salir del apuro en las pruebas que hize en su día, me limité ha realizar un script que realizaba un net stop del servicio de Virtual Server (con lo que consigo el efecto deseado) y un shutdown. Por suerte, ahora es más sencillo.

Una vez migrado mi primer servidor virtual a Windows Server 2008 con Hyper-V, y aprovechando que dispongo de dos máquinas gemelas, he realizado la prueba de copiar a través de la red una ISO de 700GB aproximadamente (la ISO de Windows XP con SP2 en inglés, descargada de la MSDN) en la misma máquina virtual (bueno... casi.... he utilizado un Domain Controller que tengo bajo Virtual Server y el otro Domain Controller que tengo bajo Hyper-V, que son prácticamente gemelos). El resultado ha sido el siguiente:

  • Con Virtual Server 2005 R2 SP1 x64 sobre Windows Server 2003 x64: 25 segundos.
  • Con Windows Server 2008 x64 con Hyper-V (Microsoft Virtualization): 35 segundos.

Sorprendente, sobre todo porque son dos máquinas gemelas !! Pero tranquilos, que hay truco !! Con Microsoft Windows Server 2008 con Hyper-V, para cada tarjeta física del Host que utilizamos para virtualización, se crea una tarjeta "virtual". Es decir, si tenemos dos tarjetas físicas y una de ellas la utilizamos para virtualización, si comprobamos en Conexiones del Panel de Control, podremos observar tres tarjetas de red (las dos físicas y la "virtual"). Bien, pues es necesario desactivar TOE sobre la tarjeta virtual (no confundir con las tarjetas de red de las máquinas virtuales - Guest). En las propiedades de ésta tarjeta de red, deberemos desactivar las opciones avanzadas IP Checksum Offload (IPv4), TCP Checksum Offload (IPv4) y UDP Checksum Offload (IPv4). Ahora, al repetir la misma prueba observamos:

  • Con Virtual Server 2005 R2 SP1 x64 sobre Windows Server 2003 x64: 25 segundos.
  • Con Windows Server 2008 x64 con Hyper-V (Microsoft Virtualization) con TOE activado: 35 segundos.
  • Con Windows Server 2008 x64 con Hyper-V (Microsoft Virtualization) sin TOE activado: 14 segundos.

Hemos bajado el tiempo a menos de la mitad !! Y además, por si a alguien le interesa, es lo mismo que tarda una máquina VMWare sobre Linux corriendo sobre éste mismo hardware (que ganas tenía de poder decirlo, COÑO ;-).

Resumen de la experiencia de Migración a Hyper-V

A continuación, incluyo un pequeño resumen de la experiencia de la migración realizada:

  • Antes de iniciar la migración, realizar una copia de seguridad en frío de las máquinas virtuales (net stop "virtual server"), y documentar la configuración de cada máquina virtual (número de tarjetas de red, nombre y configuración de las tarjetas de red en el Guest, dirección IP y resto de configuraciones de red en el Guest, cantidad de memoria RAM asignada, tarjetas SCSI, discos virtuales, etc.). También es buena práctica, desinstalar Microsoft Virtual Machine Additions antes de migrar, debido a que es posible que después de migrar las máquinas virtuales a Microsoft Windows Server 2008 Virtualization (Hyper-V) no podamos desinstalarlo (en algunos casos se produce un error y no se consigue desinstalar, aunque en otros casos es posible su desinstalación sin problemas... más vale prevenir).
  • Hyper-V se encuentra actualmente en Pre-Release.
  • Hyper-V es un Server Role de Windows Server 2008.
  • Hyper-V permite máquinas virtuales con grandes cantidades de memoria (hasta 64Gb), máquinas virtuales con hasta 4 CPUs (soporte SMP: multiprocesamiento simétrico; pero sólo si son Windows Server 2008 o Windows Server 2003 x86, al menos en la Pre-Release de Hyper-V) y máquinas virtuales de 64 bits. Esta es una gran mejora frente a Microsoft Virtual Server 2005 R2 SP1.
  • Puede ser necesario habilitar el soporte para virtualización en la BIOS del equipo (depende del hardware).
  • Instalar Windows Server 2008 en inglés, con todas las características Regionales y de Teclado en inglés, como se indica anteriormente en el presente artículo, con el fin de evitar problemas al instalar el Server Role de Hyper-V (al menos, es así con Windows Server 2008 RTM recién instalado, sin ninguna actualización, tampoco la KB 949219).
  • Instalar la actualización KB 949219, con el fin de mejorar la estabilidad de Hyper-V y de ampliar el soporte de sistemas operativos Guest como Windows XP Service Pack 3 (que sale en unos días, ahora sólo disponible para subscriptores de TechNet) y Windows Vista Service Pack 1 (de serie, la Pre-Release de Hyper-V sólo soporta Integration Components para Windows Server 2003 SP2 y Windows Server 2008). Después de instalar está actualización, es necesario actualizar la versión de los Integration Services Components en las máquinas virtuales. Es importante recordar que sin los Microsoft Hyper-V Integration Components instalados en nuestra máquina virtual, no reconoceremos controladoras SCSI, discos conectados a controladoras SCSI (por lo tanto, sólo los discos IDE), ni tarjetas de red (excepto la Legacy Network Adapter). Existe una versión Beta de Integration Services para Linux (actualmente descargable desde connect.microsoft.com, y sólo disponible para SUSE 10 Enterprise).
  • No he podido reutilizar las máquinas virtuales (los fichero VMC). Tan sólo he podido reutilizar sus discos virtuales (Virtual Hard Disk - VHD).
  • Con la versión actual de Hyper-V no es posible hacer botar a las máquinas virtuales desde discos VHD conectados a controladoras SCSI.
  • Con la versión actual de Hyper-V es posible expandir los discos VHD (es decir, aumentar el tamaño), sin recurrir a herramientas de terceros como vmToolkit (ver mi artículo Aumentar tamaño de un disco VHD de Virtual Server 2005 R2 SP1: vmToolkit), como ocurría con Microsoft Virtual Server 2005 R2 SP1. Esto es una ventaja más frente a Virtual Server 2005 R2 SP1
  • Me sorprendió que las interfaces de red que aparecen en la máquinas virtuales con Microsoft Windows Server 2003 R2 SP2 en Hyper-V después de instalar los Integration Services Components, aparecen como tarjetas de Red de 10Gbps. En cualquier caso, probé a copiar una imagen ISO de unos 600Mb, y me sorprendió que fuese más rápido Virtual Server (25 segundos) que Hyper-V (35 segundos). Creo que esto fue debido a problemas con los controladores de mi tarjeta de red en Microsoft Windows Server 2008, más que por problemas propios de Hyper-V, pero todavía no lo he podido comprobar empíricamente. También me sorprendió que en el caso de Windows XP SP3 con los Integration Components instalados, las tarjetas de red Network Adapter se muestren como tarjetas de Red de 1,4Gbps.
  • Con la versión actual de Hyper-V no se soportan los discos virtuales VHD compartidos ni las controladoras SCSI virtuales compartidas. En consecuencia, no se puede construir de forma autónoma un Cluster MSCS de la forma en que se construía con Virtual Server 2005 (con controladoras SCSI compartidas y discos VHD compartidos). La solución alternativa es utilizar discos iSCSI, para lo cual deberemos instalar Microsoft iSCSI Software Initiator en las máquinas virtuales, e instalar también un iSCSI Target. Con esto, podremos definir los discos compartidos en nuestro iSCSI Target, y configurárselos a nuestras máquinas virtuales. Para más información sobre iSCSI y Microsoft Cluster, se puede consultar mi Artículo sobre Microsoft Cluster en Windows Server 2003. Aprovecho para recordar, que Linux OpenFiler (un iSCSI Target gratuito en forma de distribución de Linux), se puede montar sin problemas sobre Hyper-V.
  • Según la documentación de Microsoft, Hyper-V está disponible en instalaciones Server Core de Windows Server 2008. En las pruebas que he realizado hasta el momento, no lo he podido probar. A priori, se muestra como la mejor opción de instalación para un servidor Microsoft Windows Server 2008 Virtualization.
  • Según la documentación de Microsoft, en la nueva arquitectura de hypervisor en microkernel, los drivers se alojan en la partición padre. Esto, junto con un nuevo modelo de E/S, ofrece máquinas virtuales más seguras y un mayor rendimiento.
  • He intentado configurar las VLAN ID en las tarjetas de red de mis máquinas virtuales, sin éxito (obteniendo un error 2147483647). Sin embargo, tengo la impresión que puede tratarse de un problema con los controladores de mis tarjetas de red en Windows Server 2008 (unas NVIDIA NFORCE). Al realizar ésta prueba sobre otra tarjeta de red (también de gigabit, una SMC con chipset Realtek) el resultado ha sido exitoso, siendo ésta otra gran ventaja frente a Virtual Server 2005 R2 SP1, principalmente en medianas y grandes empresas.
  • He probado con éxito la configuración de inicio y parada de las máquinas virtuales con el inicio y parada del host físico. Una mejora, frente a Virtual Server 2005 R2 SP1.
  • Microsoft Windows Server 2008 Datacenter incluye derechos ilimitados de virtualización, permite hasta 64 procesadores y 2 Terabytes de RAM, admite Cluster MSCS de hasta 16 Nodos, permite el particionamiento dinámico del hardware de tal modo que a cada una de las particiones se les asignan sus propios procesadores, memoria y recursos de E/S incluso en caliente (aumentando la fiabilidad, disponibilidad y nivel de servicio), etc.
  • Desactivar TOE. He experimentado una sensible mejora de rendimiento al desactivar TOE (IP Checksum Offload (IPv4), TCP Checksum Offload (IPv4) y UDP Checksum Offload (IPv4)). Con Microsoft Windows Server 2008 con Hyper-V, para cada tarjeta física del Host que utilizamos para virtualización, se crea una tarjeta "virtual". Es decir, si tenemos dos tarjetas físicas y una de ellas la utilizamos para virtualización, si comprobamos en Conexiones del Panel de Control, podremos observar tres tarjetas de red (las dos físicas y la "virtual"). Bien, pues es necesario desactivar TOE sobre la tarjeta virtual (no confundir con las tarjetas de red de las máquinas virtuales - Guest).


Comentarios

Rony - 19/01/2011 (UTC)
Excelente articulo! Guille, si tuvieras por ahi informacion paso a paso de como realizar un laboratorio de Cluster Failover con SQL Server 2008 R2 en ambiente virtualizado, dado que no tengo el hardware requerido.

Agradeciendo de antemano tu ayuda.


GuilleSQL - 19/01/2011 (UTC)
Hola Rony,

Entiendo que quieres montarte el Cluster con Windows Server 2008 R2, en ese caso, lo más parecido que tengo son los siguientes artículos:

https://guillesql.es/Articulos/Configurar_Cluster_HyperVR2_Windows_Server_2008_R2_CSV_Live_Migration_Parte_I.html
https://guillesql.es/Articulos/Configurar_Cluster_HyperVR2_Windows_Server_2008_R2_CSV_Live_Migration_Parte_II.html
https://guillesql.es/Articulos/Configurar_Cluster_HyperVR2_Windows_Server_2008_R2_CSV_Live_Migration_Parte_III.html

Hablan sobre como montarse un Cluster para Hyper-V R2, pero buena parte es común para un Cluster de Windows Server 2008 R2, con independencia de qué se monte por encima (ej: Exchange).

Sobre info del Failover Cluster de Windows Server 2008 y de la R2, tengo esto:

https://guillesql.es/Articulos/Failover_Cluster_Windows_Server_2008.html
https://guillesql.es/Articulos/Failover_Cluster_Windows_Server_2008_R2.html

Una vez creado el Cluster, tendrás que instalar SQL Server 2008 R2. Si mal no recuerdo, instalar SQL Server en un nodo primero para crear el Cluster, y luego en el otro para añadir el segundo nodo al Cluster, pero no tengo ningún artículo que lo explique, al menos, de momento. Tengo uno de SQL Server 2005, pero cambia, ya que antes se ejecutaba una única vez la instalación de SQL Server, y el installer lo montaba en los dos nodos, pero ahora no es así. Por si quisieras verlo:

https://guillesql.es/Articulos/Instalar_SQLServer_SSAS_SSIS_Cluster.html

Te paso un enlace de la web de Salvador Ramos, que habla sobre la instalación de SQL Server 2008 R2.

http://www.sqlserversi.com/2010/12/instalar-sql-server-2008-r2.html

Si querías montar el Cluster sobre Windows Server 2003 R2, tengo esto:

https://guillesql.es/Articulos/Instalar_Configurar_Microsoft_Cluster_MSCS_Windows_2003.html

Bueno, espero que estos enlaces puedan servirte u orientarte en algún modo, aunque como te comentaba, no tengo escrito estrictamente lo que me pides... sólo algunas cosillas sueltas...

Saludos !
Guille


MarGo - 08/04/2011 (UTC)
hola guille, me gusta mucho tu sitio, es muy interesante y me ha rescatado varias veces, ahora eh decidido participar y me gustaria mucho si me pudieras ayudar a despejar mi duda...

Tengo una maquina con server 2008 con hyper-v, y me gustaria poderme conectar via remota directamente a la maquina virtual,
sin tener primero que conectarme a la fisica.

agradezco la ayuda.


GuilleSQL - 08/04/2011 (UTC)
Hola,

Lo habitual, es que la Máquina Virtual esté en red, y te puedas conectar por RDP, es decir, una conexión de Terminal Services o Escritorio Remoto de toda la vida.

La otra opción, es conectarte a la Consola de la Máquina Virtual. Aquí depende un poco cómo lo tengas montado. Si utilizas Virtual Machine Manager 2008 R2 como herramienta de gestión de tu infraestructura de Hyper-V, puedes instalarte sus herramientas de cliente en tu PC, y con ellas, conectarte a la Consola de una Máquina Virtual. La otra opción, es instalarte en tu PC las herramientas administrativas, en particular, el Hyper-V Manager.

Saludos !
Guille



Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Marzo de 2019 (1)
Octubre de 2018 (1)
Julio de 2018 (1)
Junio de 2018 (4)
Mayo de 2018 (5)
Abril de 2018 (3)
Marzo de 2018 (2)
Febrero de 2018 (7)
Enero de 2018 (1)
Diciembre de 2017 (15)
Noviembre de 2017 (7)
Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.