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 🙂




Comments (1)

  1. Anonymous says:

    Que bien!! me alegro ver este tipo de post en el blog..!!!