Lync DNS Load Balancing and Server Draining

Updated info for this post can now be found in teched. Please disregard this blog entry. Please refer to




Recently I was onsite with a customer and was asked about DNS Load Balancing. How does it work? Why the change from OCS 2007 R2?

DNS Load Balancing

Microsoft Office Communications Server 2007 requires a Hardware Load Balancer (HLB) to provide resilience for the Enterprise pool. This configuration is both expensive and difficult to configure for SIP load balancing. Lync 2010 introduces DNS load balancing as an alternative to hardware load balancing.

How it Works

The front-end servers register their fully qualified domain name (FQDN) as A records in DNS. When the Enterprise pool is created, the pool FQDN is registered to return from DNS the list of IP addresses of all the front-end servers. The client attempts to connect to one of the IP addresses that were returned. If this connection fails, the client attempts to connect to the next IP address in the list until the connection succeeds.

Server Failure and Recovery

When a server fails, the physical registrar sequence is updated to show the server as unavailable and shared amongst all surviving servers by using a server-server heartbeat. Users are redirected to the next server in their logical registrar sequence and are then connected in backup mode. The server will be recovered returning the physical registrar sequence back to its original state.

Server Commission and Decommission

When topology changes occur, the logical registrar sequence is recalculated for all users. Some users are re-homed to a different front-end server in the same pool. When the server is fully operational, the heartbeat process updates the physical registrar sequence. This results in the batched re-registration process. Decommission is very similar to server failure, with the exception of the re-home to a new primary registrar being part of the decommission process. The topology change results in the recalculation of the logical registrar sequence. This step doesn’t happen in a server failure.

You can use DNS load balancing for the SIP traffic on Front End pools and Director pools. With DNS load balancing deployed, you still need to also use hardware load balancers for these pools, but only for HTTP and Distributed Component Object Model (DCOM) traffic. The hardware load balancer is used for HTTP traffic from clients over ports 443 and 80, and for DCOM traffic over port 135 from administrators performing user moves.

Although you still need hardware load balancers for these pools, their setup and administration will be primarily for HTTP traffic, which the administrators of hardware load balancers are accustomed to.

DNS Load Balancing Decision Guidelines


DNS load balancing supported?

DNS load balancing recommended?

Hardware load balancer (only) recommended?

All or most users homed in the pool run Lync Server 2010 clients.




Many users homed in the pool still running older clients.




Interoperates only with other Lync Server 2010 servers.




Interoperates with many servers running earlier versions of Office Communications Server.




Running Exchange UM with Exchange 2010 SP1 (or not running Exchange UM)




Running Exchange UM with earlier versions of Exchange




Before you can use DNS load balancing, you must:

  1. Override the internal web services pool FQDN.
  2. Create DNS A host records to resolve the pool FQDN to the IP addresses of all the servers in the pool.
To override internal web services FQDN

1. From the Lync Server 2010 program group, open Topology Builder.

2. From the console tree, expand the Enterprise Edition Front End pools node.

3. Right-click the pool, click Edit Properties, and then click Web Services.

4. Below Internal web services, select the Override FQDN check box.

5. Type the pool FQDN that resolves to the physical IP addresses of the servers in the pool.

6. Below External web services, type the external pool FQDN that resolves to the virtual IP addresses of the pool, and then click OK.

7. From the console tree, select Lync Server 2010 , and then in the Actions pane, click Publish Topology.

To create DNS A Host Records for all internal pool servers

1. For each Front End Server in your pool, create a DNS A Host record that maps the pool FQDN to the IP address of that Front End Server.

For example, if you had a pool named  and three front-end servers, you would create the following DNS entries:




Host A

Host A

Host A



Server Draining

A new feature called server draining enables you to take a server offline without any loss of service to users. When a server is drained it stops taking new connections and calls. These new connections and calls are routed through other servers in the pool. A server being drained allows its sessions on existing connections to continue until they naturally end. When all existing sessions have ended, the server is ready to be taken offline.