viernes, 22 de noviembre de 2013

Mailbox Database sin copia en DAG de Exchange 2010. Evento 4113.

Exchange Server 2010 realiza una comprobación de cuántas copias hay disponibles de cada Mailbox Database. Cuando la cantidad de copias es solo una, podemos ver un evento 4113 registrado en el Event Log (Figura 1).

Figura 1
 
 
Adicionalmente, si tenemos SCOM para monitorear nuestros equipos, vemos la siguiente alarma (Figura 2).
 
KHI:This database has had only one healthy copy from over 20 minutos of the last hour.
Figura 2

Exchange realiza esta comprobación mediante un script llamado CheckDatabaseRedundancy.ps1 que se encuentra en la carpeta scripts de nuestro servidor de Exchange. Podemos ejecutarlo desde una consola de Power Shell EMS para ver su resultado (Figura 3).

Figura 3

En la figura 3 se ve que las bases que tienen solo una copia figuran en estado Rojo (Red), mientras que las que tienen al menos dos copias aparecen en estado verde (Green).
 
Sin embargo existe la posibilidad de que necesitemos que algunas bases sean ignoradas en este control, dado que tener alta disponibilidad en las bases es una opción, no es obligatorio.
 
Recientemente en la empresa Daris me solicitaron que ignorara las bases marcadas como "DARB", pues esas bases correspondían a usuarios "Básicos", según ellos habían definido en su nomenclatura. Para realizar eso, en el script de control, cambiamos una línea:
 
[string] $SkipDatabasesRegex = "DARB",

Si volvemos a ejecutar el script, vemos que esas bases no se controlan (Figura 4 ).


Figura 4
Luego me pidieron que se ignorararan además las bases que contenían "DARA", dado que éstas son bases de pruebas para aplicativos, por lo cual tampoco necesitaban tener alta disponibilidad.
 
Para ignorar qué Mailbox Databases se deben verificar, este script utiliza  una "Regular Expression" en Power Shell, entonces construimos una que incluya ambas cadenas.
 
[string] $SkipDatabasesRegex = "DARB|DARA",

Cuando ejecutamos el script podemos ver que ya no aparecen las bases que concuerdan con nuestra regular expression (Figura 5), tampoco aparecen más los eventos 4113 ni las alertas de scom.

Figura 5
 
Para construir estas regular expressions hay algunas opciones simples, pero muy interesantes:

"Texto" = Ignora las Mailbox Databases que incluyen "Texto" en cualquier parte.
Ej "EsteTexto"

"^Texto" = Ignora las Mailbox Databases que comienzan con "Texto".
Ej "TextoDeEjemlo"

"Texto$" = Ignora las Mailbox Databases que finalizan con "Texto".
Ej "EjemploDeTexto"

"|" = El separado "Pipe" funciona como un "or" y nos permite incluir varias expresiones.
Ej:"Texto1|Text2"