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

SQL Server 2012 AlwaysON: Instalar un Failover Cluster en Windows Server 2008 R2


El primer paso, antes de realizar una instalación de SQL Server 2012 AlwaysOn Availability Groups, es instalar y configurar el servicio Failover Cluster (requisito imprescindible para habilitar AlwaysON). El presente artículo describe paso a paso la instalación de un Failover Cluster de 3 Nodos con Almacenamiento Asimétrico (dos nodos en HA utilizando Almacenamiento Compartido con una Instancia de SQL Server en Cluster y un tercer nodo para DR con Almacenamiento Local y una Instancia Standalone), incluyendo la configuración del Quorum con Nodos de Recuperación sin Voto de Mayoría y otros detalles.

El presente artículo describe la instalación de un Failover Cluster en Windows Server 2008 R2 con Almacenamiento Asimétrico y Nodos de Respaldo sin Voto para Mayoría, una configuración típica con SQL Server 2012 AlwaysON Availability Groups.

Téngase en cuenta que el alcance del presente artículo no incluye la instalación de SQL Server 2012 ni la configuración de AlwaysON. Esas son tareas posteriores, que deberan ser realizadas después de la correcta configuración del Cluster, y que intentaré incluir en un futuro artículo.

Antes de comenzar la lectura del presente artículo, es muy recomendable haber leído el artículo anterior, SQL Server 2012 AlwaysON Availabity Groups (AG), el cual describe los conceptos necesarios para poder comprender mejor esta tecnología y evitar dudas innecesarias durante esta lectura. Dicho esto, empezamos.

Descripción del entorno de Laboratorio y algunas consideraciones de Diseño

Partimos de un entorno de Laboratorio formado por un Dominio de Directorio Activo (guillesql.local, con nombre NetBIOS de GUILLESQL) formado por un único Controlador de Dominio ejecutando Windows Server 2003 R2 SP2 (VDC01).

Sobre este dominio, tenemos tres máquinas denominadas VSQL2012A, VSQL2012B y VSQL2012C, todas ellas ejecutando Windows Server 2008 R2.

Las máquinas VSQL2012A y VSQL2012B tienen un disco local C, y un par de Discos Compartidos (F y Q), mientras que la máquina VSQL2012C tan sólo tiene un par de discos locales (C y F), por lo que montaremos un Failover Cluster con Almacenamiento Asimétrico.

Por otro lado, el objetivo del presente Failover Cluster es montar una Instancia de SQL Server en Cluster (FCI) para aportar HA (formada por VSQL2012A y VSQL2012B) junto con una tercera Instancia de SQL Server en Standalone (VSQL2012C) para propósitos de DR.

Debido a que el tercer Nodo (VSQL2012C) tan sólo se quiere utilizar para DR, no se desea que pueda tener Voto para formar Mayoría en el Cluster, de tal modo, que una indisponibilidad en dicho Nodo (VSQL2012C) o incluso un problema de comunicaciones que lo deje aislado, no afecte al cálculo de la Mayoría, evitando indisponibilidades innecesarias. Por este motivo, vamos a utilizar un FileShare como Quorum, que junto con los otros dos Nodos (VSQL2012A y VSQL2012B) nos permite que tengamos tres posibles Votos, ya que VSQL2012C lo configuraremos para que no tenga Voto.

Pasos Previos a la Instalación

Antes de empezar deberemos de instalar el Service Pack 1 de Windows Server 2008 R2, si es que aún no lo tenemos instalado. Entre otros motivos, el Service Pack 1 nos permitirá poder utilizar el Almacenamiento Asimétrico en nuestro Failover Cluster.

Del mismo, para poder configurar qué Nodos del Cluster deseamos que tengan o que no tengan Voto, deberemos instalar en todos los Nodos del Failover Cluster el siguiente HotFix (require reinicio): A hotfix is available to let you configure a cluster node that does not have quorum votes in Windows Server 2008 and in Windows Server 2008 R2

Además, deberemos añadir en todos los servidores, las siguientes dos Características (Features), ya sea utilizando la interfaz gráfica o por comandos: El .NET Framework 3.5.1 (requerido para la posterior instalación de SQL Server) y el Failover Clustering.

