SQL Server: funcionalidad AlwaysON y creaci贸n de Availability Groups
- octubre 22, 2019
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 witness,聽file 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 |
2 | 50% | No |
2 + Witness | Si | No |
3 | Si | 50% |
3 + Witness | Si | Si |
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.