Lync 2013 - Alta Disponibilidad - Configurar SQL Replica como primario ante una falla
Ya instalamos nuestro Lync en alta disponinilidad vimos como pasar de un SQL a otro desde powershell peros nos queda pendiente una ultima tarea que sucede si mi SQL principal deja de funcionar solo voy a disponer de la replica en srvlsql02:
En este estado nuestro pool de Lync no tiene posibilidad de acceder a las baes de datos, si nos encontramos en este escenario que deberiamos hacer?, aqui la respuesta antes de seguir les cuento que para simular el problema lo que hice fue sacar la red de srvlsql01 en mi caso mi SQL Primario vamos a ver errores en el visor de eventos de Lync:
Y nuestros clientes aun teniando mas de un FrontEnd nos indicaran el problema con el siguiente mensaje:
Para realizar la configuración nos vamos a loguear en el servidor srvlsql02 -> abrimos SQL Management Studio -> Programmability -> New Stored Procedure...
Borrar todo el contenido que presenta el asitente y poner el codigo completo que pueden descagar desde aqui
Luego Seleccionamos -> ! Execute (IMPORTANTE: se realizara el cambio las bases de datos dejaran de estar como replica para estar como bases de datos Lync tendra funcionalidad pero luego deberemos realizar acciones manuales para recuperar nuestra infraestructura)
Si el proceso se ejecuta correctamente veran lo siguiente:
En este punto ya tendremos un SQL sin replica, ejecute un Stored Procedure ya que de esta forma lo tendre guardado para utilizarlo en el futuro se puede hacer con una consulta sin ningun problema, ahora Lync volvera a dar servicio utilizando el servidor Secundario
Este proceso debe utilizarse solo en un caso extremo cuando no contemos con el servidor primario cuando lo recuperemos deberemos realizar las siguientes acciones:
- Realizar un backup de todas las bases en SRVLSQL02 (Secundario)
- Restaurarlas en SRVLSQL01 (Primario)
- Desde Topology Builder quitar la replica de SQL
- Desde Topology Builder agregar la replica y volver a crearla
Espero les sea de utilidad aguardo sus comentarios!
Saludos!
Lync 2013 - Alta Disponibilidad - Administración SQL Powershell
Luego de realizar la implementación de Alta Disponibilidad de Lync 2013 en este articulo les voy a mostrar como se realiza el cambio de servidor SQL mediante powershell para poder realizar acciones como:
- Reiniciar el equipo
- Instalar Actualizaciones
- Otras operaciones de mantenimiento
Sin afectar el correcto funcionamiento de nuestro Pool de servidores de Lync 2013 es muy importante tener claro que para que los comandos funciones los servidores SQL deben estar los dos encendidos!!
Antes de empezar repasemos un poco nuestro servidor srvlsql01 tiene las bases de datos disponibles para nuestro pool de Lync 2013 lo vemos en la siguiente imagen:
Nuestro servidor srvlsqp02 es quien tiene la replica en este momento como podemos verlo en la siguiente imagen:
La operacion que vamos a realizar es cambiar el rol de los servidores que van a quedar de la siguiente forma:
- srvlsql01 (Replica)
- srvlsql02 (Primario)
Para realizar esta operacion debemos logearnos en un frontend srvlfe01 y abrimos Lync Server Management
Ejecutamos el siguiente comando:
Invoke-CsDatabaseFailover -PoolFqdn lync.itsanchez.local -DatabaseType "CentralMgmt" -NewPrincipal "Mirror"
Invoke-CsDatabaseFailover -PoolFqdn lync.itsanchez.local -DatabaseType "User" -NewPrincipal "Mirror"
Invoke-CsDatabaseFailover -PoolFqdn lync.itsanchez.local -DatabaseType "Application" -NewPrincipal "Mirror"
Muestro solo el resultado de unos de los comandos ya que los 3 son exactamente iguales:
Luego de ejecutar los comandos validamos que los servidores de SQL quedaron corretamente invertidos:
Ahora se pueden realizar todas las operaciones necesarias en srvlsql01 ya que nuestro pool esta utilizando el pool esta utilizando el servidor srvlsql02, finalizadas las tareas para volver al estado inicial se deben executar los siguientes comandos:
Invoke-CsDatabaseFailover -PoolFqdn lync.itsanchez.local -DatabaseType "CentralMgmt" -NewPrincipal "Primary"
Invoke-CsDatabaseFailover -PoolFqdn lync.itsanchez.local -DatabaseType "User" -NewPrincipal "Primary"
Invoke-CsDatabaseFailover -PoolFqdn lync.itsanchez.local -DatabaseType "Application" -NewPrincipal "Primary"
Nota Importante: Este no es el procedimiento a utilizar si el servidor SRVLSQL01 no esta activo!
Espero que les sea util, aguardo sus comentarios!
Saludos!