Alta disponibilidad en Exchange 2010 con DAG

11/03/2013

Para montar alta disponibilidad en Exchange 2010, tenemos dos alternativas: un cluster y DAC.

CLUSTER: Es una opción que Microsoft no recomienda, pero es cierto que si una organización tiene ya implementado un cluster con su cabina de discos en SAN, decirle que no lo implemente es un problema. En esta url tenéis más información de  cómo virtualizar Exchange 2010 y cómo intentar montarlo en un cluster:

http://technet.microsoft.com/en-us/library/jj126252(v=exchg.141).aspx

Microsoft no recomienda montar Exchange 2010 en un cluster porque considera que si falla la propia SAN, entonces no tenemos cluster. Es por ello que el método que recomienda para alta disponibilidad es DAG.

DAG (DATABASE AVAILABILITY GROUPS): Es la opción que recomienda Microsoft. Este método funciona replicando el log de las bases de datos del mailbox en otros servidores con el rol del mailbox, manteniendo las réplicas actualizadas. Es muy similar al método del Log Shipping de SQL Server:

https://miblogtecnico.wordpress.com/2012/05/30/alta-disponibilidad-con-log-shipping-en-sql-server/ 

Sus principales ventajas son:

– Soporte de hasta 16 réplicas.
– No existe un único punto de fallo.
– Soporte de retraso en el log de hasta 14 días.
– No necesita ningún hardware especial: SAN, fiber channel, etc…
– Soporte multisite

Para montar el DAG debemos seguir los siguientes pasos:

– Accedemos a la consola de Exchange, seleccionamos el nodo de Organization Configuration, seleccionamos la pestaña Database Availability Group y seleccionamos la opción New Database Availability Group. Esta opción nos permite indicar el nombre que queremos darle al DAG y el servidor y carpeta donde estará el Witness.

Asistente para crear el DAG

Asistente para crear el DAG

 

Una vez creado el DAG, debemos añadirle los servidores que lo soportarán. Para ello, pulsamos con el botón derecho sobre el DAG creado y seleccionamos la opción Manage Database Availability Group Membership.

Opción Manage Database Availability Group Membership para añadir servidores al DAG

Opción Manage Database Availability Group Membership para añadir servidores al DAG

Vemos que nos aparece una ventana donde podemos añadir los servidores necesarios

Añadir servidores al DAG

Añadir servidores al DAG

 

Una vez añadidos los servidores, veremos el DAG creado, los servidores que lo soportan y la red de conexión del propio DAG. Se recomienda utilizar tarjetas de red independientes para la comunicación interna del DAG.

Dag con los servidores y la red

Dag con los servidores y la red

Una vez creado el DAG, ya podemos hacer alta disponibilidad con las bases de datos creando la correspondiente réplica. Para ello, seleccionamos la base de datos de RRHH que está en el servidor VAN-EX1, botón derecho del ratón y seleccionamos la opción Add Mailbox Database Copy.

Opción Add Mailbox Database Copy para crear una réplica

Opción Add Mailbox Database Copy para crear una réplica

 

Aparece una ventana donde vemos el servidor donde está alojado actualmente la base de datos y el servidor donde queremos alojar la réplica.

Opción para seleccionar los servidores de la réplica

Opción para seleccionar los servidores de la réplica

Finalmente vemos que aparece la base de datos y debajo sus correspondientes réplicas. Siempre habrá una réplica activa y el resto pasivas actualizándose. Podemos tener hasta 16 réplicas por cada base de datos.

Réplicas de la base de datos de RRHH

Réplicas de la base de datos de RRHH

 

Para más información podemos utilizar la información del technet de Microsoft

http://technet.microsoft.com/en-us/library/dd298065(v=exchg.141).aspx

AÑADIR UN RETRASO A UNA RÉPLICA DEL DAG

Una de las ventajas que tiene DAG respecto el Cluster, es que podemos tener alguna réplica que sea actualizada posteriormente y esto nos ayuda a solucionar posibles problemas con la corrupción de las bases de datos. En un cluster, si tengo una corrupción en una base de datos, automáticamente se trasladará al resto de bases de datos. En cambio, en el DAG si habilito la replicación con un retraso de tiempo, dicha corrupción no se trasladará.

