Cómo configuré mi cluster SQL HA Windows en mi casa. ¡Te explico cómo!

¡Hola Hi-Techeros! Todos sabemos lo complicado de compaginar trabajo con pequeños proyectos que mantenemos en nuestro tiempo libre y que sin duda cuestan doblemente, dado que se no terminamos nunca de despegar nuestra vista de una pantalla durante casi 16 horas.

Bueno el reto que planteamos hoy era el de cómo configurar un cluster SQL HA Windows en un entorno casero, si algo que todos queremos hacer cuando llevamos tantas horas fuera de casa (ironía).

Pues sí, durante el pasado fin de semana, me propuse aprovechando que estaba de Rodriguez en casa, casi tan feliz como Macaulay Culkin en Solo en casa a trastear con un entorno de virtualización desplegado sobre VMWare Workstation.

Mi inspiración para decidirme a montar este laboratorio con cluster Windows

Ya estaba con la mosca detrás de la oreja, aunque a decir verdad, estaba más interesado inicialmente en comprarme un Intel NUC chiquitito, y dotarlo de RAM para finalmente, instalar un VMWare ESXi. Los gastos que conllevaban dicho proyecto, me hicieron replantearme mis objetivos y finalmente me decanté por la opción casera para montar mi mini-cluster SQL HA Windows.

Las ventajas eran muchas, dado que partía del hardware propio de mi PC, y tan sólo debía conseguir el software indicado para el laboratorio y algunos detalles que trataré más adelante acerca del almacenamiento iSCSI.

Mis objetivos para montar mi escenario casero

La idea era magnífica, pero difícil de implementar:

  • Quería tener la posibilidad de montar un escenario de alta disponibilidad.
  • No tenía la intención de comprarme un servidor físico para hacer mis frikadas
  • Sólo disponía de 48-72 horas antes de que mi mujer y mi hijo volvieran de Madrid y debía restar las horas de limpieza general causada por el “efecto Rodríguez” de una semana de haragán…

Si, tarea harto difícil para qué negarlo. Todo se ponía en mi contra pero disponía de las ganas, motivación, un día de perros que me impedía salir de casa y por supuesto, buenas provisiones (cerveza, café y chino del día anterior…)

Objetivos técnicos para montar el cluster SQL HA Windows casero

Para la realización de este cluster SQL en alta disponibilidad debía cumplir una serie de pasos y requisitos:

Puntos importantes del escenario

  1. Instalar y configurar los servidores Windows 2008 R2 en un directorio activo (AD o Active Directory)
  2. Cuando llegue el momento de configurar el controlador de dominio, osaremos el comando “dcpromo“.
  3. El escenario quedará establecido por un DC (controlador de dominio) y dos servidores miembros que harán las funciones de servidores de aplicaciones en este caso SQL.
  4. Instalaré el Cluster en Failover en ambos miembros.
  5. Debemos configurar discos adicionales para que funcione correctamente nuestro servidor de aplicaciones en clustering.
  6. Tenemos que configurar un array de discos simple usando la funcionalidad de “iSCSI3 persistent drive connection“.

Parada en el camino, momento de las preguntas:

¿Qué es eso de  iSCSI? Pues es un protocolo SAN “fiber channel” diseñado originalmente para el uso de soluciones de almacenamiento (System Area Network) para empresas. Obviamente, nosotros nos vamos a mover en una solución muy inferior a las soluciones empresariales, pero para nuestro objetivo, nos sobra.
De hecho, vamos a simular este tipo de conexión SAN solo para poder hacer funcionar nuestro cluster y que la funcionalidad de alta disponibilidad opere correctamente usando un almacenamiento compartido.

Los elementos que formaban parte de mi escenario

  • Un ordenador, como el que tienes en tu casa con 16 Gigas de Ram.
  • Un disco SSD para que haya la mínima latencia a la hora de cargar las máquinas virtuales.
  • El sistema operativo de mi PC anfitrión era un simple Windows 8.1 que tenía más bugs que la madre que lo parió, pero para el caso era lo de menos.
  • VMware® Workstation 12 Pro, cuestión de gustos, podrías haber usado VirtualBox.