Además, deberemos añadir en todos los servidores, las siguientes dos Características (Features), ya sea utilizando la interfaz gráfica o por comandos: El .NET Framework 3.5.1 (requerido para la posterior instalación de SQL Server) y el Failover Clustering.

Además, deberemos de solicitar un Nombre y una Dirección IP para nuestro Cluster, ya que los necesitaremos para poder crear el Cluster. En nuestro caso de ejemplo, utilizaremos el nombre VSQL2012CLUS y la dirección IP 192.168.69.20.

Del mismo modo, necesitaremos solicitar la creación de un Share para utilizar como FileShare Witness en el Failover Cluster, el cual, debe tener permisos de lectura/escritura para las cuentas de equipo correspondientes a los Nodos del Cluster. En nuestro caso de ejemplo, utilizaremos un Share ubicado en el Controlador de Dominio del Laboratorio, cuya ruta UNC es la siguiente: \\vdc01\ShrWitnessSQL2012

Realizado todo esto, estamos en situación de poder a realizar nuestra configuración.

Instalando un Failover Cluster de 3 Nodos para AlwaysON: una instancia en Cluster y otra Standalone

Lo primero que vamos a hacer es crear el Cluster. Para ello, abriremos la Herramienta Administrativa de Failover Cluster Manager, y utilizaremos la opción Create a Cluster.

Lo primero que vamos a hacer es crear el Cluster. Para ello, abriremos la Herramienta Administrativa de Failover Cluster Manager, y utilizaremos la opción Create a Cluster.

Se mostrará el Wizard para la creación del Cluster (Create Cluster Wizard). En la pantalla de bienvenida, click Next para continuar.

Se mostrará el Wizard para la creación del Cluster (Create Cluster Wizard). En la pantalla de bienvenida, click Next para continuar.

En la pantalla Select Servers, deberemos seleccionar los tres servidores que van a formar nuestro Cluster (VSQL2012A, VSQL2012B y VSQL2012C), tal y como se muestra en la siguiente pantalla capturada. Click Next para continuar.

En la pantalla Select Servers, deberemos seleccionar los tres servidores que van a formar nuestro Cluster (VSQL2012A, VSQL2012B y VSQL2012C), tal y como se muestra en la siguiente pantalla capturada. Click Next para continuar.

Como no hemos pasado aún el Test de Validación de nuestro Cluster (Cluster Configuration Validation Test), en la pantalla Validation Warning nos pregunta si deseamos pasarlo ahora. Indicamos que Yes, y click en Next para continuar.

Como no hemos pasado aún el Test de Validación de nuestro Cluster (Cluster Configuration Validation Test), en la pantalla Validation Warning nos pregunta si deseamos pasarlo ahora. Indicamos que Yes, y click en Next para continuar.

Realizado esto, se mostrará el Asistente para Validar la Configuración del Cluster (Validate a Configuration Wizard). En la pantalla de bienvenida, click Next para continuar.

Realizado esto, se mostrará el Asistente para Validar la Configuración del Cluster (Validate a Configuration Wizard). En la pantalla de bienvenida, click Next para continuar.

En la pantalla Testing Options, seleccionaremos que deseamos ejecutar todos los tests. Click Next para continuar.

En la pantalla Testing Options, seleccionaremos que deseamos ejecutar todos los tests. Click Next para continuar.

En la pantalla Confirmation revisaremos el detalle de las opciones de la validación que vamos a realizar, y seguidamente click Next para continuar.

En la pantalla Confirmation revisaremos el detalle de las opciones de la validación que vamos a realizar, y seguidamente click Next para continuar.

La validación puede tardar unos minutos, tras lo cuáles finalizará y se mostrará la pantalla Summary, en la cual podremos ver un resumen de la validación realizada, así como podremos acceder a un Report con información más detallada de dicha validación. En nuestro caso de ejemplo, haremos click en el botón View Report para continuar.

