Microsoft Exchange Server 2010 introduced a new high availability feature called the Database Availability Group (DAG).  This tutorial describes how Database Availability Groups work in Exchange Server 2010, as well as demonstrating the steps for deploying a DAG using Exchange Server 2010 SP1 and Windows Server 2008 R2.

Exchange Server 2010 Database Availability Group Overview

A Database Availability Group is a group of up to 16 Exchange Server 2010 servers that are installed with the Mailbox server role.  Each server that is a member of the DAG is capable of hosting active or passive copies of mailbox databases that reside on servers in the group.

For example, a Database Availability Group may consist of three Exchange Server 2010 Mailbox servers, each configured with a single Mailbox database.  Each server that is a member of the DAG can host either an active or passive copy of each of the three total mailbox databases.

Exchange Server 2010 Database Availability Group Example
Exchange Server 2010 Database Availability Group Example

The foundation of an Exchange Server 2010 Database Availability Group is Windows Failover Clustering.  However unlike traditional Exchange server clusters which existed in an active/passive state, and in which the entire cluster group needed to failover to an alternative node together, with Exchange 2010 DAGs each mailbox database can failover (or switchover, if it is a deliberate move) to another DAG member independent of the other mailbox databases in the DAG.

This means that any given Mailbox server in the DAG can host all, some or none of the active mailbox copies at any given time.  This capability provides two immediate advantages over previous clustering models:

  • All of the Mailbox servers within the Exchange 2010 DAG can be active and in use at all times to some capacity
  • Each mailbox database can failover/switchover when necessary without impacting the mailbox users connected to other mailbox databases within the DAG, for example when installing updates on DAG members

Understanding Quorum for Exchange Server 2010 Database Availability Groups

Because the Database Availability Group utilizes an underlying Windows Failover Cluster the concept of quorum applies.  If you are not familiar with quorum consider it as basically a voting process in which a majority of voting members must be present to make a decision.

For a cluster this means that an odd number of members must be involved in the voting process for a majority decision to be made.  How this applies to an Exchange Server 2010 DAG is that if you deploy a DAG with just two Mailbox servers as members (or any even number up to 16), then neither server is able to determine by majority vote whether it should make its own copy of a given mailbox database active.

To achieve quorum for a DAG with an even number of member servers another server in the same site is designated as a File Share Witness for the cluster.  This is typically a Hub Transport server though it can technically be any compatible Windows server.

Database Replication in Exchange Server 2010 Database Availability Groups

There are two ways that mailbox database replication occurs between Exchange Server 2010 DAG members.

In Exchange Server 2010 RTM “file mode” replication is used.  With file mode replication as each transaction log is written and then closed off (once it reaches 1Mb in size) it is then copied to each member of the DAG that also holds a copy of that mailbox database.  The other members receive the file into their replay queue, and then replay the transaction log file into their own passive copy of the database.

File mode replication works fine but has an obvious shortcoming in that any transaction logs that have not yet been shipped to other servers in the DAG can be lost if the Exchange server hosting the active database copy fails.  In those cases one of the other DAG members is able to bring their copy of the mailbox database online and then request missing emails be resent from the transport dumpster of Hub Transport servers within the site.

In Exchange Server 2010 SP1 file mode replication is used to bring mailbox database copies into sync with each other (eg during the initial sync process when a new database copy is added).  Once they are in sync the DAG members switch to “block mode” replication.  In block mode replication each database transaction is written to the log buffer on the active server and also sent to the log buffer of DAG members hosting passive copies of the database.

When the log buffer becomes full each DAG member then builds their own transaction log files from their own log buffer.  Block mode replication has an advantage over file mode replication in failure scenarios, because each DAG member is completely up to date with all changes to the active database.

Note that Public Folder databases can reside on Mailbox servers that are members of a Database Availability Group, however they are not replicated by the DAG itself.  Instead you must use Public Folder replication to provide redundant copies of Public Folder databases.

Other Advantages of Exchange Server 2010 Database Availability Groups

Before we proceed with an example of how to install an Exchange Server 2010 DAG I will also mention some of the other advantages of Database Availability Groups.

  • Unlike previous versions of Exchange Server (particularly Exchange Server 2007) Exchange Server 2010 has just one high availability feature for Mailbox servers for all high availability deployment scenarios
  • When you create a Database Availability Group the underlying Windows Failover Cluster is automatically created and configured for you
  • A Database Availability Group can be created at any time without requiring Exchange Server 2010 to be removed and reinstalled from the server, unlike previous versions that required that clusters be established first before Exchange was installed
  • Exchange Server 2010 DAG members can host other server roles, unlike Exchange Server 2007 that prevented clustered Mailbox servers from hosting other roles

Exchange Server 2010 Installation Step by Step

In this tutorial I will demonstrate the installation of an Exchange Server 2010 Database Availability Group on Windows Server 2008 R2.

For this tutorial the following Exchange servers have already been installed.

  • EX1 – Exchange Server 2010 SP1 Mailbox server
    • Primary interface: 192.168.0.32/24
    • Secondary interface: 10.0.5.1/30
  • EX2 – Exchange Server 2010 SP1 Mailbox server
    • Primary interface: 192.168.0.33/24
    • Secondary interface: 10.0.5.2/30
  • EX3 – Exchange Server 2010 SP1 Client Access and Hub Transport server
    • Primary interface: 192.168.0.34/24

Note: for details of how to deploy these server roles see Installing Exchange Server 2010 Pre-requisites on Windows Server 2008 R2 and Installing Exchange Server 2010.

Exchange Server 2010 DAG Tutorial Setup
Exchange Server 2010 DAG Tutorial Setup

Each of the Mailbox servers has been configured with its own mailbox database.

  • EX1 – Mailbox Database 01
  • EX2 – Mailbox Database 02

Note: in Exchange Server 2010 each mailbox database must have a unique name within the organization.

Because the Mailbox servers are configured with dual interfaces it is important to make sure that the secondary interface is not configured to register itself in DNS.  Open the TCP/IPv4 properties for the secondary interface one each server, click the Advanced button, navigate to the DNS tab and untick Register this connection’s address in DNS.

Open the Advanced TCP/IPv4 Properties
Open the Advanced TCP/IPv4 Properties
Disable DNS registration for the secondary interface
Disable DNS registration for the secondary interface

Creating the Database Availability Group

Log in to one of the Mailbox servers and launch the Exchange Management Console.  Navigate to Organization Config/Mailbox and choose New Database Availability Group from the action pane.

Create a new Exchange Server 2010 Database Availability Group
Create a new Exchange Server 2010 Database Availability Group

When the New Database Availability Group wizard starts give the DAG a name, specify the Witness server, and also specify the file path for the Witness server to use.

New Database Availability Group Wizard - Basic Info
New Database Availability Group Wizard – Basic Info

Click on the New button to create the new Database Availability Group, and then click Finish to close the wizard.

Adding Database Availability Group Members

Right-click the newly created Database Availability Group and choose Manage Database Availability Group Membership.

Manage Database Availability Group Members
Manage Database Availability Group Members

Click the Add button and select the Mailbox servers that you wish to make members of the DAG.

Select Mailbox Servers to become Database Availability Group Members
Select Mailbox Servers to become Database Availability Group Members

Click the Manage button to commence adding the Mailbox servers to the DAG.  This involves installation and configuration of Windows Failover Clustering on the servers, so it can take a few minutes to finish.

After it has finished the next step is to configure the DAG networking.

Configure Database Availability Group Networking

Right-click the newly created Database Availability Group and choose Properties.

Open the Properties of the Database Availability Group
Open the Properties of the Database Availability Group

Select the IP Addresses tab, click the Add button and add a static IP address for the Database Availability Group.

Adding IP addresses to an Exchange Server 2010 Database Availability Group
Adding IP addresses to an Exchange Server 2010 Database Availability Group

You will notice that the Database Availability Group has been automatically configured with DAG networks for the subnets that the DAG members have network interfaces connected to.

Exchange Server 2010 Database Availability Group Networks
Exchange Server 2010 Database Availability Group Networks

Open the Properties of each DAG network and configure them with meaningful names.  If you have configured your network to have a dedicated replication network for the DAG then you should disable replication on the DAG network that is intended for MAPI communications (ie client connections).

Exchange Server 2010 Database Availability Group Networks Configured
Exchange Server 2010 Database Availability Group Networks Configured

Adding Mailbox Database Copies to DAG Members

With the Database Availability Group established and the networking configured you can now add mailbox database copies to other DAG members.

In the Exchange Management Console navigate to Organization Config/Mailbox and choose the Database Management tab.  Right-click a mailbox database and select Add Mailbox Database Copy.

Adding a Mailbox Database Copy in Exchange Server 2010
Adding a Mailbox Database Copy in Exchange Server 2010

Click the Browse button and choose the Mailbox server to add the database copy to.

Add Mailbox Database Copies to an Exchange Server 2010 Mailbox Server
Add Mailbox Database Copies to an Exchange Server 2010 Mailbox Server

Click the Add button to add the mailbox database copy and then click Finish to close the wizard.

The Exchange servers will now commence seeding the replica servers with an up to date copy of the database and all of the current transaction log files.  Depending on the amount of data to be replicated this may take some time.

Status of the Database Copies for Exchange Server 2010
Status of the Database Copies for Exchange Server 2010

Repeat the same process for any other mailbox databases you wish to add database copies for.

Configuration of the Exchange Server 2010 Database Availability Group is now complete.

[adrotate banner=”49″]

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. Lavon Doyne

    I believe that is one of the most significant info for me.
    And i am glad reading your article. However wanna commentary on few
    general things, The site taste is ideal, the articles is actually excellent : D.
    Good activity, cheers

  2. Matjaz Kamnicar

    Hi Paul.
    I have one Exchange 2010 up and running with 5 connectors in the Server configuration->Hub Transport. When I setup the second Exchange 2010, I had some issues with sending and receiving emails generally on company level. I uninstalled the Hub Transport role from the new server and everything works fine. So my question is – Do I have to setup Hub transport on the newly installed Exchange as it it in the one up and running? Are there other setups I have to be aware of/have to be the same on both servers?
    Thank you in advance.

    1. Avatar photo
      Paul Cunningham

      I would bet you’ve got a custom receive connector on the server with a remote IP range configured on it that overlaps/includes the IP address of the new Exchange server. This is a common mistake when people add entire IP subnets to the remote IP range of their custom receive connector. But it will interfere with server to server mail flow.

      1. Matjaz Kamnicar

        Hi. On my existing server I have configured Receive connectors, but only to certain IP’s, not ranges of IP, and the IP of the new Exchange is not included in these IP’s.

        To simplify things here, to have a perfect DAG server, you have to have 2 exchange servers with the same setup (same version, same Receive Connectors in Hub Transport,…) – so to say 2 identical server with different IP for Primary and Secondary network interface, and different names for the mail DB – everything I did (all settings,…) on my first server, I must do on my second one – is that right?

        1. Avatar photo
          Paul Cunningham

          Not exactly as simple as that, but that’s getting ahead of things. When you install the second server, and before you do anything to configure the DAG itself, internal mail flow should work between the two servers. If it doesn’t work, there’s a problem, unrelated to the DAG.

          You say you’ve got two network interfaces so that may well be the issue as it can complicate the network configuration and it’s easy to make mistakes in that situation. I would simplify the servers to just a single network interface, which is all you need for everything to work.

  3. Minh Lam

    Thank you for your reply. I do appreciate it.
    I figured out how to make clients connect to Ex01 server.
    Will create CAS array when upgrading Exchange server next time.

  4. Minh Lam

    Hi Paul,
    Thank you for the instructions. I got the DAG set up successfully . Mailbox1 on Ex01 server is “Mounted” and Mailbox1 on Ex02 is “Healthy”. One problem: if Ex02 is OFFLINE (i.e. reboot) then almost 50% users cannot access their emails, originally created on Mailbox1 on Ex01. If I try to delete and add his/her mailbox in Outlook, it shows that his/her mailbox is on Ex02. What should I do to make sure that all users connect to Mailbox1 on Ex01 instead of Mailbox2 on Ex02. Please advise. Thanks.

  5. Francesca Lanza

    Hello Paul
    I have a server with SBS 2011 as DC and Exchange 2010 installed. To create redundancy, I have installed three other member servers (S1 – S2 – S3) with 2008 r2 enterprise and Echange 2010 (MB,CA,HT roles). So, I migrated all mailboxes from SBS2011 to S1 and then I created a DAG with S1,S2 and S3. I have two questions for you:
    1) Currentlly, if I power off SBS2011, outlook clients don’t receiveve mails anymore. If I uninstall Exchange from SBS2011, do clients automatically connect to their mailbox or have I to correct every outlook profile?
    2) I’m going to create a CAS Array. Have I to configure the router to point smtp traffic to the IP of the array?

    I would appreciate a lot your hints.

    Thank you

    Francesca

  6. Rosaria Motta

    Hi Paul,

    I have a DC (named DC1) running Windows Server 2008 r2 and Exchange 2010 installed (with MB, HT, CA).
    It works fine since 2011.
    I would like now to create a DAG and so I have added to the network 3 machines as described below:
    1 DC (named DC2) running Windows Server 2008 r2 and Exchange 2010
    2 Member Servers (MS1 and MS2) with Windows Server 2008 r2 and Exchange 2010
    Exchange 2010 of these three new machines has not been configured yet.

    I would like to create a DAG to obtain redundancy of MB Database existing on the first machine (DC1).

    Is correct to configure the member servers (MS1 and MS2) with MB role and then create a DAG with MS1, MS2 and DC1 machines using the second DC2 as Witness Server?

    Thank you.

    Rosaria Motta

    1. Avatar photo
      Paul Cunningham

      It’s not recommended to run Exchange on domain controllers, and it’s not supported to join a domain controller that is an Exchange server to a DAG.

      So my recommendation to you is:

      – Install MS1 and MS2 as multi-role servers (CAS, Hub, Mailbox)
      – Create a DAG with MS1 and MS2
      – Migrate mailboxes from DC1 to the DAG
      – Remove Exchange from DC1

      Deploying a second DC is also a good idea, so continue with that part of your plan. One of the DCs can be the File Share Witness for the DAG (will require Exchange Trusted Subsystem group to be added to Administrators group in the domain) unless you have another member server you can use instead (which is better than using a DC).

      But you need to think about more than just the DAG. You also need high availability at the CAS layer, which for 2010 means thinking about a CAS Array (https://www.practical365.com/exchange-server-2010-cas-array/). In your scenario I recommend you get the CAS Array stuff in place before deploying the new DAG. You’ll also need to invest in a load balancer. Don’t try to use Windows Network Load Balancing.

      1. Rosaria Motta

        Hi Paul,
        thank you for your hint that I am starting to put into practice.
        After I have installed Exchange 2010 in MS1 all the users were unable to send mails.
        If I shutdown MS1 all works fine.
        Please, can you help me to understand why this happened?
        Thank you again for your help.

        Rosaria

        1. Avatar photo
          Paul Cunningham

          Well “unable to send emails” could mean a lot of things. You’ll need to describe your problem in more detail.

          1. Rosaria Motta

            Hi Paul,
            thank you for your answer. I’ll try to explain better.
            When MS1 is up, all seems working fine but if a client sends an e mail, this doesn’t arrive to the recipient. The sender doesn’t receive any error.
            As soon as I shut down MS1 all works fine and the e mails that have been sent before (when MS1 was up) arrive to the recipient after three hours.
            Note that Exchange in MS1 is in on-premises mode.
            Excuse for my English.

            Thank you and have a nice day.

            Rosaria

  7. Pat

    Great details!
    I have another scenario.
    I have 1 MBX, 1 CAS/HUB, 1 Archive Exchange 2010 SP1 and would like to add a second MBX and DAG.
    All of the existing systems are VMs and the second MBX will be physical.
    What is the best option for the replication NICs on the vms to interface with the physical server for seeding and replication.
    The vm network currently is one subnet.

    Does the seeding and DB copy happen as soon as you add the second server? should this be scheduled off hours to minimize traffic?
    Are there any known issues with SP1 and the DAG setup I should be aware of?

    I then want to use the DAG to minimize downtime to upgrade the systems to the latest SP to prepare for a Hybrid mode and a transition to O365.

  8. Giovanni Lombardo

    Hi Paul.
    I have a small network with DC1 ( OS. Win 2011 SBS standard and Exchange 2010).
    Suppose this scenario:
    I implement the network with DC2 (OS Win 2011 SBS standard and Exchange 2010)
    In Exchange 2010 of DC2 I configure only the mailbox role.
    Then I create a DAG with DC1 and DC2.
    Suppose that DC1 goes down, what I have to do on DC2 to avoid stopping sending/receiving mail?

    Thank you.

    Giovanni Lombardo

    1. Avatar photo
      Paul Cunningham

      You can’t run two SBS servers like that. You can only run two SBS servers together briefly during the migration from one SBS server to another, but they won’t run together in long term coexistence.

      SBS is also end of life and deploying new SBS servers at this point is not a good idea.

      If you’re worried about the availability of your email on a single server, then I recommend you look at migrating to Office 365.

  9. Keshav

    Very nice, read it again today

  10. majid

    I have two virtual servers , each is Exch2010 Sp1 multi-role running on windows 2012 sp1. Each how i configuration clustring

  11. Ahmed

    I created a DAG on exchange 2010 (on win2008r2) but dag networks are not created. I can see cluster networks in the failover & cluster manager but nothing appears under networks for the DAG in EMC.

    I have two virtual servers , each is Exch2010 Sp3 multi-role running on windows 2008R2 sp1. Each has only one network card assigned. However, the two servers are on different AD sites and on different subnets. (though physically they are in same location). When I created the DAG it didn’t give any errors but as I said no dag networks appear.

    How should I make this DAG functional, and to start replication?

  12. Shabbir

    Dear Paul,
    Thank you very much for the easy-to-follow guide.
    We are having some question regarding adding a Third Server to and existing TWO MEMBER DAG. Your expert comments will be highly appreciated.

    We have following Exchange 2010 SP3 setup:
    2 Members DAG with Exchange 2010 SP3 servers:
    Member 1 : MSG01 (MBX, CAS, HT), IP 10.0.0.98, 192.168.0.10 (for replication)
    Member 2 : MSG01 (MBX, CAS, HT), IP 10.0.0.99, 192.168.0.11 (for replication)
    Each server has separate NIC dedicated for replication (connected directly via dedicated switch)
    DAG IP : 10.0.0.100
    DAG Name : EXDAG
    FSW on separate File Server
    Array of TWO EDGE Servers in DMZ

    We want to add third exchange 2010 SP3 server to this existing DAG. The new server has same Disk Layout and OS as well as same exchange version and TWO NICs.

    I would like to ask :
    1. Is it enough to assign IP 192.168.0.12 to secondary NIC (dedicated for replication) on new DAG member OR do we have to configure anything else for the replication?
    2. What would happen to EDGE subscription?
    3. How to configure OWA/IIS on New Member to have the same settings as existing member server?
    4. How about certificate requirement for the new DAG member?
    5. Do we have to delete FSW or we can keep it for a scenario when two members of the DAG are down so that FSW can be used as a vote of majority?

    Thanks and Regards,
    Shabbir

  13. Mathew

    Hi Paul,

    I would like to know he steps to be followed, especially in terms of Quorum Configuration when we add a new node ( mailbox server ) to a 2 node DAG in Exchange 2010.

    1. Avatar photo
      Paul Cunningham

      Just add the new DAG member, the DAG will adjust quorum automatically.

  14. Sam13

    Hi Paul,
    Thank you for all these clear explanations. Great post.
    I have a question (sorry for my English)
    I have a DAG with 2 mbx : MBX1 and MBX2
    On MBX 1 : there is a database DB1 and on MBX2 database DB2.
    The DAG is working fine.
    Now : I created an archive database (ARCH1) on MBX1 on a external iSCSI drive (mapped as X:)
    I added a new iSCSCI drive on ananother server (mapped as X: too).

    So the topology is now the following

    MBX1 : hosting DB1 + a copy of DB2 on local drive C: + ARCH1 on iSCSI drive X:
    MBX2 : hosting DB2 + a copy of DB1 on local drive C: + nothing on iSCSI drive X: (empty space)

    I want to create a copy of the ARCH1 database on the MBX2 iSCSI drive X: in order to have a high availabbilty on archives too.

    Is there anything wrong ?

    Thank a lot

    Sam13

  15. Jakob Digranes

    Hi Paul

    I’ve run into some trouble with the DAG when decomissioning Exchange2010 environment.
    I have a 2 server DAG
    All databases are removed (except from a dismountet public folder DB)
    I removed server1 from DAG
    When trying to remove server2 – it can’t access DAG, nor failover cluster manager. The server1 is uninstalled in Control Panel – so no Exchange Roles.
    But looks like active manager isn’t moved over to remaining server. The problem is that I cannot do any changes to DAG since cluster service isn’t running

    All production environment are up and running on EX2013 so no crisis – but wondering about the -configurationonly switch when removing DAG-member. The server remaining in DAG are the one that’s up and running – and trying to avoid a dirty removal of server through ADSI

    but running -configurationonly – would server be up and running for uninstall afterwards or would it fail uninstall, cause it believes it’s a part of a cluster still?
    Haven’t been able to reproduce in Lab Environment —

  16. Ryan

    Hi Paul

    My company have 2 exchange server 2010 Standard SP3 :
    – 1 Mailbox server role running on windows server 2008 R2 standard 64 bit (A)
    – 1 CAS +HUB server role running on windows server 2008 R2 standard 64 bit
    I want to deploy DAG as below solution :
    – setup a second Mailbox server running on Windows server 2008 R2 Enterprise 64bit (B)
    – move entire mailbox database from (A) to (B) and active on (B)
    – setup a third Mailbox server running on Windows server 2008 R2 Enterprise 64bit (C)
    – setup DAG between (B) and (C)
    – remove (A) from the system

    Can you advise me to resolve these questions :

    1. how to move entire mailbox database from (A) to (B) and active on (B)
    2. how to remove (A) clearly from the system.

    1. Avatar photo
      Paul Cunningham

      If you’re deploying two new servers you should deploy them as multi-role servers so that you can have HA for CAS and Transport as well as for Mailbox.

      What I would do:
      1. Deploy 2x multi-role servers and configure DAG and load balancing for CAS
      2. Migrate mailboxes from old mailbox server to databases in the DAG
      3. Decommission old mailbox server
      4. Migrate CAS and Transport from old server to new load balanced servers
      5. Decommission old CAS/HT server.

  17. Barry

    Hi Paul,
    I have a DAG of two Exchange 2010 servers with 1Gbits NIC for the MAPI network and 100 MBits NIC for the replication network.
    I added two new servers on the DAG. When i started to add copies of databases on the new servers, i noticed that the NIC of the replication network was used at 99% when the MAPI was at 2%. Is there a way to tell Exchange to use the MAPI network when the replication network is overused ?
    Thanks.

    1. Avatar photo
      Paul Cunningham

      Yes, you can enable the MAPI network for replication and Exchange will use both.

  18. Pradeep Kumawat

    Hi

    I have two Exchange server. One is Exchange 2010 and other is Exchange 2013. Can I configure DAG in that environment

  19. Y2Kade

    Great article! I did have a question though… I’m troubleshooting why a DAG that was set up by a previous employee isn’t successfully failing over and noticed that the DAG Networks are viewable from only one of the DAG members (2 mailbox servers) via the EMC. I’m assuming when viewing the DAG configuration from each server I should see DAG Networking configured on each system. Thanks in advance.

    1. Avatar photo
      Paul Cunningham

      Both members should see the same networks.

      Are manual database switchovers working?

      1. Y2Kade

        Hey Paul. Thanks for the quick response! Yes… manual failover seems to work and right now all active databases are on a single mail server. I’ll try to manually add the DAG networks on the mailbox server that doesn’t have the networks defined in the DAG configuration from the EMC and see how that goes. Again… great article and thanks for the assistance.

        1. Avatar photo
          Paul Cunningham

          You shouldn’t need to manually add them. If EMC isn’t showing them then there’s probably a problem somewhere.

          When you run Get-DatabaseAvailabilityGroup do you see one DAG or two?

  20. Phil Goldwasser

    Hi Paul. Thanks for this article. I am not 100% sure that I can do what I would like with the hardware at hand, but please help me out if you can.

    Currently I have one exchange server running all of the roles. I would like to add a second server and create a DAG. Question number one is can I have the CAS and HT roles stay on my current machine and have the new server be just a mailbox server and part of the DAG with the existing mailbox server role on the existing server? I know people have asked about having two servers with all the roles and then needing a hardware loadbalancer for the CAS array, but in my scenario I would just have one CAS and a two server DAG.

    If that could work, I am guessing I would still need a third server to act as the File Share Witness. Can this server be at a different site?

    Thanks for your help.

  21. Jenish Doshi

    Nicely written in simple & technical language.

  22. Mohamed Hegaz

    Hi Paul,

    Can make DAG implementation as the following scenario:
    AD- IP 192.168.1.1
    Exch1 – IP: 192.168.1.2 with roles CAS, HUB, Mailbox on site no 1
    Exch2 – IP: 192.168.1.3 with roles CAS, HUB, Mailbox on site no 2

    with this i can make replication between to exchange server. once the electricity down in the first site the user can connect directly to the exch2 in the other side. is that work??

  23. Jithesh

    Hi Paul,

    Need your guidance.

    We have one Active Directory forest and domain. On that we have one exchange 2010 server (on windows server 2008 SP2) holding all the roles (MB, CAS and HUB). We were planning to add another exchange 2010 server (with all roles MB, CAS, HUB) with high end configuration to this setup for choosing one of the option – 1) We want to move all to new server and decommission the first server. 2) If it’s not possible, then we need to run this new box as our primary server and old one as secondary server by deploying DAG and making new server hold active mailbox databases.

    Could you please advice and share the implementation steps for the first option, if that is not viable then how we can implement the second option in this setup.

    Thanks in advance
    Jithesh K

  24. Captain

    Hi Paul,

    We have 2 MBX servers in our principal site and 2 CAS servers.
    We have another external site (Hi Avaibility) and this one is CAS, MBX and HUB.
    We have a DAGNetwork01 between our 2 MBX servers locally and another one DAGNetwork02 to synchronize with the external distant one.

    They are looking like “up” in the Management console and
    Cluster one between my 2 MBX servers locally is looking good in the Fail Over Cluster Manager
    but
    Cluster Network 2 is “up” but there only one server on it…(?) The external one.
    The Cluster core Resources show me that the “DAG03A” is offline…. with an ip address Failed….

    I have a report that i did schedule to 5:00am each days and that ont specified me that the “Quorum” failed…(?)

    I dont thrust my DAG and would like to know your opinion plse…

    Our servers are all:
    Exchange Server 2010
    Microsoft Corporation
    Version: 14.03.0210.002

    Is that better to delete all DAG and clusters and recreate them ?

    Regards

  25. Dileep

    I have a DAG structure having two mail box nodes installed in two physical machines and hub and cas installed in ADC with FSW in same ADC.How many microsoft server licenses we required to operate this scenario?

  26. Sunil Kumar D

    want to understand how cluster regrouping is happening when I stop cluster service on node 1 among 2, 3, 4 nodes? Preferred owners /Node id’s are not getting used here.

    1. Avatar photo
      Paul Cunningham

      I’d suggest you log a case with Microsoft then. I’ve never looked that closely at it because I’ve never had a situation where it mattered to me where the cluster group moved to.

  27. Sunil Kumar D

    Currently we have a script, when ever cluster group moves to DR, it will failover to DC node and notify…our million dollar question is when I have two nodes and FSW in production site, if I stop cluster service why cluster group is getting failed over to DR node instead of second node in the DC? What mechanism / orbitraration it follows to choose best possible node to host cluster group?

  28. Sunil Kumar D

    We have a 4 node Windows 2008R2 cluster running with Exchange DAG. Two production nodes are in DC site and other two are in DR site. We have a file share witness configured in DC site, quorum model is Node with file share majority. We have Node1, Node2 and FS three votes in DC and Node3, Node4 (two votes) in DR site. We have two exchange DB copies active (healthy) on two production nodes and DR copies are healthy but not active.

    We have a requirement to have cluster group online always in DC nodes. But the problem here is, cluster group always gets failed over to DR site (Node1/2 to Node3/4). We don’t see any network issues between DR and DC sites. To isolate N/W issues, we have done below steps.

    1. Stopped cluster service and disabled NICs on NODE1, Immediately cluster group got failed over to DR NODE4.
    2. If we stop cluster service on DR NODE4, it’s back to DC Node2. (this is the standard behavior as we have 3 votes in DC and 1 Vote in DR (when we stopped cluster service on Node4).
    3. When we stop cluster service on NODE 1 (DC), still cluster have two more VOTES (NODE 2 and File Share) in same production site). Why it it getting failover to DR site?

    If both sites has equal amount of votes how cluster will get formed and who will own the cluster group?

    Customer question is if we stop on Node1, it gets failover to DR (Node4) even though you have Node2 and FSW in DC. if you stop in DR, it will come to DC.

    They want to understand how cluster group is getting moved (initially thought Node ID’s). When we stop cluster service on node1 (DC), it went to node4 (DR) highest node ID 4. If we stop on Node 4 (DR) it should come to next height Node ID 3 (which is DR) not happening. Pls help us to understand this….

    they want DAG (Cluster group) always in DC. (If there is no network issues/if you stop clussvc on any one node in DC)…Appreciate your quick help.

    1. When I have Two Nodes (Node1, Node2) and FSW in Production site (3votes) and Two nodes (Node3, Node4) in DR site (2 votes). Possible owners of cluster group are (N1, N2, N3, N4). If I stop a cluster service / Disable a NIC on Node1 in Production Site, 4/2+1=3 Still my DAG can form quorum with remaining 3 nodes (N2, N3 and N4) no FSW needed here to form a quorum. I understand next node will be selected based on cluster arbitration, But as per Many MS articles Next possible node will own the cluster group. Here Node 2 is next possible owner, but why Node4 in DR(node Id4) is owning the group, why not next possible owner?..In similar way again if I stop on Node4, it should go to next possible owner (Node1), why is it going to Node2..just need to understand this concept..

    1. Avatar photo
      Paul Cunningham

      “We have a requirement to have cluster group online always in DC nodes.”

      Why is that?

      Modifying underlying cluster properties is probably unsupported. If you have a hard requirement for this perhaps you could simply write a script that regularly checks for cluster group ownership and moves it when necessary.

  29. alex

    Great article – very helpful. I’m receving this error at the last step:

    Error:
    A source-side operation failed. Error Content indexing operation failed with the following message: The seeding operation encountered an error while trying to contact the search service. Error: Microsoft Exchange Search Service may not be running on server RTEXCHANGE. Specific RPC error message: Error 0x6d9 (There are no more endpoints available from the endpoint mapper) from cli_PauseIndexing. [Database: DataAquisition2010, Server: RTEXCHANGE02.realtytrac.com]
    Click here for help… http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.140).aspx?v=14.1.218.11&t=exchgf1&e=ms.exch.err.Ex4543D9

    Exchange Management Shell command attempted:
    Add-MailboxDatabaseCopy -Identity ‘DataAquisition2010’ -MailboxServer ‘RTEXCHANGE02’ -ActivationPreference ‘2’

    Elapsed Time: 00:43:01

      1. alex

        I’ve tried this commands:

        Suspend-MailboxDatabaseCopy -Identity “HR2010RTEXCHANGE02”

        Update-MailboxDatabaseCopy -Identity “HR2010RTEXCHANGE02” -DeleteExistingFiles -ManualResume

        Get-MailboxDatabaseCopyStatus –Server rtexchange02 | fl Name,*index*

        Suspend-MailboxDatabaseCopy – Identity exec2010rtexchange02

        ResetSearchIndex.ps1 –force

        1. alex

          Paul, I’m still facing this issue. Most of the passive copies in FailedandSuspended state and ContentIndex in Failed state. I’ve tried to reseed it to using this 2 commands

          Suspend-MailboxDatabaseCopy -Identity “HR2010RTEXCHANGE02”

          Update-MailboxDatabaseCopy -Identity “HR2010RTEXCHANGE02″ -DeleteExistingFiles -ManualResume

          The other issue I’m facing is switching active database with passive since some of the copies are monted on one server and some on the other

          I’m trying to bring all active copies on 1 server

          move-activemailboxdatabase -identity DB1 -activateonserver mountdialoverride ‘besteffort” -skiplagchecks

          even besteffort option fails – please help

  30. Brian Ganino

    Hi Paul,

    I used this article to configure my DAG, everything was succesful but I have discovered an issue.

    Some times, randomly, the “Cluster Core Resource” IP address for the replication changes it status to failed and the error description says: “Cluster IP address resource ‘IP Address 192.168.x.x’ cannot be brought online because the cluster network ‘Cluster Network 3’ is not configured to allow client access. Please use the Failover Cluster Manager snap-in to check the configured properties of the cluster network.”

    When I go to the “Cluster Network 3” properties and check the “Allow clients to connect through this network” setting and click OK, I get into the properties again and this setting is unchecked.

    The workaround I found to get this resource online is moving the replication subnet into the MAPI group in the DAG Networks, Bring the resource online and move the subnet back to the replication group.

    Do you know why we are getting the replication IP resource as failed and how to resolve this issue?

    Thank you.

    1. Avatar photo
      Paul Cunningham

      Perhaps something is messed up with your DAG network config. Overlapping subnets perhaps?

      1. Brian Ganino

        I have configured the DAG with 2 IP Address, the first one pointing to the corp network and the 2nd to the replication network. The 2nd one is used to perform the backup with Symantec Netbackup trough the replication network (192.168.x.x). Is this OK?

        1. Avatar photo
          Paul Cunningham

          No, the DAG should not be given an IP that is on a replication subnet.

  31. Robert Wallace

    Customer has an Exchange 2010 SP2 UR1 deployment. They added 2 new DAG’s which are to replace existing. The environment also has voicemail system with unified messaging using a MAPI gateway as the interface which is pointed to the CAS for authentication. The MAPI gateway has a superuser account that is used to handle all requests for mailbox users.
    When they removed the first DAG the MAPI gateway failed.
    The tried rebooting the MAPI gateway, etc and only after backing out did requests get processed.
    Is there something I can direct their attention to or troubleshooting tips?

    1. Avatar photo
      Paul Cunningham

      The service account used by the voicemail system likely needs some specific permissions in place on the mailbox databases. This will be surely be documented in that vendor’s documentation/guidance.

  32. Steven

    Paul,

    As always appreciate your articles. I know this is an old post but I have a question I’m hoping you can answer for me. I have a DAG with 4 copies 2 in the primary/active datacenter and 2 in a standby/passive. I’m tasked with moving the passive servers to a 3rd data center while not sacrificing DR abilities while servers are in transit. Basically move only 1 copy/server at a time. As an initial step I added a 3rd DAG IP address, for the 3rd data center. The Set-DatabaseAvaiabilityGroup command went through without issue and using the Get command I can see the new IP, I can also see it in EMC. What concerns me is I can’t see it in cluster manager?

    Would you happen to have any insight on this? Is it possible it’s not showing because there are no nodes on the new subnet yet?

    If you have a chance please let me know. Thanks.

    Steven

    1. Avatar photo
      Paul Cunningham

      That is a possibility I guess. You won’t know until you move a DAG member to the new site. I would just go ahead and do that if I were you, and re-run Set-DatabaseAvailabilityGroup to add the third IP if for some reason it doesn’t show up then.

      1. Steven

        Thanks for your input. One way or another I’ll find out tomorrow when my servers arrive at their new home. I’ll be sure to let you know how it works out.

      2. Steven

        Paul,

        I just wanted to get back to you on this. I did end up speaking to MS Support. They consulted the Cluster team internally. They tried to create the cluster IP manually but this failed because there was no cluster network for that IP. I presume this was because no hosts were brought online. Eventually the concluded the IP would pop in as soon as a server was brought on line in that subnet. If not they wanted to move the quorum to it, which they claimed would cause the DAG config to be brought down from AD and asserted on to cluster config.

        Well none of that turned out to be true, so instead I ran Set-DatabaseAvaiablityGroup -Identity

        Surprisingly this did the trick with no interruption to service. The IP popped in and that was it.

        At any rate thanks for your help.

        Steven

  33. Rob

    Hi Paul,

    Thank you, this is a really useful tutorial. May I ask a question? We have two DAGS – our live environment is on two servers, and the new DAG on four servers is soon going to be used. However, some new users are being created on the new DAG and we don’t want this happening yet. Is there an easy solution to this?

    Thanks in anticipation.
    Rob.

  34. Tarek

    Hello Paul,

    My dag stopped updating the RpcClientAccessServer following a failover, I am having to manually update it now. Any idea what may be the cause of this?

    Thanks
    Tarek

    1. Avatar photo
      Paul Cunningham

      I don’t understand your scenario. Can you explain in more detail?

  35. Virendra Singh

    HI..i am beginner in Exchange Server.I have one exchange Server 2010.Now i want to configure DAG for this production Exchange Server.

  36. Harsha Perera

    Hi Paul,

    Thanks for your quick response.

    We are having DAG enviornment & connected to a remote site using a WAN link (MPLS). We feel our WAN link is totally consuming for replication. Is it ok if we pause the replication during day time & resume in the night time. What is the best practise to do a replication over the WAN?

    Thanks.

  37. Harsha Perera

    Hi Paul,

    I have question regarding DAG replication. Is there any way to schedule the DAG replication across 2 sites?

    Thanks

    1. Avatar photo
      Paul Cunningham

      Database replication in a DAG is a continuous process. There is no scheduling option.

      While replication can be suspended/resumed, those actions are not intended to be used as a scheduling function.

  38. Alexandre Bouffard

    Hi Paul,
    I have been using many of your Exchange post because they are very clear and helpfull.

    I have an issue with my DAG when comes the time to switch from database and it only happen with the second Exchange server when it database become the primary. The users lose their connexion briefly and are prompt to login again. That login will then prompt again a few minutes later like the Outlook client wasn’t able to keep the connexion to exchange. When I move back the database residing on the first exchange server everything comes back to normal. One thing I can see by comparring this tutorial with my installation is that I only have one NIC card per server not 2. The complete setup reside on virtual servers 2008R2 using Exchange 2010 Sp2 roolout8.

    Any idea where I can look at ?

    Thank you

  39. Basel

    Thank you Paul for this greate learning document.
    A quick question though, How is the location (Hard drive and folders for DBs and Logs) will be determined in the secondary mailbox server (EX-2) when creating a DB copy?
    How can I let the DB copy be created in E:maildb and logs in F:Logs ?

  40. Karthik

    Hi Paul,

    I Have a scenario where i have three mailbox servers, and five databases divide on the basis of the employee roles.
    1.If i want to configure DAG for all the five database, can i create 5 DAG’s?
    2. Can a single mailbox server be part of multiple DAG’s.
    3. All the databases are not on same Mailbox servers. Divided among three
    4. Each database is of 2TB size.

    1. Avatar photo
      Paul Cunningham

      Each server can only be a member of one DAG. In your situation I would create one DAG, and add copies of each database to each DAG member.

      2TB is too large a database in my opinion – the main risk being recovery situations (eg how long it takes to restore the entire database just to be able to restore a single mailbox/item, or how long it would take to reseed a database that large).

      I am for 200-300Gb as an ideal size, for those reasons.

  41. Shady elmasary

    Hello Paul ;

    Thanks a lot for your help , I found too many articles in tech net regarding DAG Site resilient .

    Thanks

  42. shady elmasary

    Hello Paul ;

    Thanks a lot for these post , it is valuable information .

    I have a question related to DAG across different sites

    I want to know the best way to implement DAG FOR EXCHAMGE 2010 across 2 sites ,

    I have 3 exchanger server in one site in DAG ,with 300 gb database size

    but I want to implement exchange server 2010 in a new site and this will be my fourth exchange server and will be a member on my existing DAG in the head office

    the new site is linked to my head office using ipvpn connection which is 6 mb ,

    what is the best way to implement the new exchange server in the new site to join the existing DAG .

    is there is any problem related to DAG in this scenario , consideration , and the way to implement it in the new site ?

    Thanks again for your post

    1. Avatar photo
      Paul Cunningham

      This is more than I can answer in a comments thread. TechNet has detailed documentation on the requirements for multi-site DAGs such as network speeds etc. You’ll also need to read up on DAC mode.

  43. Bob Collins

    Imran, could you not put a send connector on EXCH2 to send all mail to EXCH1. EXCH1 send connector would be to the outside?

    Or make EXCH1 the smarthost for EXCH2.

    1. Imran

      Bob Brother,

      both exchanges are doing replication (settings/ DAGs) if i create a connector in exch2 to send all stuff to exch1 it will replicate back to exch1 hahaha kindly if you know any other way let me know,

      thanks for nice comment

      imran from afghanistan

      1. Bob Collins

        Oh right! Too early for me this morning, must have more coffee.
        My environment is similar, yet we send all outbound mail to our ProofPoint filter then it goes out.

        Will have to wait til better insight from the smarter guys here. 🙂

        1. Imran

          Aw Oright I hope you had a good day 😀

          buddy I try something new I put both exch1 and exch2 in SORUCE SERVER tab of all send connectors its working now but i am not sure wheather the cause is this or anything else LOL
          however THE MAN THE BOSS (Paul) is here he can support us very well as he did 100s times in past 😉

          cheers,
          imran from afghanistan

  44. Imran

    Hey Paul i got an urgent question :

    I have to 2 exchange everything is okay i follow all your notes about CAS, DAG and DNS Round robin everything is okay but big issue is :
    my exch1 is interduced to out side and all outside people defined exch1 NAT ip on them receive connectors but now when my clients send email it goes to exch2 queue please let me know how to configure that mails go through exch1 queue i don’t want out side people to know i have exch2 whenever any issue accure i will change ASA object ip address from exch1’s ip to exch2 but currently i want exch1 to communicate?
    its my last step of work rest i am done,

    thanks so much for all suppports
    imran from afghanistan

    1. Avatar photo
      Paul Cunningham

      Sounds like Exch2 is included as a source transport server in your send connector. If you don’t want it to be involved in outgoing email try removing it from there.

      1. imran

        thanks paul brother
        can u please tell me the steps or commmands or recommand any link?

        regards,
        imtan from afghanistan

  45. John

    Trying to add second node, getting replication service not running error! Tried everything, any ideas?

    1. Imran

      kindly attach a snapshot or paste the error here

      thanks
      imran

  46. Imran

    Thanks so much for supports, if i face any other issue will let you know.

    regards
    imran from afghanistan

  47. Imran

    Hey Paul ,
    Thanks a lot for such greate post, YOUR THE MAN and always helpful for me and rest.

    I need your help regarding my network, that is :
    I have an exchange server by name of exch1 with 10.63.109.121 ip that is avilable for my outside with ip address of 10.63.108.11 (NAT feature on ASA Firewall ) and now i create other exchange server with 10.63.109.120 which is not avilable in my outside exch1 and exch2 have DAG configured only exch1 database copy is in exch2 my DAG-001 ip address is 10.63.109.19
    More information : my exch1 replica is 192.168.1.1/30 and exch replica LAN card ip is 192.168.1.2/30
    kindly answer me following questions:

    1: Is my DAG ip is okay and from proper network?

    2: if my exch1 goes down how outside people will reach to my exch2 or (voice versa)

    1: same as i told u exch1 MB DATABASE copy is in exch2 if my exch1 goes down how LAN exchange clinet of my network will reach to them own mailbox through outlook?

      1. Imran

        Thanks for quick reponse,
        i review the link you post up,
        my questions is ;
        do i need other exchange server with CAS role or one of my current DAG servers can be my CAS too?
        i had verfied both have CAS role intalled.

        regards

        1. Avatar photo
          Paul Cunningham

          You can use the CAS roles installed on your existing DAG members. You should load balance CAS traffic to *both* servers if you want high availability.

        2. Imran

          Hello, Paul I face a new problem its:

          I configured DAG in my exch1, it have send connectors and receive connectors and all other required setting.
          Main point is : its Allowed and known to my all outside sub office through ASA firewall its IP been NAT but my exch2 server is not allowed to out side and unkown to out people even local users but it already replicated all settings from exch1 after installation so the problem is culster failover selected exch 2 as current host server when i send email to outside its been stop in queue coz exch2 IP is uknown to out people so how can i change it how to solve this issue?

          thanks in advance
          imran from afghanistan

        3. Imran

          or how to switch current host server?

  48. Ampletrix

    Hello Paul,

    Thank you for the great article! Fantastic work.

    I’ve inherited an Exchange environment with 4 Exchange servers: 2 MB servers in a DAG, with two CA and HT servers.

    The previous admin configured the DAG with everything seemingly working fine. The DAG name is DAG1, with both MB servers (Exch03 and Exch04) as members, and Exch01 (CA and HT) as the witness server.

    While planning on adding a new database to the DAG, I’ve noticed that the DAG has no IP address configured. Would you mind helping me out with the implications of the DAG not having an IP configured please?

    This has been the case for nearly 8 months now, and we haven’t had any major issues.
    Thank you.

    Ampletrix.

    1. Avatar photo
      Paul Cunningham

      If there is no DAG IP statically assigned it will try to get one from DHCP instead.

      1. Ampletrix

        Hi Paul,

        Thank you for the quick reply. That was lightning quick.
        Unfortunately this network (server network) doesn’t have DHCP enabled.
        Are there any implications of the DAG not having an IP?
        Hope I’m not being a pain.

        Thank you.
        Ampletrix.

        1. Avatar photo
          Paul Cunningham

          If there is no DHCP then I recommend you configure a DAG IP statically.

  49. Shawnicles

    Just had a question about the DAG Witness server.

    I have two exchange servers with typical roles installed at two sites. I am using a third non-exchange server (like in your 2013 article) to be the witness server for the DAG.

    Does this server need to be Server Enterprise as well like the two exchange servers?

    Thanks!

      1. Shawnicles

        Thanks for the quick reply.

        Since I haven’t seen any specific articles related to using a non-exchange server to be the witness server for DAG in Exchange 2010. Am I right in assuming it will work? I’ve created a new DAG, and specified that server to be the witness and it has created the DAG.

        I added the local admin group membership, feature and firewall exception. Is there anything else I should be aware of that could be different in 2010?

        Thanks!
        Shawn

  50. Brian Ganino

    Hello Paul,

    Great article!

    I have a question related the IP address used.

    I have a DAG working on my exchange environment and I’m adding a new mailbox server for DRP propose. This MBX server will has only one IP address. Could I add this server as member of the existing DAG? What could be the problem if I don’t add a replication IP address?

    Thank you.

    1. Avatar photo
      Paul Cunningham

      Yes you can add new servers to an existing DAG.

      Replication networks for DAGs are not mandatory. They are only if you have a specific need to segregate your replication traffic from client traffic (eg for bandwidth management).

  51. Ray

    Hey Paul,
    how about the certificates? if you have a server on a secondary site do you need another SSL for that server as well?

    1. Avatar photo
      Paul Cunningham

      In the context of the DAG, which is a feature of the Mailbox server role, no there is no SSL certificate required.

      However a secondary site does imply that you will have Client Access server(s) in that site as well. Yes, each CAS will require an SSL certificate provisioned (the same cert for all CAS is feasible depending on your scenario).

  52. Jason Cramer

    Hi Paul,

    I don’t see anything about what to do about not being allowed a default gateway on more than one NIC on a Windows server. Did you already describe using route ADD or the equivalent netsh commands in a different article?

    Thanks for the great article BTW.

    Cheers,
    Jason

  53. Jürgen

    Hi Paul,
    great article, but I’am missing the Settings of MAPI and Replication Networks.

    cheers, Jürgen

  54. Navishkar Sadheo

    can you recommend one? a virtual or software load balancer

    1. Avatar photo
      Paul Cunningham

      There are several vendors I’ve worked with in the past – F5 and Kemp for example. What you should really do is gather your business and technical requirements, and your budget, and then take advantage of the trial offers from a few vendors to try them out and find one that fits your criteria and that you’re comfortable with administering.

  55. Navishkar Sadheo

    Hi Paul

    Thank you for your article.

    Can you assist me with the hardware load balancing part.

    I have 3 mutil role exch 2010 servers. 1 at each site.

    I am planning on adding 3 additional multi role servers, 1 to each site.

    Problem is if I implement DAG then I cannot create my CAS array using WNLB and need to use hardware load balancing.

    Can you perhaps point me in the right direction?

    1. Avatar photo
      Paul Cunningham

      That is correct, DAG members can’t also have NLB installed. You will need to use a hardware or virtual load balancer instead.

      1. Navishkar

        Virtual load balancer????

        1. Avatar photo
          Paul Cunningham

          A load balancer that is a virtual machine instead of a piece of hardware. Most load balancer vendors offer both physical and virtual versions of their products these days.

  56. Ken Jones

    Paul,
    Hope you can give some direction currently Have Exchange 2010 SP1 setup As a DAG each is a VM. Also have 2 more VM’s as the CAS servers. Now we are moving off static VM host to Hyper-V Fail-over Clustering. What is the Best way to configure this. I was told I cant put the DAG on the Hyper-V cluster but Can i put one on each of the cluster nodes and just run them from the regular Hyper-V console not making them Highly Available via the Hyper-V Fail-over Cluster?

    1. Avatar photo
      Paul Cunningham

      Microsoft publishes quite detailed guidance on mixing virtualization, clustering, and Exchange 2010 DAGs. It is more than I can cover in a comment here. You’ll need to do a bit of reading.

  57. Bob Collins

    Hi Paul,

    Great DAG article, it sure clears up many things for me. I have a question about building a DAG and performing the Database Copy. The DAG I have was built prior to my arrival at this location and I am trying to rebuild/get it working again.

    I have a three server DAG and my primary database needs to be copied to the second and third MBox servers, however when I copy the database via EMC, the copy will fail when the receiving MBox server halts with an out of space on it’s vmdk.

    Is there a spatial headroom number/multiplier when making this copy? My db is just over 500GB, however my database location on the second MBox server is at 996GB free space. It seems like it should not fail, but it does? To that end, must the storage location receiving the DB be the same size or larger than from where it is sent?

    I have otherwise been able to match the system (C:) and the log file drive (L:) sizes. The mailstore drive (S:) size is smaller than the source’s. Will this matter? Am I missing something?

    For that matter, will the database copy know to place the logs in the proper log file location on the recipient?

    Thanks for your thoughts and consideration.
    Bob

    1. Avatar photo
      Paul Cunningham

      Each DAG member should have the same storage layout in terms of drive letters/mount points and capacity.

      If a database resides on E:DB1db1.edb on one server, and you add a copy of that database to another DAG member, that second DAG member will store it in the same E:DB1db1.edb path. Same goes for the logs.

      The fact you’re using VMDK makes me think the problem may be that the VM datastore itself is full.

      1. Bob Collins

        Hi Paul,

        Thanks so much for the reply. I had suspected such, but wanted clarification to that.
        I will pursue the VMDK side of this equation.

        Thanks again!
        Bob

      2. Bob Collins

        Hi Paul,

        I wanted to follow-up and let you know how my systems fared based on your suggestions. It did turn out we had “orphaned” snapshots eating up some space on our datastores. To clear them, we used the Consolidate tool from VSphere in the snapshot management area. Once that was complete, things settled down and the copy was able to complete properly.

        I now have a proper DAG with a second DB copy in a Healthy state.

        Thanks for the pointer and for all your articles I find myself reading often.
        Bob

  58. Gaurav

    Hi Paul,

    Quick Question 🙂

    After I create a DAG, add the exchange servers to the DAG and then I select ‘Add Mailbox Database Copy’ option. When I select that option, DAG will create the copy of the original mailbox database on the 2nd exchange server but will it create the copy of the database in the default location i.e. C:Program FilesMicrosoftExchangev14Mailbox Database or will see the path of the original mailbox database on the 1st server and will use that path.

    For example, my exchange databases are on a separate drive with E: as the drive letter.

    Will DAG create the copy on the E: of the 2nd exchange server or will go to the default location on the C: drive.

    Regards,
    Gaurav

  59. Parag Thorat

    Dear Paul,

    I have to migrate exchange 2003 to Exchange 2010 (On new server 2008 R2). Please guide me the best practice for this migration.

    Rg,
    Parag.

  60. Kim Kovacs

    Hi Paul – I’ve had a 2-mailbox DAG running for a couple of years, and now I’m getting ready to retire the hardware & move the servers to VMs.

    MB1 & MB2 are running Exchange 2010 SP3 on Windows Server 2008 R2.
    MB3, the one I’d like to add, is Exchange 2010 SP3 on Windows 2012 and is a virtual guest.

    All three mail servers are visible in the console, and I can create mailbox databases on the new server, no problem. However, I just can not get MB3 to join the DAG. When I try to add it I get a vague error “Failed to initialize cluster with error 0x80004005.”

    Is there any compatibility issue you can think of that would be causing this problem? I’ve checked permissions, ran the cluster config check on the VM, confirmed the IP addresses are fine – just can’t find what I’m missing!

    Any thoughts would be sincerely appreciated.

    1. Avatar photo
      Paul Cunningham

      All DAG members need to run the same operating system. To move to a DAG on a different OS you’ll need to do mailbox migrations.

      1. Kim Kovacs

        Well that certainly explains it. You’d think they’d have put something like that in the Best Practices document, wouldn’t you….

      2. Kim Kovacs

        And P.S. – Thank you very, very much for the quick reply and for saving me from wasting any more time trying to figure this out!

  61. Dave

    Hi,
    my question is simple..

    can i change the time before my dag swith to the second dag on my second data center on a different subnet..

    because now, on my first dag i have 2 server but if my master crash the dag switch to the second subnet…
    my slave server dont mount the database automatically.
    any suggestion ?

    1. Avatar photo
      Paul Cunningham

      The DAG uses a process called Best Copy Selection to determine which database copy it should failover to when the active database copy becomes unavailable. There are a lot of factors on Best Copy Selection, but generally speaking you can influence it by setting the Activation Preference of each database copy.

      You can also block automatic database activation on the server(s) in the second datacenter.

  62. Aiman

    Dear all. I a new to exchange 2010 but I have a new challenge to complete. We have 2 CAS (say CAS A & CAS B) & 2 MBX Server (MBX1 & MBX2) in our environment at Location A. Due to some problem, and DR plan, we like to create another CAS Server C & MBX server C in Location B (Location A & B are connected by dedicated fibre @ LAN). And after done, we would like to move the databases from and other settings from CAS B & MBX B to CAS C & MBX C. After done, we like to decommission both CAS B & MBX B.

    I like to ask the experts here to guide me step by step how to accomplish this. Thanks in advance.

  63. Gaurav Passi

    Sorry but I forget to mention that it’ll be a multisite DAG 🙂

  64. Gaurav Passi

    Hi Paul!

    First of all…IT’S AN AWESOME ARTICLE! The best DAG article that I’ve read so far 🙂

    I’m new to your blog and loving it already.

    I’m about to deploy my first DAG with 2 Exchange 2010 SP1 (Typical Installation) with Windows 2008 R2 Enterprise. Using a File Server for Witness.

    I’ve few quieres. Can you please be kind enough to answer them if you’ve few minutes:

    1. How can I control the DAG sync?
    2. Will the outlook clients need to be reconfigured after DAG creation to or they’ll be redirected automatically?
    3. What changes will be required on the Spam filter, Internal DNS, Public DNS and Firewall to accommodate the changes made for DAG?
    4.What happens when the primary site goes down and you lose 2 votes at the same time? Will the backup exchange take over or the exchange environment will go down and I’ll have to perform a manual site failover?
    5. If a manual site failover is required then what things need to be taken under consideration and how to revert back the changes once the primary site is back online?

    Regards,
    Gaurav

    1. Avatar photo
      Paul Cunningham

      1. You don’t need to control the DAG replication.
      2. Nothing is required.
      3. Nothing is required.
      4. There is no automatic site failover in a disaster situation.
      5. Multi-site DAG design and failover/recovery is a complex matter that has been thoroughly documented on TechNet. It is more than I can answer here, you really do need to just go and read the documentation.

  65. John

    Hi Paul,

    I have inherited a system that has been partially setup with a DAG, there are 2 mailbox servers running, the CA server is on a different subnet for some reason. The DAG has an IP address set but no members, if I check in EMC I can see the DAG on the CA server, but no networking has been configured. NIC2 in EX1 has a static IP address NIC2 in EX2 has DHCP and both are registered in DNS. If the DAG is not actually being used would it be easier to remove completely and reconfigure with a new DAG without impacting the exchange environment?

  66. ZAHOOR RATHER

    Hi,
    Thanks for the article.
    Actually i have two Exchange 2010 SP3 server located on two diferent AD sites wiht typical inst. Roles.
    Now i have to deploy DAG using a witness server.

    How could i manage the *over[fail over/switch over if one of the server has jsut failure in network or link between the sites is down etc.

    What happens in this case.

    thanks.

    ZAHOOR

  67. Jake Jacob

    Paul thank you!

    Great great great!. Quick question. I have one Exchange 2010 SP1 server (all roles). Looking into deploying a DAG as in your scenario. EX3, in your above example, is a dedicated server that serves as the witness server and quorum location. Do i really need a 3rd Exchange server for this or can i use an existing MBX server? If i wanted to also setup and edge transport server in a DMZ, would that be a completely different server?

    i think i know the answer, but i’m trying to minimize the licensing requirements without sacrificing the design too much. It sounds like i need 4 licenses for Exchange and Windows respectively.

    thank you!

    1. Avatar photo
      Paul Cunningham

      The File Share Witness can be another Exchange server as long as it is not a DAG member. You can also use any other server in your network that can host a file share. The FSW isn’t the “quorum location”, it is just an extra vote in the cluster for determining whether quorum (a majority of nodes available) can be reached.

      The general recommendation is to use another server that is fully in control of the Exchange admins.

      In small IT depts obviously that is not going to be a big deal and you could just use pretty much any server.

      It is possible, but not recommended, to use a domain controller as the File Share Witness.

      Edge Transport always needs to be installed on its own server. That role doesn’t co-exist with any other role.

      1. Jake Jacob

        Great. i should be set. Thanks so much for your time and response 😉

  68. Agust Muharyadi

    Hai Paul,

    I would like to ask you, for the IP address of DAG server above is 192.168.0.39? is that IP address of mailbox server 2? need your advice.

    I have 2 mailbox server, IP address of mailbox server 1 is 10.252.26.8 and IP address of mailbox server 2 is 10.252.26.10. For IP of DAG server, what will i choose for IP of DAG server?

    1. Avatar photo
      Paul Cunningham

      The DAG itself has its own IP address separate to the IP addresses of the servers that are DAG members. You should assign it an IP address in the same subnet as the MAPI (client-facing) IP addresses of the DAG members.

  69. Robbie Deol

    Thank you Paul. It is the best article on DAG out there. Diagrams make it very easy to understand.

    thank you.

    /Robbie

  70. John

    Hi Paul,
    Can I use this method to add two trusted Domain for sync between them, Domains have different names,
    Thanks

  71. Kyle

    Paul

    Found your blog recently and I am finding a lot of useful information to manage my Exchange environment.

    I have a situation coming up and wondered if you might offer comment or advice. I followed this post as I setup my Exchange platform. I have three – two server DAG clusters. Each cluster has a MAPI network and a DAG network. The MAPI network is tied to a 1GB switch and the DAG network is tied to a 10GB switch. Currently replication is configured on the DAG network.

    Due to a SAN upgrade, our 10GB switches need to be reconfigured, which will cause a reboot and outage. Can I move replication to the MAPI network to avoid having to shutdown the servers during this switch reconfiguration? Will moving replication to the MAPI network help avoid the servers trying to failover when the 10GB switches start rebooting?

    thanks for any advice you might have.

    1. Avatar photo
      Paul Cunningham

      If all dedicated replication networks are unavailable then replication will use the MAPI network instead.

  72. Doug

    One the DAG is established and functioning (not a production environment at this time), is it safe to change the IP of the DAG name, to conform with new IP role assignments? For example:

    Old messaging IP = x.y.48.47
    New messageing IP = x.y.48.147

    Assuming the same ip space and subnet.

  73. Sab

    Thanks Paul for another great article, it seems pretty simple and clean to understand.

    According to the above scenario its 3 servers, can we setup a DAG using only 2 servers, can we run both CA, HT and Mailbox role on each servers and run that as DAG

    1. Avatar photo
      Paul Cunningham

      Yes, a DAG can have anything up to 16 members.

      If you multi-role the servers you just can’t use NLB for CAS Array, as it isn’t supported on servers that are also DAG members. A hardware or virtual load balancer is required instead.

      1. Sab

        Thanks Paul for the prompt response,

        If we have to go with a virtual Load Balancer, what would you recommend, what about KEMP LoadMaster? Thanks

        1. Avatar photo
          Paul Cunningham

          I have experience with both Kemp and F5. Both are fine. I recommend you do your own evaluation (they have free trials) based on your budget and business/technical requirements.

  74. Tom

    or is it possible to create DAG, in which 3 exchange(2010 sp1) is present in same domain and all the server roles is present in the exchange ?

  75. Tom

    If its possible to create DAG, in which 3 exchanges(2010) is present in different domains and all the servers roles is present in the exchange.

  76. Mark

    I have a cross site two mailbox server configuration with DAG. Each MB primary network interface has a DHCP reservation. DAG has dynamic DHCP assigned. Is it normal for DAG to register its IP address for both DAG and MB Server name? e.g. Clients of one server are connecting via outlook to the IP of the DAG vs the IP of the MB Server name.

    1. Avatar photo
      Paul Cunningham

      The server NICs should have static IP addresses, not DHCP reservations.

      The DAG IP can be dynamic, though I prefer to assign a static IP to it (one per subnet that contains DAG members).

      The DAG name itself will be registered in DNS and should update itself if the PAM role moves to a different subnet. However clients do not connect to the DAG name, they connect to the RPCClientAccessServer name.

      So the only way I can think that you would see clients showing connections in Outlook to the DAG IP is if you’ve used the same name of the DAG itself as the RPCClientAccessServer on your mailbox databases, which is not a correct configuration.

  77. Harsh

    Hi Paul,

    Very Nice documented article . Thanks for sharing .

    Keep up your great work .

    Regards
    Harsh

  78. Carl

    Another great article, thanks.

    I’ve inherited a pickle of a system, 2 x Win 2012 DCs, with Exchange 2010 SP1 installed on them both and configured in a DAG that appears to never of worked properly! I think I’m ok with removing one of the DAG members assuming it works ok.

    What is the process of removing the last member of a DAG?

  79. Herb Mays

    I have a situation where a previous admin setup a DAG and CAS array with the same name and IP, so the DAG is called DAG and CAS array is called DAG with the IP of the Database Availability Group. Surprisingly enough the users are having RPC connection issues to the Exchange servers. My thought is to just redo the actual DAG and leave the CAS array since clients are connecting to the CAS array name already. Have you run into this before or have any articles?

    1. Avatar photo
      Paul Cunningham

      I would change the IP address of the DAG so they are no longer conflicting. You don’t need to completely rebuild the DAG though.

      1. Herb Mays

        Will changing the IP have any outage on the users or databases? I do not have a multi server lab to test I am working through the single server on your bootcamp.

        1. Avatar photo
          Paul Cunningham

          It shouldn’t impact service for users, though I’d still recommend doing it out of hours anyway.

  80. Ritchie Beltran

    Thank you for the article. Quick question regarding the replication network. If I have a 2 node DAG, am I able to just connect the 2 servers directly via ethernet instead of the replication network going via a switch since the replication network don’t need to any other server?

  81. Marc Wenger

    Thanks – this is very helpful, but a question about IP address segments. In your example you have the replication running in 10.0.5.0/30 and primary running in 192.168.0.0/24. Could I have replication running in the same subnet as the primary?

    1. Avatar photo
      Paul Cunningham

      You could. Though one of the benefits of dedicated replication networks is to completely segregate them from the primary network in terms of performance, resilience, etc.

  82. Ashraf Tammam

    why not NLB??

    1. Avatar photo
      Paul Cunningham

      NLB is not supported when the server is also a DAG member because the DAG uses Failover Clustering, which is not supported to co-exist with NLB.

      Basically NLB and Failover Clustering can’t be used on the same server, so an Exchange DAG member can’t also be an NLB member.

  83. Ashraf Tammam

    Thanks

    but is it possible for the same servers (EX1 and EX2) to have Client Access and Hub Transport server roles installed with load-balanced CAS Array configured on them with DAG?? and EX3 acts as a normal file server???

    1. Avatar photo
      Paul Cunningham

      Yes, but when the servers are DAG members you need to use hardware load balancers for the CAS Array, not Windows NLB.

  84. Ashraf Tammam

    Hello

    But i thing in ur example EX3 becomes a single point of failure
    how can i avoid that???

  85. Avishek

    Hi Paul, This is really helpful article for exchange administrator, to understanding DAG feature in depth.
    Thanks a lot for this.

    Regards,
    Avishek

  86. Ozz

    Can you advise if it’s possible to set this up as a POC on VMs?
    Also how much time would be required for the installation and testing on such a scenario?
    Thanks for the detailed post.
    Cheers,

    Ozz.

  87. Jerry

    Paul,

    Great wite up on DAG. I wanted to implement this feature in our datacenter and wanted to ask you some questions on setting up 2 Exchange 2010 server.

    Office- Domain A- 2008R2 and Exchange 2010

    1: Datacenter- Do I create a fresh domain without connecting to Office domain? Totally seperate domain name?
    2: Where do I attach the 2nd datacenter Exchange server? the main office or 2nd new domain?
    3: If for X reason 1st Domain / Exchange server goes down, how would you configuer to 1st repoint all outlook clients to datacenter AUTOMATICALLY?

    Thanks for any insight on this.

    Jerry

  88. Simon

    Hi Paul,
    Can I ask your advice on something – I’ve an existing DAG with 2 MBX servers but after installing Exchange SP2 parts of the underlying cluster are failing: When i look in Failover Cluster Manager (2008R2) i see that the Cluster Name (dagarray) is in a failed state and I think this is because there used to be an IP Address as a dependancy which has now vanished. I’ve tried removing and adding that IP address back in through EMC but it doesn’t solve the issue though EMC warns me that ‘dagarray’ is not online.

    I’ve Googled a lot and am beginng to think that I need to create a new DAG so that Exchange resets everything nicely. I’m a little concerned about this as I have 700 mailboxes spread across 13 databases. If I switchover all the databases to one of the MBX servers and then create a new DAG, remove that server from the old DAG and put it in the NEW DAG will the mailboxes be okay? If I then move the 2nd MBX server out of the old DAG and put it in the new DAG and then delete the old DAG, will everything be happy?

    Any advice you can offer woudl be much appreciated,

    thanks.

    1. Avatar photo
      Paul Cunningham

      I have no advice on that one other than to open a Microsoft support case 🙂

  89. jagadeesh

    HI thanks for above article we’ve successfully created DAG in Exchange 2010 SP1

    Do u have any article how to install Exc 2010 SP2 in a Child domain controller

    Please help me on this i’m new to this concepts

    Thanks

  90. rahul

    i made a VM of exchange server 2010 sp2 which is connected to a child domain i.e customer and nw i want to make another vm of exchange server in which i want to install DAG and this shoud also connected to that child domain(customer). plsssssss tell me, what to do?????? plssssssssss

  91. oopk

    This is really helpful article for Exchange Server Installation with Database Availability Groups. Simple way of create nods because this steps GUI based .

  92. jmills

    Regarding the DAG and Replication network, we’ve been having issues setting these up and replicating across. I’ve seen several recommendations regarding certain protocols to disable for the Replication Adapters which did not change our results. Also some stating to put DHCP enabled for replication adapters? Following your guide was not sure on your experience with the specifics. But also to be clear when setting up the IP address of the DAG, it should be an IP on the Production Network, NOT replication?

  93. vubinhsg

    hi Paul,

    very usefull and easy to understand with illustrations. i have a question. do we have to install the 2 mailbox-server-role servers from the begining and create the DAG, add the 2 MBX servers at the same time ? or we can create a DAG and add one MBX server then add the second MBX later ? as we know that the DAG can tolerate one MBX down for a short time (with the witness share evidently).

    1. Avatar photo
      Paul Cunningham

      You can create the DAG and add members at any time you wish, even after you’ve already added mailboxes to the databases on those servers. Microsoft calls this “incremental deployment”.

  94. Great Article

    Hi Paul, This is really helpful article for exchange administrator, to understanding DAG feature in depth for who wondering here and there..This really make me comfortable in case of DAG functionality.

    Hope, you will keep posting such article in future also.

    Regards
    Rajnish

  95. Brenda

    Paul

    When I go to add the database copy, it does not give me the option of the other mailbox role server to choose from, it only shows the the current mailbox server that the database is sitting on

    1. Avatar photo
      Paul Cunningham

      After creating the DAG did you add the additional mailbox servers as members of the DAG first, before trying to add database copies?

      1. Brenda

        It does not show up there as well, ( I probably should have started with that) I created the DAG on EX 2 when, and when I go to manage database database availability group membership to add EX1 it does not give me the option to EX 1 as well

      2. Avatar photo
        Paul Cunningham

        Ok so lets step back a little and try to work this one out. First the basic stuff:

        Is EX1 an Exchange 2010 server?
        Is EX1 installed as a Mailbox server?
        Is EX1 already a member of an NLB cluster?
        Is EX1 installed on Enterprise version Windows Server?
        Does EX1 appear as you’d expect in Get-ExchangeServer output?
        Is the EX1 event log clear of errors?
        Does EX1 have any other signs of being unhealthy?

      3. Brenda

        383 >> Client Access/ Hub >> Enterprise >> 14.1
        384 >> Client Access/Hub >> Enterprise >> 14.1
        382 >> Mailbox >> Enterprise >>14.1
        381 >> Mailbox >> Enterprise>>14.1

        Yes, it is Exchange 2010
        EX 381 and EX 382 are both mailbox role servers
        383 and 384 are in NLB
        I have to add that it is the other way around with 382 if I create a DAG on 382 and try to add 381 it will not show up – Thanks for your help !

      4. Brenda

        yes they are

      5. Avatar photo
        Paul Cunningham

        Hmmm. Well, a mailbox server can only be a member of one DAG at a time. I don’t suppose you’ve accidentally created two DAGs, and so the other server is already a member of a DAG and can’t be added to another one?

        If you run Get-DatabaseAvailabilityGroup do you see one or two DAGs in the results?

  96. Sudam Sahoo

    Thanks dude.I am highly appreciate to you , it helps me so much.

  97. Sam

    Good Article.I just had a doubt , it the there is Clustering between the servers, how does the external world know the Exchange server name? What is EVS Name Here ? Which will be used to configure the outlook for end users if required ?

    1. Avatar photo
      Paul Cunningham

      Hi Sam, when you create the new DAG you give it a name as one of the first steps, and later configure an IP address for it. That is the name that the DAG will be known by. There is a Failover Cluster underlying the DAG, but Exchange creates and configures that all itself when you create the DAG, so there is nothing for you to worry about there. The cluster service registers the DAG name and IP in DNS as well.

      Clients don’t connect directly to the DAG, they connect to either a single Client Access server or a Client Access Server Array (CAS Array) instead. Here is a tutorial for creating CAS Arrays:

      https://www.practical365.com/how-to-install-an-exchange-server-2010-client-access-server-array

      You can also see Exchange 2010 high availability in action in this video:

      https://www.practical365.com/exchange-server-2010-high-availability-demonstration-video

      Hope that helps clear things up for you.

      1. Cecil

        Paul,

        need some advice, I have HP Blade Servers and running VM so creating servers is not an issue. So how would you setup exchange 2010 with high Availability with cluster failover.

        any help would be great

        love reading past post have learned alot from them.

      2. Avatar photo
        Paul Cunningham

        Cecil, if you want to mix VM and DAG just make sure you read Microsoft’s support statement on that scenario. It is pretty straight forward.

  98. Santosh Kumar

    Really very effective presentaion shared.. to follow this , who is having less knowledge of DAG can also configured easily.

    Thanks.. Buddy . keep it UP !!

  99. Aneesh Mathew

    Great Article Paul.Really Helpfull…Keep on going..We are here to hear from you again.
    Thanks,

  100. Dinesh Silva

    Hi there,

    Highly appreciated your DAG configuration article and your plain English explanation is very helpful.

    Thanks and awaiting for more new articles 🙂

    regards

Leave a Reply