Select Page

Crear un failover cluster

Crear un failover cluster

Si hay algo en el día a día de un administrador de sistemas con lo que debamos lidiar es con las caídas del servicio. Por ello debemos diseñar e implementar sistemas que tengan tolerancia a fallos para mitigar, dentro de lo posible, estas caídas. Hoy os voy a mostrar cómo montar un failover Cluster básico para tener nuestros servicios siempre funcionando.

Presentación del Entorno

art cluster00Antes de nada vamos a ver el diseño de la infraestructura que queremos conseguir. Como veis en la imagen de la derecha, queremos montar un failover cluster con dos nodos que mas tarde usaremos para un SQL, aunque el uso que le demos es lo de menos.

Veamos con mas detalle cada componente empezando por abajo. Lo primero que nos encontramos es el sistema de almacenamiento compartido. Como no tenemos una cabina de almacenamiento, hay que tirar con lo que se tiene :). En mi caso tengo un NAS Synology (DS112j por si os interesa el modelo) que tiene un sistema iStorage que me permite crear Luns y presentárselas a los servidores mediante iSCSI Targets de Windows. Gracias a esto puedo crear un Cluster sin tener que crear una máquina virtual adicional con Windows Storage. Así me ahorro un máquina virtual en mi Servidor :).

En nuestra “cabina” hemos creado 2 Luns. Una de ellas será nuestro Quorum y la otra la usaremos para los datos del servicio que albergue nuestro Cluster. La comunicación entre la “cabina” y los nodos se hará por una red dedicada a la que hemos llamado iSCSI LAN. Esta red está conectada a cada nodo del Cluster, sin embargo las Lun’s sólo son visibles por uno de los nodos. De ahí que uno de los lados esté pintado con una línea discontinua.

art cluster01Si subimos de nivel, vemos que los nodos del Cluster están interconectados entre si por una red privada, llamada Heartbeat LAN, que será la encargada de comprobar el estado de cada nodo para detectar las caídas del servicio.

Nuestro cluster se llamará cluster01 y estará conectado con el dominio (atlantis.local) y el controlador de dominio (vmdc01) que lo controla todo.

Preparativos Previos

Para nuestros nodos del Cluster vamos a montar dos máquinas virtuales idénticas con la única particularidad que le añadiremos 2 tarjetas de red conectadas a redes privadas distintas. Le cargamos el disco con nuestra plantilla del sistema operativo y ya tenemos nuestra primera máquina para el Cluster. Repetiremos esta operación para crear la siguiente de manera que las dos máquinas sean exactamente iguales. Tras iniciarlas y ponerles un nombre, las hemos configurado la red de la siguiente manera:

Nodo1: SQL01 Nodo2: SQL02
Domain LAN – 192.168.1.21 Domain LAN – 192.168.1.22
 Heartbeat LAN – 10.51.1.21 Heartbeat LAN – 10.51.1.22
 iSCSI LAN – 10.52.1.21 iSCS iSCSI LAN – 10.52.1.22

art cluster02Con el nombre y la red, ya solo nos quedaría meterlas en dominio para estar casi listoart cluster03s para empezar. Digo casi porque en nuestro caso, debemos habilitar los iSCSI Initiators para poder conectar el almacenamiento con los servidores. Nos vamos a Herramientas Administrativas y ahí abrimos iSCSI Initiators. La primera vez que lo abramos nos indicará que el servicio está parado y si queremos levantarlo. Le decimos que sí y accedemos a la ventana principal. Ahora debemos escribir en “Target“, la IP de nuestro iSCSI Server para poder conectar nuestro servidores con nuestra “cabina”. Pulsamos en “Quick Connect” y se nos abrirá una ventana con el nombre que tiene el iSCSI Target. Pulsamos en Done y ahora aparecerá en la lista de “Discovered Target” en estado “Connected“.

Poart cluster04r comprobar que todo está bien, podemos pulsar en devices y se abrirá una ventana en la que mostrará los discos que este iSCSI Target tiene asociados. Si todo está correcto podemos cerrar estas ventanas.

Lo siguiente que haremos es inicializar estos nuevos discos y crear los volúmenes.

Abrimos el Server Manager (en cualquiera de los dos nodos) y nos vamos a la peart cluster05staña de “File and Storage Services“. Seleccionamos “Disks” y veremos los discos que tiene nuestro Servidor. Como es lógico aparecen desconectados por lo que los ponemos online (botón derecho y “Bring Online“), después hay que inicializarlos (botón derecho e “Inicialize“), y por último creamos el volumen (botón derecho “New Volume“).

art cluster06Ya sólo nos queda habilitar la característica de Cluster para empezar a montar nuestra infraestructura de alta disponibilidad. Damos por hecho que habilitar/deshabilitar roles y características no será un problema para vosotros, por lo que pasaremos rápidamente de este punto. No obstante, por si os interesa os dejamos la manera de hacerlo mediante PowerShell ya que nunca está de más tenerlo a mano:

Tras realizar todos estos pasos ya estamos listos para empezar con la instalación de nuestro failover Cluster.

Creación del Failover Cluster

art cluster07Empezamos abriendo la consola de administración (Failover Cluster Manager) que podemos encontrar desde las herramientas administrativas. Una vez abierta la consola, botón derecho sobre la raíz del panel izquierdo y seleccionamos “Validate Configuration” para realizar los test previos (estos test son obligatorios. Si no se realizan no se puede seguir creando el Cluster). Cart cluster08omo es habitual, pasamos de la primera ventana y llegamos a la ventana en la que se nos pide que indiquemos qué servidores formarán el Cluster para hacerles las pruebas. Escribimos los nombres de cada uno y pulsamos el botón “Add” que hay al lado. Cuando tengamos todos los servidores seleccionados, “Next“. En la siguiente ventana nos preguntarán por el tipo de validación que queremos hacer. art cluster09Seleccionamos “Run all Test” y seguimos con el asistente con “Next“. Después veremos el progreso de las pruebas.

Es importante que el resultado de estas pruebas salga correcto ya que, en la mayoría de los casos, no podremos crear nuestro Cluster si hay algún fallo. Afortunadamente, en la ventana de resultado hay un botón que nos llevará al informe de las pruebas con muchos detalles sobre cada test. En caso de fallo nos puede aportar información muy útil para solventar el problema.

En nuestro caso, todo ha ido de perlas por lo que podemos seguir. En esta misma ventana podemos ver una casilla de verificación que nos permite lanzar el asistente de creación del Cluster directamente. La marcaremos y pulsaremos “Finish“. Si no habéis marcado la opción y habéis salido a la consola de administración, no os preocupéis. Botón derecho sobre la raíz del panel izquierdo y seleccionamos “Create Cluster…

art cluster10Tras las validaciones se nos abrirá el asistente para la creación del Cluster. De nuevo, ventana informativa que pasamos rápidamente. Llegamos a la ventana donde tenemos que dar forma al Cluster. Lo primero es ponerle un nombre y una IP. Eart cluster11l asistente nos detecta automáticamente las redes y nos preguntará sólo por el octeto que identifica al Host dentro de esa red. Con los datos rellenos, pulsamos “Next” y veremos un pequeño resumen de la configuración. Debajo, veremos una casilla marcada que permite al asistente añadir al Cluster todos los discos elegibles de manera que no tendremos que realizar este paso manualmente. Este paso también configura el Quorum automáticamente por lo que ahorra bastante tiempo. Como no tenemos configuraciones complejas ni nada, art cluster12dejaremos marcada la casilla y pulsamos “Next“. Veremos una barra de progreso que nos indicara cómo va nuestro Cluster. art cluster13Al finalizar ya tendremos el Cluster montado y configurado y solo necesitaría instalarle el rol o servicio clusterizado que queramos aunque dejaremos esto para otro momento.

Configuraciones Posteriores

Como hemos dicho, si se realizan los pasos anteriores ya tendríamos el Cluster operativo aunque hay un par de pasos que es recomendable dar.

Configuración del Quorum

Vamos a ver cómo configurar un Quorum por si necesitaseis configurarlo alguna vez. Nosotros, al marcar la opción de añadir los discos al Cluster automáticamente ya lo configura. Aún así os explicamos cómo hacerlo por si acaso.

 

art cluster14En el panel izquierdo del Cluster Manager, botón derecho sobre el nombre de nuestro Cluster “More Actions” -> “Configure Cluster Quorum Settings…“.

Se abrirá un asistente en el que, una vez más, pasamos de la primera pantalla rápidamente. En la siguiente, como somos gente que sabemos lo que nos hacemos ¿no?, marcamos la tercera opción para decidir nosotros mismos la mejor opción de Quorum que queremos. Pulsamos “Next” y en la siguiente pantalla nos preguntarán por lo nodos que tienen voto dentro del Cluster (esto de los votos lo explicaré ahora). art cluster15Marcamos “All Nodes” y “Next“. Llegamos a una pantalla en donde se nos pregunta si queremos dejar al Cluster que administre dinámicamente la asignación de votos en los nodos. Esta opción, por lo general es mejor dejarla activada, aunque en algunas instalaciones complejas (como en ciertos Clusters multisitio) podría ser necesario dejarla desactivada para controlar manualmente la asignaciones de los votos entre los nodos. Dejamos marcada la opción y “Next“. La siguiente pantalla es la que tiene su miga. Se nos presentan tres opciones a elegir aunque el propio asistente, en función de nuestra configuración de Cluster, nos recomendará la mejor opción. Os explicamos brevemente para qué sirve cada una de las opciones:

art cluster17

  • Configure a disk witness: Esta opción nos permite usar un disco del Cluster (una Lun dedicada) como Quorum teniendo voto. Este disco, además de tener voto, almacena una copia de la base de datos del Cluster. El tamaño de este disco puede ser de como mínimo 512MB y no es necesario que contenga letra de unidad. También es recomendable excluir esta unidad de los backups y de los análisis de antivirus.
  • Configure a file share witness: Esta opción nos permite configurar un recurso compartido en la red (un Share) como Quorum teniendo voto. Este recurso necesita al menos 5MB de espacio libre para trabajar y conviene que esté dedicado. También es fundamental que el objeto de Cluster (cluster01 en nuestro caso) tenga permisos de escritura. Este recurso no guarda ninguna copia de la base de datos del Cluster ya que sólo mantiene la información del Cluster sobre un archivo llamado witness.log. Esta configuración suele ser útil para configuraciones de Cluster multisitio con el almacenamiento replicado en vez de compartido.
  • Do not configure a quorum witness: Esta opción indica al Cluster que no habrá ningún testigo con votos adicionales de modo que, el Cluster, sólo funcionará con los votos de los nodos. Esta opción sólo es recomendable cuando tenemos un número impar de nodos.

 

art cluster19art cluster18En nuestro caso, dado las características de nuestro Cluster, seleccionamos la primera opción y pulsamos Next. Se nos mostrará la pantalla para seleccionar el disco del Cluster que usaremos para nuestro Quorum. Marcamos el disco que queramos y pulsamos Next. Llegamos a una ventana de confirmación que podemos omitir pulsando Next y ya tendremos configurado nuestro Disco Quorum.

Cambiar el Nombre de los Discos y las Redes

Por defecto, cuando se añaden discos al Cluster, todos los discos se llaman igual (Cluster Disk X). Esto, cuando hay pocos discos puede que parezca una tontería pero os aseguro que cuando tenéis 15 discos dentro de un Cluster puede ser complicado adivinar de qué es cada disco.

art cluster20Para evitar esto, yo recomiendo renombrar cada disco con lo que es. En nuestro ejemplo vamos a renombrar los dos discos que tenemos de pruebas. En primer lugar desplegamos todos los componentes del panel de la izquierda. Bajo Storage se encuentra el apartado de Disks donde se enumeran todos y cada uno de los discos añadidos al Cluster (con uso o sin él). Ahora seleccionamos el disco que queramos renombrar, botón derecho y propiedades. En la pestaña general podemos darle el nombre que queramos al disco. Aceptamos y Listo. Habrá que hacer lo mismo con cada disco que queramos renombrar.

art cluster01Al igual que sucede con los discos, identificar las redes para administrar el tráfico puede resultar costoso si tenemos muchas. Lo mejor es renombrarlas para tenerlas identificadas de un vistazo. Esto también nos ayudará a la ahora de establecer la configuración correcta para cada red. En primer lugar desplegamos las redes y veremos las distintas redes que tangamos en nuestro sistema. Pulsamos con el botón derecho sobre la que queramos cambiar y Propiedades. En “Name” podremos escribir el nombre que queramos. Ahora nos fijaremos en las casillas que hay justo debajo. Estas opciones permiten indicar al Cluster qué redes usar para el tráfico interno del heartbeat, el tráfico de los clientes, etc… por lo que es importante pararse a pensar un segundo. Si marcamos “Allow cluster network communication on this network” estamos indicando que queremos que el Cluster use esta red. El tipo de tráfico que permitamos por esta red estará definido por la casilla de verificación “Allow clients to connect through this network“. Con esto indicamos al Cluster que esta es la red que usará el resto de máquinas para conectarse al servicio que tengamos clusterizado. Si esta casilla no estuviese marcada, el Cluster sólo usaría esta red para el tráfico interno como el heartbeat. Creo que no será necesario indicar que esta casilla ha de estar marcada en al menos una tarjeta de red :). La otra opción es la de negar el tráfico (sea cual sea) por esta red. Esto es útil por ejemplo para negar el tráfico de red por la tarjeta de iSCSI como es nuestro caso.

Con esto ya tenemos nuestro Cluster instalado, configurado y listo para recibir los roles que queramos que tenga. Host de Máquinas Virtuales de Hyperv, un DFS, una instancia de SQL, etc… Aunque esto lo dejaremos para otros artículos

Saludos!

About The Author

Crower

Mi nombre es Mariano de Pedro. Actualmente vivo en Guadalajara donde también trabajo aunque he trabajado durante mucho tiempo en diversas empresas en Madrid.
Llevo trabajando con tecnologías Microsoft más de 15 años

Leave a reply

Si continuas utilizando este sitio, aceptas el uso de las cookies. Más información

Las opciones de cookie en este sitio web están configuradas para "permitir cookies" para ofrecerte una mejor experiéncia de navegación. Si sigues utilizando este sitio web sin cambiar tus opciones o haces clic en "Aceptar" estarás consintiendo las cookies de este sitio.

Cerrar