Set-MailboxDatabaseCopy -id RRHH\VAN-EX2 -replaylagtime 7.0:0:0

En este ejemplo, estamos indicando a Exchange, que la réplica de la base de datos de RRHH del servidor VAN-EX2, sea actualizada a los 7 días, osea con una semana de diferencia.

HABILITAR DAG EN UN ENTORNO MULTISITE

Otra de las ventajas del DAG respecto el Cluster, es que podemos tener réplicas del DAG en otro Site de Active Directory. Cuando hablamos de Site, nos referimos a una subred física distinta que tenemos en el directorio activo y que normalmente suele representar una oficina externa, un edificio distinto, etc…  En el entorno multisite, no necesitamos ningún hardware especial, sino que hayan réplicas del dag. El único problema con el que nos podemos encontrar es cuando haya un failover.

Multi-Site en DAG en Exchange 2010

MultiSite en DAG en Exchange 2010

Imaginemos que tenemos 4 mailboxes haciendo un DAG (dos en el Site A y dos en el Site B).  El Site A es el activo ya que tiene el Witness y quorum y el Site B está en modo pasivo. Imaginemos que falla el Site A,  el Site B, monta el witness y quorum y se pone en marcha y funciona el failover. Pero ¿qué pasa cuando el Site A se recupera? Si el Site A se pone en marcha antes de que se habilite la comunicación con el Site B, los dos sites tienen quorum y por tanto se habilitan. Esto es lo que se denomina “cerebro partido” y hay que evitarlo a toda costa ya que hará corrupción en las bases de datos. Para evitar esto, podemos habilitar Datacenter Activation Coordination (por defecto está deshabilidado) utilizando el siguiente cmdlet

Set-DatabaseAvailabilityGroup –identity “miDag” –DatacenterActivationMode DagOnly

Habilitando DAC, obligamos a que cuando el Site A vuelva a ponerse en marcha, tenga que comunicarse con el Site B para ver si está online. Sino puede comunicarse, entonces no se activa y de esta forma evitamos el temido “cerebro partido”.

ALTA DISPONIBILIDAD EN ROLES QUE NO SON BUZONES DE CORREO

Hasta ahora hemos hablado de DAG en el rol de buzones de correo. Pero ¿qué pasa con el resto de roles?.También tenemos que tenerlos en cuenta.

En concreto, los roles de hub, edge y unified messaging, habilitaremos alta disponibilidad en ellos instalando servidores adicionales. Por ejemplo, si se cae un hub, el resto de roles pueden comunicarse con un hub alternativo, ya que todo el flujo de comunicación está almacenado en el directorio activo.

El problema lo tenemos con el rol del Client Access. Una cambio existente en Exchange 2010, es que todos los clientes se conectan directamente al Client Access y desde allí al resto de roles. Por ejemplo Outlook tiene que conectarse al Client Access y desde allí el protocolo RPC hará la conexión con el rol del buzón de correo. Los Outlooks ya no hacen conexión directa vía RPC con el rol del mailbox, sino a través del Client Access. Es por ello que este rol es crítico.

Para habilitar alta disponibilidad en el Client Access, es necesario crear un array de servidores de Client Access y asociarlo al Site del Directorio Activo. De esta forma, si un Client Access falla, el array es capaz de redirigir las peticiones de conexiones automáticamente sin perder conectividad. Para crear un array de ClientAccess utilizamos el siguiente comando de PowerShell:

New-ClientAccessArray -FQDN casarray.adatum.com -Name “Array CAS” -Site Default-First-Site-Name

casarray.adatum.com es una dirección virtual que tengo configurada en el cluster y qué apunta a los Client Access.

Lo único que faltaría es agregar este array a la base de datos de RRHH que ya tenemos en DAG con el comando:

Set-MailboxDatabase “RRHH” -RpcClientAccessServer “casarray.adatum.com”

2 comentarios to “Alta disponibilidad en Exchange 2010 con DAG”


  1. Tengo un problema con los logs que genera la replica, como puedo hacer para evitar que se me llene el disco!


    • Hola Mariano

      Debes hacer más copias de seguridad de tus bases de datos de buzones para que Exchange pueda eliminar parte de los logs y pueda reutilizar espacio en disco

      Un Saludo


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: