Implementando DAG en Exchange 2010 (Parte II)

por Daniel Seveso

Implementación del DAG

Continuando mi artículo anterior Implementando DAG en Exchange 2010 (Parte I), tenemos dos servidores de Exchange 2010 instalados, cada uno con los roles de HUB, CAS y Mailbox Server.

En este punto es conveniente crear un usuario en cada base de datos y comprobar que los mensajes fluyen correctamente entre los servidores.

También confirmar que los servidores se comuniquen por ambas tarjetas de red LAN y  REPL.

image

Como ven no hay DAG definidos aún:

image

Las bases de datos están en su ubicación y nombres por default:

C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database nnnnnnnnnn

Comenzaré moviendo la base de datos de cada servidor a una de las unidades creadas a tales efectos. Moveré la base de datos del servidor 1 a E:\DB1 y los logs a F:\DB1, lo que puedo hace vía línea de comandos (PS) ó desde Exchange Management Console:

[PS] C:\>move-DatabasePath -Identity 'Mailbox Database 1296140075' -EdbFilePath 'E:\DB1\DB1.edb'
-LogFolderPath 'F:\DB1'

image

image

De igual forma muevo la base de datos y logs del servidor 2. Por claridad, también voy a renombrar las bases de datos a DB1 y DB2 respectivamente, con lo que la configuración queda de esta forma:

image

Creando el DAG

Como estamos instalando sólo dos nodos en el Cluster sin tener un disco compartido, necesitamos un “File Share Witness” (FSW) para tener el segundo voto en caso que un nodo del cluster falle. Puedes leer sobre Clusters y FSW aquí. Un requerimiento para el FSW es que Exchange pueda accederlo y para ello, debemos otorgar permisos de administrador via el grupo “Exchange Trusted Subsystem” haciendo este grupo miembro del grupo “Administrators”del servidor donde vamos a ubicar el FSW.

Nota: Este paso solo es necesario cuando el FSW está ubicado en un servidor NO-Exchange, dado que este permiso ya está otorgado en los servidores de Exchange desde el momento de su instalación. Lo recomendado es que el FSW se ubique en un Hub Transport server que no forme parte del cluster.

Estamos listos para crear el DAG, y vamos a hacerlo desde Exchange Management Console:

image

Especificamos el nombre del DAG, el servidor que va a oficiar de FSW (en nuestro caso será el controlador de dominio) y el directorio donde se configurará localmente el FSW en LABDC1

image

Al finalizar el asistente nos aparece una alerta avisandonos que LABDC1 no es un servidor de Exchange y por lo tanto necesita el permiso anteriormente mencionado.

 image

Esta acción crea el objeto del DAG de clase msExchMDBAvailabilityGroup en el directorio activo. Nota que el contenedor de Database Availability Groups está al mismo nivel que los Servers en la configuración de Exchange 2010.

image

En el Exchange Management Console ya vemos el DAG:

image

Configurando el DAG

Una vez que el objeto está creado, definimos los servidores miembros del DAG mediante la opción Manage Database Availability Group Membership:

image

Agregamos ambos servidores con la opción “Add” y continuamos con “Manage”.

image

Los comandos PS correspondientes para esta operación serían:

[PS] C:\>Add-DatabaseAvailabilityGroupServer –Identity “DAG1” –MailboxServer “LABE2K10-1”

[PS] C:\>Add-DatabaseAvailabilityGroupServer –Identity “DAG1” –MailboxServer “LABE2K10-1”

Este paso procederá a la instalación de los servicios de Cluster en cada uno de los nodos en forma automática

image

En el proceso, se creará automáticamente el FSW y su correspontiente carpeta compartida en LABDC1 como fue indicado en el asistente:

image

Como parte de la configuración, se creará un recurso de cluster “IP Address” para ser utilizado por el DAG. Si estás utilizando DHCP en tu red, este recurso de cluster será configurado con una IP dinámica del DHCP y no necesitará mayor intervención. En caso contrario tendremos un aviso notificando que el DAG no tiene dirección IP válida y tendremos que configurarla manualmente. Voy a seguir el segundo caso:

image

El Failover Cluster Manager indica el problema con la IP:

image

Ejecutamos entonces el siguiente comando para agregar la dirección IP fija a la configuración del DAG:

[PS] C:\>Set-DatabaseAvailabilityGroup DAG1 –DatabaseAvailabilityGroupIpAddresses 192.168.31.175

 

Consultamos como quedan las principales propiedades del DAG…

[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroup | fl

RunspaceId : 2c63732a-5bd2-478b-94ad-b8dc8b9f3422
Name : DAG1
Servers : {LABE2K10-2, LABE2K10-1}
WitnessServer : LABDC1.LAB10.NET
WitnessDirectory : C:\FSWDAG1
AlternateWitnessServer :
AlternateWitnessDirectory :
NetworkCompression : InterSubnetOnly
NetworkEncryption : InterSubnetOnly
DatacenterActivationMode : Off
StoppedMailboxServers : {}
StartedMailboxServers : {}
DatabaseAvailabilityGroupIpv4Addresses : {192.168.131.175}
OperationalServers :
PrimaryActiveManager :
ThirdPartyReplication : Disabled
ReplicationPort : 0
NetworkNames : {}
AdminDisplayName :
ExchangeVersion : 0.10 (14.0.100.0)
DistinguishedName : CN=DAG1,CN=Database Availability Groups,CN=Exchange Administrative Group (FYDI
BOHF23SPDLT),CN=Administrative Groups,CN=Lab10,CN=Microsoft Exchange,CN=Servic
es,CN=Configuration,DC=lab10,DC=net
Identity : DAG1
Guid : 04d033ab-fc82-4124-91da-d714f661c166
ObjectCategory : lab10.net/Configuration/Schema/ms-Exch-MDB-Availability-Group
ObjectClass : {top, msExchMDBAvailabilityGroup}
WhenChanged : 3/26/2010 9:08:49 PM
WhenCreated : 3/26/2010 8:24:45 PM
WhenChangedUTC : 3/27/2010 2:08:49 AM
WhenCreatedUTC : 3/27/2010 1:24:45 AM
OrganizationId :
OriginatingServer : LabDC1.lab10.net
IsValid : True

Luego de asignar la dirección IP al DAG veremos recurso “Cluster Name” en el Failover Cluster Manager: online.

En este punto ya podemos considerar que nuestro DAG está formado. Usando el commando Add-DatabaseAvailabilityGroupServer, o la opción equivalente “Manage Database Availability Group Membership” en el Exchange Management Console, pudes agregar más servidores al DAG. Si el Windows Failover Cluster no está instalado en el servidor que agregamos, el asistente de instalación lo instalará automáticamente.

De la misma forma puedes usar el comando “Remove-DatabaseAvailabilityGroupServer” para quitár servidores del DAG. Para quitar servidores del DAG debes primero remover las copias de base de datos que existan en el servidor.

Las redes NET y REPL se han configurado automáticamente de la siguiente forma:

image

Si listamos las redes en PS, tendremos mayor detalle de su configuración. Nota que la red REPL (DAGNetwork02) se usará para replicación pero no para tráfico de clientes MAPI, mientras que NET (DAGNetwork01) se sará para ambos tipos de tráfico. Esto obviamente se puede cambiar via el comando
Set-DatabaseAvailabilityGroupNetwork

[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroupNetwork

Identity ReplicationEnabled Subnets
-------- ------------------ -------
DAG1\DAGNetwork01 True {{192.168.131.0/24,Up}}
DAG1\DAGNetwork02 True {{10.0.0.0/8,Up}}

[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroupNetwork |fl

RunspaceId : 2c63732a-5bd2-478b-94ad-b8dc8b9f3422
Name : DAGNetwork01
Description :
Subnets : {{192.168.131.0/24,Up}}
Interfaces : {{LabE2K10-1,Up,192.168.131.71}, {LabE2K10-2,Up,192.168.131.72}}
MapiAccessEnabled : True
ReplicationEnabled : True
IgnoreNetwork : False
Identity : DAG1\DAGNetwork01
IsValid : True

RunspaceId : 2c63732a-5bd2-478b-94ad-b8dc8b9f3422
Name : DAGNetwork02
Description :
Subnets : {{10.0.0.0/8,Up}}
Interfaces : {{LabE2K10-1,Up,10.10.10.1}, {LabE2K10-2,Up,10.10.10.2}}
MapiAccessEnabled : False
ReplicationEnabled : True
IgnoreNetwork : False
Identity : DAG1\DAGNetwork02
IsValid : True

Otro detalle que quería mostrarles es el “Cluster Network Object” que se crea automáticamente con la configuración del DAG. Es la cuenta de máquina que se crea representando al nombre de red del cluster y está habiliatada para uso de Kerberos como forma de autenticación.

image

image

Agregando replicas de bases de datos al DAG

En la Parte III y última parte de esta serie, mostraré como agregar réplicas para que todo este tema del DAG tenga sentido práctico :)