CPUZ casero
CPUZ casero
  • El software empleado en los servidores del Cluster SQL HA Windows era Windows 2008 R2 Datacenter. (Lo usé para instalar el controlador de dominio y los dos nodos SQL en alta disponibilidad).

Contratiempos que he tenido a la hora de implementar este escenario de Cluster SQL

Como en todos los proyectos, no todo es de color de rosa, y en este, aunque fuera un proyectito casero, me encontré con algunos contratiempos que he tenido por ser demasiado confiado y bajar la guardia.

Si, muchos dirán que es un simple laboratorio de 3 servidores sin nada más, pero creerme que tener un perro que te da por culo cada 10 minutos es un reto que cualquier SysAdmin tiene que tener en cuenta 🙂

Además, los fines de semana suelo estar algo espeso y no empiezo a ser persona hasta el Domingo… si, justo cuando nos toca prepararnos para ir a empezar un nuevo y glorioso Lunes.

Bien, los grandes escollos que me encontré fueron:

  • Funcionalidades de Cluster no soportadas en algunos Windows Server. Me encontré que después de implementar las 3 máquinas virtuales, estas no soportaban implementar el rol de Failover Cluster, con lo que decidí con mi santa paciencia de empezar de nuevo.
  • iSCSI virtual. Debía implementar un almacenamiento pero no contaba con discos iSCSI, con lo que opté por una opción casera, haciendo honor a mi laboratorio cluster SQL HA Windows. Todo lo solucioné con un programita disponible desde la web de Microsoft que te ayuda a crear unidades iSCSI Target.
  • Versión de SQL Cluster no soportadas. Me encontré instalando un sin fin de versiones de SQL Server para encontrarme cientos de mensajes de incompatibilidad o de errores, para que finalmente instalar una iso que me encontré casi de rebote…
  • Mi perro dando por saco todo el fin de semana… (me ahorro más detalles, los que tienen una mascota en casa saben lo que és… 🙂 )

¿Pero qué recursos tenía tu máquina virtual?

Podía haber jugado mucho más con el tema de recursos, pero lo cierto es que los problemas de compatibilidad de versiones de Windows para configurar el Cluster hicieron que se me quitasen las ganas de seguir probando con otras opciones de configuración de VMWare Workstation.

No obstante para los más curiosos, os dejo una captura de pantalla de como se quedó la cosa (ya sabéis para acceder a estas opciones de configuración, basta con dar botón derecho sobre la MV, e ir a “Settings”):

especificaciones técnicas de mis máquinas virtuales Vmware Workstation
especificaciones técnicas de mis máquinas virtuales Vmware Workstation

Fijaos que otra de las peculiaridades de mi escenario es que el adaptador de red lo dejé como NAT, por lo que condicionó a la hora de configurar el resto de opciones de red de cada uno de los elementos, porque la ruta por defecto debía establecerse con VMnet asociado a esa configuración.

Resumen de esta experiencia y objetivos a cumplir

Este es más o menos a groso modo, lo que queremos montar en nuestro escenario casero pero matón.

En el siguiente recuadro podremos encontrar el resto de procesos que hacen falta para continuar con esta aventura del Clustering SQL de andar por casa.

Espero que lo disfrutéis tanto como lo he hecho yo durante la creación de las máquinas virtuales.

Si queréis más contenido como el que os he mostrado, no dudéis en compartirlo en las redes sociales y prometo subir en breve, un pdf de todo el proceso para que os resulte más sencillo de seguir, paso a paso (como una receta de cocina de Karlos Arguiñano 🙂 )

 Instalando las MV (1)  Instalando las MV (2)
 Crear discos iSCSI en Windows

 

¡Gracias por todo Hitecheros!

Dejar respuesta

Please enter your comment!
Please enter your name here