Tag Archive: alta disponibilidad


 

Hyper-V R2 tiene la funcion de brindar Alta Disponibilidad a nuestras maquinas virtuales en el siguiente esquema funcional vemos como funciona:

 

Algunos de lso beneficios:

  • Reducción de Costos: consolidando sus servidores obtiene un ahorro sustancial en inversión de equipamiento, manteniendo las mismas funcionalidades y performance actuales, como así también el ahorro energético y de espacio que esto implica.
  • Mejoras en la Productividad: esto se logra dado que la virtualización simplifica la administración de servidores, pudiendo automatizar gran cantidad de operaciones de IT.
  • IT Siempre Disponible: utilizando nuestra solución se asegura que su negocio siempre este en funcionamiento, esto se traduce en incremento de ingresos, como así también en la Seguridad, yen la recuperación de datos ante desastres.

En particular, en el mundo Microsoft existen tres tecnologías diferentes para cada uno de estos tipos de clustering. Dos de ellas están incluidas en Windows Server, y la otra en una edición especial.

  • Failover Cluster: Conocido también como MSCS o de almacenamiento compartido. Se utiliza para dotar de alta disponibilidad por tolerancia a fallos de servicios que por lo general tienen una dependencia del almacenamiento. Ejemplos de esto serían bases de datos, buzones de correo, máquinas virtuales, etc.
  • Clústeres de NLB (Network Load Balancing): Pensados para dotar de alta disponibilidad por tolerancia a fallos y escalabilidad a servicios de red. El ejemplo más frecuente son granjas Web o de Terminal Services. Se asume que todos los frontales tienen la información que sirven a los clientes correctamente replicada o en un repositorio central o back-end (generalmente este en Failover Cluster).

En adelante nos vamos a centrar únicamente en Failover Clustering y su relación tanto con los hosts de hyper-V como con las VMs que montemos encima. Distinguimos entonces:

  • Host Clustering: de 2 a 16 nodos con Hyper-V funcionando conjuntamente de modo que las Máquinas Virtuales puedan pivotar entre ellos, según sea necesario:
    • Bien por una caída no planificada del Host que la alberga. En este caso la VM reiniciará en alguno de los hosts del cluster automáticamente
    • Bien de manera manual o automática, por un mantenimiento planificado del host, o porque queramos redistribuir de forma diferente las cargas de trabajo entre los nodos del cluster. Esto es lo que hoy en día conocemos por Quick Migration, y en Windows Server 2008 R2 podremos hacer también con Live Migration.
  • Guest Clustering: Esto se refiere a un Failover Cluster en el que los diferentes nodos del mismo son máquinas virtuales corriendo en Hyper-V. Rizando el rizo puedes tener guest clustering en HA, es decir que las VMs que componen el cluster virtual, estén albergadas a su vez en un host cluster de Hyper-V

Vamos a tratar de aclarar las dudas más frecuentes que suelen surgir sobre todo esto:

Host Clustering

Creo que esto se entiende fácilmente simplemente diciendo que es la combinación de la característica (role) de Hyper-V y la funcionalidad (feature) de Failover  Cluster incluidos en Windows Server 2008 x64 Enterprise y Datacenter. La configuración hardware más típica para montar esto consiste en:

  • Almacenamiento compartido (típicamente SAN, con Fiber Channel, iSCSI o SAS, aunque este tipo de tecnologías proliferan). Muy importante en este punto y en lo que sigue: Windows Server 2008 NO SOPORTA Failover Clustering usando el tradicional bus SCSI
  • De 2 a 16 servidores que tienen la capacidad de acceder a un cierto numero de LUNs expuestas a todos ellos por el almacenamiento compartido
  • Dos o tres subredes diferentes para gestión, acceso publico y heartbeat.

Por suerte, puedo ahorrarme el hacer un paso a paso de la creación de un cluster de Hyper-V porque abundan. Si que creo que es importante referenciar la documentación que considero “autoritativa” para ello:

Hyper-v  configurado para “Alta disponibilidad” con pocos recursos = export + import + diskshadow + robocopy

