Recipe7.9.Designating the Routing Group Master


Recipe 7.9. Designating the Routing Group Master

Problem

You need to specify a new Routing Group Master server in the routing group.

Solution

Using a graphical user interface

  1. Open the Exchange System Manager (Exchange System Manager.msc).

  2. Ensure that you have enabled viewing of administrative and routing groups (see Recipe 7.3).

  3. Expand the organization Administrative Groups target administrative group Routing Groups target routing group.

  4. Click on the Members container to display the list of member servers in the right pane. Right-click the server you wish to be the new RGM and check Set as Master.

Using VBScript
' This code creates a new Routing Group Master in a routing group. ' ------ SCRIPT CONFIGURATION ------ ' The common name of the Exchange server object to be made RGM strExchangeServer = "<ExchangeServerName>" ' e.g., red-exch02 ' Name of the administrative group the routing group is in strAdminGroup = "<SourceAG>" ' e.g., SeattleAG ' Name of the routing group the server is in strRoutingGroup = "<TargetRG>" ' e.g., RedmondRG ' Name of the Exchange organization strExchangeOrg = "<ExchangeOrg>" ' e.g., ExampleOrg ' ------ END CONFIGURATION --------- strConfigDN = GetObject("LDAP://RootDSE").Get("configurationNamingContext") strExchangeServerDN = "CN=" & strExchangeServer & ",CN=Servers,CN=" & _     strAdminGroup & ",CN=Administrative Groups,CN=" & _     strExchangeOrg & ",CN=Microsoft Exchange,CN=Services," & _     strConfigDN strRoutingGroupDN = "LDAP://CN=" & strRoutingGroup & ",CN=Routing Groups,CN=" & _     strAdminGroup & ",CN=Administrative Groups,CN=" & _     strExchangeOrg & ",CN=Microsoft Exchange,CN=Services," & _     strConfigDN Set objRoutingGroup = GetObject(strRoutingGroupDN) objRoutingGroup.Put "msExchRoutingMasterDN", strExchangeServerDN objRoutingGroup.SetInfo Wscript.Echo strExchangeServer & "is now RGM for the " &_     strRoutingGroup & " routing group." & VbCrLF

Discussion

When you install the first server in a routing group, it is automatically configured to be the RGM, which is signaled in Active Directory by populating the msExchRoutingMasterDN attribute on the server. The RGM is responsible for collecting the state of all servers and connectors within the routing group on a regular basis and sending updates to other routing groups by means of the X-LINK2STATE SMTP extension over SMTP and Routing Group Connectors, and specially crafted messages over X.400 connectors.

When it receives updates from other routing groups, it propagates them to the rest of the members using the link-state protocol over TCP port 691. Each server in the organization thus keeps its own copy of the entire link-state map for the organization; they use the Dijkstra algorithm (popularized in the Open Shortest Path First, or OSPF, TCP/IP routing protocol) to dynamically determine the best route for outgoing messages. While this can be computationally intensive in a large, dynamic organization, the link-state algorithm prevents the routing loops that could plague the Exchange 5.5 Gateway Address Routing Table (GWART). The GWART used a distance vector protocol for routing calculations; this protocol is known to have certain circumstances under which it will generate loops. Using the link-state algorithm, Exchange 2000/2003 servers will never generate loops, even if they cannot transmit mail over the most efficient route.

If the RGM cannot be reached, each server is able to continue routing messages but will not receive further updates on links external to their routing group. As the quality of their link-state map degrades, messages may take less-than-optimal routes; member servers cannot share link updates and must discover failures individually. You can check the application log for transport events 958 (RGM no longer exists) or 961 (Member server fails to authenticate with the RGM) to see if there are failures between your RGM and member servers.

Scripting this is fairly straightforward, even though it is a not a well-documented process. The msExchRoutingMasterDN attribute on the routing group object in Active Directory controls which server is the RGM; it contains the DN of server with the master role.

See Also

Recipe 7.7 for creating routing groups, Recipe 7.8 for deleting routing them, Recipe Recipe 7.10 for moving servers between routing groups, and Chapter 5, "Message Routing Architecture," of the Exchange Server 2003 Technical Reference Guide:

http://www.microsoft.com/technet/prodtechnol/exchange/guides/E2k3TechRef/b4938c19-f27d-4657-a55a-823a8184e690.mspx


Exchange Server Cookbook
Exchange Server Cookbook: For Exchange Server 2003 and Exchange 2000 Server
ISBN: 0596007175
EAN: 2147483647
Year: 2006
Pages: 235

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net