Volver al Índice | Siguiente: Utilizando los servidores secundarios en AlwaysOn
Autora: Raquel Vicente de la Rosa
Un mecanismo de alta disponibilidad, que permite el cambio de nodo automático, en el que no hay ningún recurso compartido y transparente para la aplicación.
Para activar AlwaysOn para una o varias bases de datos, se crea un grupo de disponibilidad (“Availability Group”). Vamos a ir siguiendo el asistente y explicando cada uno de los componentes
Antes de iniciar la configuración del grupo de disponibilidad, es necesario haber creado un clúster de Windows con los nodos que van a participar, y haber instalado una instancia de SQL en cada uno de los nodos. Sin embargo, estas instancias serán instancias no clusterizadas, cada una de ellas con su propio nombre.
Hay varias ventajas de tener instancias separadas frente a una única instancia clusterizada, para mí la más importante de ellas es que en el caso de un problema causado por la configuración de la instancia que provoque que uno de los nodos no levante, el resto de los nodos no se verán afectados, y nuestra aplicación no se verá afectada.
En este ejemplo, tendremos dos nodos (AON1 y AON2), cada uno de ellos con una instancia por defecto.
El primer paso para crear un grupo de disponibilidad es habilitar AlwaysOn en ambos nodos, para ello vamos al Configuration Manager y seleccionamos las propiedades del servicio, en la pestaña “AlwaysOn High Availability” activamos el siguiente check:
.png)
Es necesario reiniciar el servicio una vez habilitado. A continuación, abrimos Management Studio, y con botón derecho sobre la carpeta “AlwaysOn high Availability” y seleccionamos “New Availability Group Wizard”.
Una vez pasada la pantalla de bienvenida, pasaremos a definir un nombre para este grupo de alta disponibilidad. Este nombre se utilizará sólo para la gestión desde SQL.
.png)
El siguiente paso será seleccionar las bases de datos involucradas. Al tener más de una base de datos en el mismo grupo de disponibilidad, se consigue que todas las bases de datos estén disponibles en el mismo nodo, y con el mismo nombre virtual de servidor. De esta manera, si nuestra aplicación hace uso de dos bases de datos diferentes, conviene tener ambas en el mismo grupo. En nuestro caso tenemos una aplicación (App1) que utiliza dos bases de datos (App1_db1 y App1_db2), por lo tanto incluiremos ambas en las bases de datos a seleccionar.
Para poder seleccionar una base de datos, necesitamos haber hecho previamente un backup completo de la misma.
En la siguiente pantalla realizaremos varias configuraciones. En la pestaña “Replicas” elegiremos los servidores involucrados al seleccionar “Add replica”. Es necesario tener conectividad entre ambos servidores por lo que es interesante revisar que el firewall permite esta conectividad.
Una vez conectado, elegimos el tipo de secundario que queremos tener. En este caso hemos elegido síncrono, con failover automático y que permita lecturas en los nodos secundarios:
.png)
Otra pestaña importante es la pestaña de “Listener”. En esta pestaña podemos decidir el nombre virtual que vamos a utilizar para la conexión, en nuestro caso lo vamos a llamar App1_DBs. Podemos elegir tanto el puerto como la IP, y será necesario crear la correspondiente regla en el firewall en todos los nodos involucrados:
.png)
Una vez configuradas estas opciones, continuamos con el asistente, que nos pedirá una localización donde guardar el backup que se va a realizar (debe ser un share donde la cuenta tenga permisos), y se finalizará la configuración. A partir de este momento podremos observar el grupo de AlwaysOn en Management Studio:
.png)
Diferencias con clúster:
Database mirroring y AlwaysOn son muy parecidos, sin embargo hay dos diferencias fundamentales:
Está previsto que database mirroring sea eliminado en versiones futuras, y reemplazado completamente por AlwaysOn.
Hay dos principales diferencias entre Log Shipping y AlwaysOn: el tiempo de latencia (considerablemente menor en el caso de AlwaysOn) y que no es necesaria la transmisión de ficheros entre nodos.
NOTA: Estas capturas de pantalla se han realizado utilizando la versión descargable de MSDN.