Primero que todo aclarar un poco el titulo “alta disponibilidad”, ya que realmente no trataremos de alta disponibilidad, ya que no tenemos un storage ni un cluster.

Este articulo tratará el caso típico de una PYME que implementa Hyper-v en 2 host Físicos,  para crear Vms

La típica pregunta del Cliente

¿ Que pasa si falla uno de los host físicos ? R: Caen todas las maquinas virtuales que estaban en ese servidor físico, ya que no se encuentran en una solución de alta disponibilidad.

¿ Puedo estar preparada ante una caída de uno de los servidores físicos ? R: SI , realizando periódicamente Export e imports de las máquinas entre los host físicos

¿ El proceso de export detiene la máquina ? R: SI, con lo cual se pierde la conexión a esta

Cliente : mmmmmmmmmmm

¿ Puedo respaldar las máquinas sin que estas pierdan conexión “Hot Backup ” ? R: SI, lo puede hacer con System Center DPM 2010 (muchos doalres en licencia)  o simplemente con la herramienta de línea de comando DiskShadow

Cliente 🙂

Pcampos:  ¿ Le propongo una solución ?

Paso 1 : Crearemos un Export de cada una de las maquinas virtuales y lo importaremos en el otro host físico y las dejaremos apagadas

Paso 2 : Crearemos una tarea programada con diskshadow el cual realizara un SnapShot de Disco, para así poder extraer los discos duros VHDs de las máquinas virtuales y trasladarlos al otro host físico y dejarlos en la misma ruta de la maquina virtual importada anteriormente

El diagrama seria el siguiente

image

Como Pueden ver el VMHOST1 tiene las maquinas VM1,VM2,VM3,VM4 en estado Encendido y las maquinas VM4,VM5.VM6,VM7 en estado apagado

Entonces el VMHOST2 tiene todo al revés, las maquinas VM4,VM5.VM6,VM7 en estado prendido y  las maquinas VM1,VM2,VM3,VM4 en estado apagado.

¿ Como llegamos a eso ? Simplemente realizando un Export en las maquinas de origen y realizando un Import en el host de destino, es decir una sola vez perdimos conectividad con nuestras maquinas

Exportación de Maquina Virtual

image

Exportamos la máquina a una carpeta local y después la movemos al VMHOST1 a la carpeta C:\maquinas\VM1

Importación de Maquina Virtual en VMHOST1

image

image

Entonces quedaría así el VMHOST1

image

y el VMHOST2

image

Realizaremos solo un ejemplo con la máquina VMH1 que se esta ejecutando en el VMHOST1 y esta apagada en el VMHOST2

La ruta de la maquina virtual en el VMHOST1 es C:\maquinas\VM1\ y la ruta del de la maquina virtual vm1 “apagada” en el VMHOST2 es C:\maquinas\VM1\

Ahora crearemos los scripts para hacer un HOT backup del disco C: del disco del VMHOST1

Nos creamos un archivo de texto RespaldaHypervDiskshadow.txt, este archivo lo guardaremos en C:\

———————RespaldaHypervDiskshadow.txt——————————
Delete Shadows all
set context persistent
set verbose on
add volume C: alias MaquinasVirtuales
create
Expose %MaquinasVirtuales% Q:
exec C:\HypervBK.bat
Delete Shadows all
unexpose Q:
Exit

————————————————————————–

Nos creamos otro archivo .bat llamado HyperBK.bat, el cual realizara una copia atreves de la red de la máquina VM1 a al VMHOST2 “la letra Q es donde se monta la instantánea de disco”, este archivo lo guardaremos en el disco D:\

————————-HypervBK.bat————————————————–
robocopy “Q:\maquinas\VM1 \\VMHOST2\C$\maquinas\VM1 *.vhd /E verify >nul
——————————————————————————————

Finalmente dejamos una tarea programada todos los dias en la noche con el siguiente comando

diskshadow -s C:\RespaldaHypervDiskshadow.txt

PD: Para que esto funcione correctamente, el nombre de la red al cual esta conectada nuestra maquina virtual, debe ser la misma en ambos servidores