Una de las cosas más importantes que debemos tener en cuenta cuando hemos puesto en marcha un proyecto de Lync, es la planificación del backup. Debemos seguir las instrucciones de MSFT para garantizar la correcta configuración del Backup, y además añadirlo a la ventana de Backup del resto de la infraestructura
Lo primero que debemos tener claro es de que información debemos hacer backup, debemos exportar las siguientes configuraciones:
Almacén Central |
Topología, Políticas y Configuraciones (Xds.mdf) |
Export-CsConfiguration |
Información de Localización |
Información de la configuración de la telefonía IP Empresarial (Enterprise Voice Enhanced 9-1-1, E9-1-1) (Lis.mdf) |
Export-CsLisConfiguration |
Información de Usuarios |
Iniformación de Usuarios: Contactos, Programación de Conferencias, Derechos de Usuario, etc… (RTCXDS.mdf) |
Export-CsUserData |
Grupos de Respuesta |
Configuración de los Grupos de Respuesta |
Export-CsRgsConfiguration |
Chat Persistente |
Configuración del Chat Persistente |
Export-CsPersistentChatData |
Archivado |
Backup de la BBDD de Archivado (LcsLog.mdf) |
sqlcmd.exe |
Monitorización |
Backup de las BBDD de Monitorización: Detallesa de Llamadas y QoE (LcsCDR.mdf and QoeMetrics.mdf) |
sqlcmd.exe |
Almacén de Ficheros |
Almacén de Ficheros |
Robocopy |
Yo he creado un pequeño script muy sencillo en PowerShell para realizar la exportación de las distintas configuraciones de la tabla anterior. Además, he creado también script de SQL para realizar el Backup de las BBDD que tenemos en nuestro servidor de SQL desde SQLCMD. De tal forma que desde un solo script en PowerShell podemos lanzar todas las tareas necesarias para completar el Backup. También se ha creado una estructura de carpetas para ir almacenando cada una de la configuraciones exportadas, pero el que quiera tener todos los ficheros en una única carpeta solo tiene que cambiar la ruta de los ficheros exportados en el script
He creado un script de SQL para ejecutar desde una linea de comandos (SQLCMD) el backup de las BBDD que necesitamos, y es el siguiente (Backup_SQL_Lync.sql)
En este script lo que tenemos son las BBDD las cuales debemos incluir en el backup, este fichero será llamado desde SQLCMD para automatizar algo el proceso. Ahora vamos a ver el script de powershell que he creado para completar todas las tareas de backup, voy a tratar de describirlo línea a línea:
1 Get-childitem .\ -include *.zip,*.bak -recurse | remove-item : Borra todos los ficheros con extensión .zip y .bak que se corresponden con ficheros de backup antiguos. Debemos borrarlos para que puedan ejecutarse los cmdlets Export-CsXXXX sin errores, porque sino nos devolverá un error que ya existe el fichero de destino
2 Export-CsConfiguration -FileName .\Config\Config.zip : Exporta la configuración del Almacén Central
3 Export-CsLisConfiguration -FileName .\Location\Location.zip : Exporta la configuración de la configuración de la telefonía IP Empresarial
4 Export-CsRgsConfiguration -Source "ApplicationServer:pool.asirsl.com/1987d3c2-4544-489d-bbe3-59f79f530a83" -FileName .\RGroup\RGroup.zip : Exporta la configuración del grupo de respuesta
5 Export-CsUserData -PoolFQDN "pool.asirsl.com" -FileName .\UserData\User.zip : Exporta la configuración de los usuarios
6 Export-CsPersistentChatData -DBInstance "srv-sql00.asirsl.com" -FileName .\PChat\PChatDB.zip : Exporta la base de datos del Chat Persistente
7 Start-Process "C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd.exe" -argumentlist "-S srv-sql00.asirsl.com -i Backup_SQL_Lync.SQL" : Iniciamos el proceso de SQLCMD para lanzar el proceso de backup de las BBDD de Archivado y Monitorización, para ello se le indica el fichero Backup_SQL_Lync.SQL en donde se le indica que BBDD deben copiarse y su ubicación
8
Start-Process C:\windows\system32\robocopy.exe -argumentlist "\\srv-sql00.asirsl.com\D$\backup .\SQL /mov" : Movemos con Robocopy los ficheros de Backup de las BBDD hacia el servidor desde el cual hemos iniciado este proceso, de tal forma que borramos los ficheros en la ubicación original del backup.
9
Start-Process C:\windows\system32\robocopy.exe -argumentlist "\\srv-lync01.asirsl.com\Shared$ .\FileShared /copyall /s /e" : Copiamos los ficheros del almacén compartido
De esta forma cada vez que se ejecute el script se borran las exportaciones y BBDD anteriores para volcarse las actuales. Ahora nos quedaría crear una tarea programada para que se ejecute el script Backup_Lync2013.ps1 con la periodicidad que consideremos oportuno. Y por último quedaría pendiente sería incluir la carpeta C:\BACKUP en los procesos de Backup de la empresa, de tal forma que todos los subdirectorios que tienen las configuraciones actuales se almacenen con el resto de copias de seguridad. Ya es cuestión de cada cual la periodicidad de los Backups, tanto en la ejecución del script en el propio servidor de Lync como la inclusión de la carpeta BACKUP en las tareas de Backup de la empresa.
Aqui os dejo los dos scripts que he comentado en el artículo por si queréis utilizarlo en algún momento
Backup_Lync_2013.rar. Debéis sustituir los nombres de los servidores por los vuestros, lo he modificado antes de guardarlo para que no os confunda, está asi:
Este script ha sido probado en la siguiente topología:
Versión Lync Server: 2013
Front-END: Pool Enterprise
Sistema Operativo: Windows Server 2012
SQL Server: 2008 R2Standard
Si queréis utilizarlo en una versión de Front-END Standard tenéis que modificar los FQDN de los distintos servidores y el nombre de las instancias de SQL por las que correspondan.
En este artículo no contemplo el Backup de los certificados, etc… solo trataba de comentar las tareas de Backup más propias de Lync Server. Si queréis ampliar la información sobre las tareas de backup de Lync server aquí tenéis un enlace muy interesante:
Preparing for Lync Server Backup and Restoration
Espero que os sea de utilidad!!!