As I have already explained on my previous blog, that Email has become quite critical service within an organization. Service down of an email might bring the business down. Hence every organization would like to configure HA (High Availability) of Email Services. Since there has been restructure of an Architecture of Exchange server 2016, it has been different from the previous Exchange Servers.
In previous version of Exchange server, we use to configure 4 (Four) boxes for HA. Which consist of 2 (Two) CAS servers and 2(Two) Mailbox servers. For CAS Servers, we use to do Network Load Balancing using either Windows Network Load Balancer (cheap solution) or Hardware Load Balancer (Recommended Solution). And for the mailbox servers, we use to configure DAG (Database Availability Group) which internally does Failover cluster between the databases of mailbox servers.
Now in case of Exchange 2016, CAS, HUB and Mailbox is on same box but you cannot perform WNLB and Failover cluster on same machines. You need to have different and on Exchange 2016 it is almost impossible. Although DAG can be achieved by So the trick comes over here to create HA, Although Mailbox HA can be configured with DAG while for CAS HA can be achieved by following method
DNS Round Robin
Hardware Load balancer (recommended)
On this blog, I am going with the configuration of DAG on Exchange 2016. And Below is my Architecture of lab configured with Exchange server.
|Exchange Server 01
|Exchange Server 02
Here is what I have configured the Network Connections for both of the Exchange server, to have DAG you need to have at least 2 NIC on each machine with 2 different isolated network IP’s. Over here in the snap PROD NIC consist of MAPI IP and REP NIC consist of Replication IP.
Also, you need to make sure that on the Replication IP does not have Gateway and you need to make sure to uncheck on ‘Register this connection’s addresses in DNS’ as on the snap below.
Here is the configuration of my server, as explained above.
If I check the Database Availability Groups, I find it empty as it has not been configured yet.
But, before Creating New DAG make sure all the exchange server is member of Exchange Trusted Subsystem as of the below snap.
Here on ‘Database Availability Groups’ Click on ‘+’ to create a new DAG.
A new window will get open, Provide the detail of your new DAG. Also, keep witness server different from you exchange servers, this witness server manages the failover between your mailbox databases. During the creation of DAG, you will notice that on exchange 2016 also there is setting of IP less DAG also. But this is not recommended as you don’t want your DAG IP getting swinging on production environment.
After the configuration of the DAG if you see the properties, you will find none of the exchange servers are associated.
Now, it’s time to Add your server as a member of DAG. To add server as member of DAG, click on ‘Manage DAG membership’.
On the new window, click ‘+’ to Add member exchange server on the DAG.
Once you click on Save Button, it will start to installing Failover Cluster on those member servers.
Once the configuration is complete, click on close.
Once, the addition of the DAG member is complete, you can see a member server on the ECP Screen.
After adding machine on the DAG, you will be able to see the DAG members as of the below snaps on properties of newly created DAG.
similarly, you can manage the Network interface on the Manage network for Mapi connection and Rep connection.
Once the configuration is finish, you can use cmdlet ‘Get-DatabaseAvailabilityGroupNetwork | fl’ to find the detail of your DAG Network Configuration.
Creating the DAG does not keep your Databases on redundant mode, to make your databases redundant you need add the copy of the databases using DAG on different machines. Below is the snap shot that I do have 2 databases on 2 machines, and now I am going to keep copy of those database on different machine.
To add the database copy, click on ‘…’ and select ‘Add Database copy’.
A new window to ‘Add Mailbox Database Copy’ will get open, Click on Browse to add Mailbox server. On Replay Lag time (days), you can keep the lag copy of your database on those servers. Once configuration is done, click on Save.
While the process of saving the configuration, it will start to copy the database of the primary server to the other servers and time of copy depends upon the size of Database.
After the completion of copy, click on Close.
Now on ECP, Serversà Databases you can see Name of database with copies on different servers as of below snap. This is what we do with DAG of Mailbox and our mailbox is now in HA state.
If there is any query, please drop it on comment. Will try to resolve it as smooth as it could be. Thank you.