SQL Server: funcionalidad AlwaysON y creación de Availability Groups

En la versión 2012 de SQL Server, Microsoft introdujo la funcionalidad AlwaysON como alternativa a las opciones tradicionales de alta disponibilidad y recuperación de desastres.

AlwaysON está compuesta por 2 alternativas principales: Failover Clustering y Availability Groups, ambas dependientes del servicio Windows Server Failover Cluster (desde ahora WSFC).

Este articulo está dirigido tanto a los técnicos que trabajan diariamente con la instalación como a los tomadores de decisión, ya que incluye el licenciamiento necesario para cada ambiente.

Tener en cuenta que en la mayoría de las instalaciones standard se continúa utilizando el mecanismo de mirroring para manejar la alta disponibilidad en SQL Server. Este mecanismo si bien sigue siendo soportado -utilizado con éxito en múltiples instalaciones- se encuentra deprectaed por parte de Microsoft, por lo tanto, el contenido de este artículo es aún más importante como disparador de los procesos de elección de los pasos a seguir.

 

  • FAILOVER CLUSTERING

Failover Clustering es una opción de alta disponibilidad en la cual los nodos comparten el almacenamiento, generando una opción de alta disponibilidad a nivel de instancia. Es una alternativa disponible en la edición Enterprise y en edición Standard con restricción de cantidad de nodos.

  • AVAILABILITY GROUPS

Availability Groups está disponible a partir de la versión 2012 de SQL Server, en la edición Enterprise.

En un Availability Group, 2 o más instancias SQL Server, pertenecientes a un WSFC, mantienen una copia sincronizada de una o más bases de datos, en la que cada nodo del grupo mantiene su copia de los datos.

En todo momento, una de las instancias tiene el rol primario del grupo y mantiene la copia actualizable de las bases de datos incluidas en el grupo. Las réplicas que se mantienen en las instancias secundarias pueden ser accesibles para lectura, ser configuradas de forma síncrona o asíncrona y habilitadas para failover automático o manual.

En la edición Standard de la versión 2016 se presentó una alternativa limitada de los Availability Groups, denominada Basic Availability Groups, orientada a proveer una alternativa al mirroring tradicional.

El Basic Availability Group restringe a 2 la cantidad de instancias que participan en un grupo y en cada grupo sólo es posible incluir una base de datos. Adicionalmente la réplica secundaria no tiene posibilidad de acceso para lectura.

  • FAILOVER

El failover es el procedimiento de transferencia del rol primario del grupo a una de las instancias secundarias incluyendo todas las bases incluidas en el grupo. Este puede ser un proceso manual o automático dependiendo de la configuración del grupo y la situación.

En un failover automático, el servicio WSFC decide qué réplica está en condiciones de asumir el rol primario y lo transfiere. Sólo las réplicas síncronas pueden intervenir en un failover automático. Un failover manual permite la transferencia del rol primario de manera planificada.

  • CLUSTER QUORUM

Para determinar la disponibilidad del cluster WSFC y las réplicas que permanecen disponibles, se utiliza el concepto de Quorum. Cada nodo tiene asignado un voto y para obtener quorum se requieren la mayoría de los votos del cluster.

Periódicamente se obtienen los votos disponibles para determinar la presencia del quorum y por ende la disponibilidad del cluster. Cuando no es posible alcanzar el quorum (mayoría de los votos habilitados) el cluster se baja.

Además de los nodos del cluster, es posible agregar votos al quorum utilizando disk witnessfile share witness o cloud witness a efectos de configurar una solución de quorum que provea mejores niveles de alta disponibilidad.

En el cuadro a continuación se observa la disponibilidad de un cluster en diferentes escenarios de configuración y su tolerancia a fallos en los nodos:

 

CONTINUIDAD DEL CLUSTER

Nodos

Fallo un nodo

Fallo segundo nodo

250%No
2 + WitnessSiNo
3Si50%
3 + WitnessSiSi

A MODO DE RESUMEN

El procedimiento de creación de un Availability Groups es el siguiente:

I. Instalar WSFC en cada servidor que formará parte del cluster

II. Creación del cluster WSFC

III. Verificar el quorum y definir witness en caso de ser necesario

IV. Habilitar la opción AlwaysOn en el servicio SQL Server

V. Crear el Availability Group

Autor:  Ing. Fernando Nozar, System Admin Sr. / DBA Sr.

 

 

Autor:  Ing. Fernando Nozar, System Admin Sr. / DBA Sr.

Scroll al inicio