Exchange 2010: Mapping DAG network states to cluster network states…

In Exchange 2010 after a Database Availability Group (DAG) is created a series of DAG networks is also created.  These DAG networks serve to define how Exchange 2010 servers within the DAG will replicate and seed databases.  The initial network topology that is established is based off the enumeration of cluster networks.

 

The cluster service defines two core states for a cluster network and one substate:

  • Allow cluster network communication on this network (Cluster Use:  Internal)
    • Allow clients to connect through this network (Cluster Use:  Enabled)
  • Do not allow cluster network communications on this network (Cluster Use:  Disabled)

 

image

 

The setting “Allow cluster network communications on this network” signifies this network can be utilized for heartbeat and cluster configuration traffic.  When combined with the substate “Allow clients to connect through this network” this signifies that virtual IP addresses created within the cluster are allowed on this network.  The setting “Do not allow cluster network communications on this network” signifies that the network is disabled for cluster use.

 

Exchange 2010 defines three network states associated with a Database Availability Group Network:

  • MAPIAccessEnabled
  • ReplicationEnabled
  • IgnoreNetwork

 

RunspaceId : 5fdd66b9-afd7-47b7-b985-369dc8da7ac4
Name : DAG-MAPI
Description :
Subnets : {{10.0.0.0/24,Up}}
Interfaces : {{DAG-1,Up,10.0.0.20}, {DAG-2,Up,10.0.0.21}}
MapiAccessEnabled : True
ReplicationEnabled : False
IgnoreNetwork : False

Identity : DAG\DAG-MAPI
IsValid : True

 

The network states ReplicationEnabled and IgnoreNetwork can be adjusted by the administrator using the set-DatabaseAvailabilityGroup commandlet.  By default any DAG network enumerated is ReplicationEnabled:TRUE and IgnoreNetwork:FALSE.

 

The network state MapiAccessEnabled is actually determined by the settings of the network adapter on the local server.  A network is MapiAccessEnabled when we detect that the “Resgister this connection’s address in DNS” checkbox is enabled on the advanced TCP properties of the network adapter.

 

image

 

Why are DAG network states important?  The replication services uses the defined network states to maintain the different cluster network states.  Many customers have found that when attempting to modify a cluster network state using Failover Cluster Manager on a server that is a member of a DAG results in the change being reverted.  How are the cluster network states mapped to DAG network states?  Let us take a look:

 

MapiAccessEnabled

ReplicationEnabled

IgnoreNetwork

Cluster Use

TRUE TRUE FALSE Enabled
TRUE FALSE FALSE Enabled
FALSE TRUE FALSE Internal
FALSE FALSE TRUE Disabled

 

Any network that is IgnoreNetwork:TRUE results in a state of disabled regardless of the other settings. 

 

Correctly managing DAG network states ensures that appropriate cluster network states are maintained and that the DAG / Cluster service can function as expected.