La validación puede tardar unos minutos, tras lo cuáles finalizará y se mostrará la pantalla Summary, en la cual podremos ver un resumen de la validación realizada, así como podremos acceder a un Report con información más detallada de dicha validación. En nuestro caso de ejemplo, haremos click en el botón View Report para continuar.

En nuestro caso de ejemplo, comprobamos que tan sólo teníamos un par de Warnings en la categoría Storage, relacionados con los discos correspondientes al Almacenamiento Asimétrico, es decir, un par de discos compartidos que tan sólo son visibles por un par de Nodos (VSQL2012A y VSQL2012B), mientras que no son visibles por el tercer Nodo de respaldo (VSQL2012C). La existencia de Almacenamiento Asimétrico se muestra como un Warning. En nuestro caso, el Almacenamiento Asimétrico es justo lo que deseamos, por lo que podemos dar por hecho que nuestro Cluster cumple satisfactoriamente con los requisitos de validación.

En nuestro caso de ejemplo, comprobamos que tan sólo teníamos un par de Warnings en la categoría Storage, relacionados con los discos correspondientes al Almacenamiento Asimétrico, es decir, un par de discos compartidos que tan sólo son visibles por un par de Nodos (VSQL2012A y VSQL2012B), mientras que no son visibles por el tercer Nodo de respaldo (VSQL2012C). La existencia de Almacenamiento Asimétrico se muestra como un Warning. En nuestro caso, el Almacenamiento Asimétrico es justo lo que deseamos, por lo que podemos dar por hecho que nuestro Cluster cumple satisfactoriamente con los requisitos de validación.

Cerraremos el Report, y volveremos al asistente de creación de nuestro Cluster.

Cerraremos el Report, y volveremos al asistente de creación de nuestro Cluster.

En la pantalla Confirmation, revisamos que todos los datos son correctos. Click Next para continuar.

En la pantalla Confirmation, revisamos que todos los datos son correctos. Click Next para continuar.

La creación del Cluster puede tardar unos minutos, durante los cuales, se mostrará la pantalla Summary, con el resultado de la creación del Cluster. Cabe destacar, que por defecto, la gestión del Quorum será por Mayoría de Nodos (Node Mayority).

La creación del Cluster puede tardar unos minutos, durante los cuales, se mostrará la pantalla Summary, con el resultado de la creación del Cluster. Cabe destacar, que por defecto, la gestión del Quorum será por Mayoría de Nodos (Node Mayority).

Ya hemos creado nuestro Cluster. Próximo paso, configurar el Quorum.

Ya hemos creado nuestro Cluster. Próximo paso, configurar el Quorum.

Configurar el Quorum de nuestro Failover Cluster

A continuación vamos a configurar un FileShare como Witness, de tal modo que tenga un voto adicional, y seguidamente, vamos a configurar el Nodo VSQL2012C para que no tenga voto. De este modo, habrá tres posibles votos, los Nodos VSQL2012A y VSQL2012B junto con el FileShare. Esto significa, que ante una indisponibilidad del Nodo de respaldo (VSQL2012C), nuestro Cluster será capaz de aguantar aún otro fallo (ej: una caída del FileShare Witness, o una caída de uno de los Nodos del Cluster), ya que seguirá teniendo Mayoría. Si no hacemos todo esto, en caso de una indisponibilidad del Nodo de respaldo, la caída de otro de los Nodos implicaría una pérdida de servicio, ya que al no tener mayoría, el servicio de Cluster se pararía.

Dicho esto, para configurar el Quorum incluyendo un FileShare, vamos a utilizar la opción Configure Cluster Quorum Settings del Failover Cluster Manager.

Dicho esto, para configurar el Quorum incluyendo un FileShare, vamos a utilizar la opción Configure Cluster Quorum Settings del Failover Cluster Manager.

En la página de bienvenida del asistente de configuración del Quorum (Configure Cluster Quorum Wizard), click Next para continuar.

En la página de bienvenida del asistente de configuración del Quorum (Configure Cluster Quorum Wizard), click Next para continuar.

En la pantalla Select Quorum Configuration, seleccionaremos la opción Node and File Share Majority. Clic Next para continuar.

En la pantalla Select Quorum Configuration, seleccionaremos la opción Node and File Share Majority. Clic Next para continuar.

En la pantalla Configure File Share Witness, especificaremos la ruta UNC del File Share que deseamos utilizar. Debemos recordar que todos los Nodos del Cluster deben tener concedido acceso de Lectura/Escritura para sus Cuentas de Equipo sobre dicho Recurso. Click Next para continuar.

En la pantalla Configure File Share Witness, especificaremos la ruta UNC del File Share que deseamos utilizar. Debemos recordar que todos los Nodos del Cluster deben tener concedido acceso de Lectura/Escritura para sus Cuentas de Equipo sobre dicho Recurso. Click Next para continuar.

Revisaremos la información de resumen, y si todo está OK, click en Next para cambiar la configuración de Quorum del Cluster.

Revisaremos la información de resumen, y si todo está OK, click en Next para cambiar la configuración de Quorum del Cluster.

En unos escasos segundos, el Cluster habrá quedado configurado con el FileShare Witness, conforme a nuestras necesidades. Click Finish.

En unos escasos segundos, el Cluster habrá quedado configurado con el FileShare Witness, conforme a nuestras necesidades. Click Finish.

OK. Con esto, ahora tendremos cuatro posibles Votos, uno por cada Nodo del Cluster más un Voto adicional correspondiente al FileShare Witness. El siguiente paso, es configurar el Nodo de Respaldo (VSQL2012C) para que no tenga Voto, de tal modo que quede un número impar de posibles Votos, y además que el Nodo de Respaldo no afecte a la Mayoría, evitando indisponibilidades innecesarias.

Para configurar el Nodo de Respaldo (VSQL2012C) para que no tenga Voto, una vez instalado el HotFix KB2494036, deberemos configurar la propiedad NodeWeight del Nodo en cuestión utilizando PowerShell, de forma similar a como se muestra en la siguiente pantalla capturada.

Para configurar el Nodo de Respaldo (VSQL2012C) para que no tenga Voto, una vez instalado el HotFix KB2494036, deberemos configurar la propiedad NodeWeight del Nodo en cuestión utilizando PowerShell, de forma similar a como se muestra en la siguiente pantalla capturada.

Como podemos ver, utilizando PowerShell también podemos consultar qué Nodos tienen Voto en nuestro Cluster. En cualquier caso, para un Administrador de SQL, quizás resulte más fácil utilizar el AlwaysON Dashboard, para a través de la opción View Cluster Quorum Information, consultar la configuración de Quorum de nuestro Cluster.

Como podemos ver, utilizando PowerShell también podemos consultar qué Nodos tienen Voto en nuestro Cluster. En cualquier caso, para un Administrador de SQL, quizás resulte más fácil utilizar el AlwaysON Dashboard, para a través de la opción View Cluster Quorum Information, consultar la configuración de Quorum de nuestro Cluster.

Incluso podemos añadir esta información directamente al AlwaysON Dashboard, para tenerla más accesible.

Incluso podemos añadir esta información directamente al AlwaysON Dashboard, para tenerla más accesible.

Despedida y Cierre

Hasta aquí llega el presente artículo, en el cual hemos podido ver cómo realizar la instalación y configuración del Failover Cluster previo a la instalación de SQL Server 2012 con AlwaysON Availabity Groups, incluyendo una configuración de Almacenamiento Simétrico y una configuración de Quorum con un FileShare Witness y Nodos sin Voto. Una configuración bastante típica, al trabajar con SQL Server 2012 AlwaysON, y además, didácticamente muy interesante.

Poco más por hoy. Como siempre, confío que la lectura resulte de interés.

 


]
[Autor: GuilleSQL]


Comentarios

juanito - 30/06/2018 (UTC)
muchas gracias por la información, te consulto, tengo dos sitios(1,2), el esquema alwaysOn, entre ellos funciona muy bien, mitigue todos los eventos de logs, la base mas pesada la lleve un disco para el sitio 2 y baje un bk de la base y la levante con restore with norecovery.
No logro sincronizar la base.
que estoy haciendo mal
gracias



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.