I’ve recently setup Exchange 2010 in my test lab to get some hands on experience. To be honest I haven’t really touched Exchange 2007 or 2010 (until now). Most of my mail server administration is based on Exchange 2003 as that just happens to be what my last employers have used. I wanted to gain a better idea of what the newest version of Exchange could do, so with a little research I decided to start with implementing what seems to be the best new feature, DAGs.
In this walk-through I’ve listed the various steps I took, from installing the 1st Exchange server to setting the Outlook client to point to the CAS array. I’ve set it out in this way as I found all of this information readily available, but not in one single place. To an Exchange 2010 newbie, such as myself, having this information all laid out in some kind of order may help.
As noted this isn’t an ideal production configuration, but for a limited testing network this configuration is ideal if you don’t happen to have a spare NLB appliance hanging around. It gives you a very good idea of what’s going on under the hood as well as preparing for a ‘real’ implementation.
N.B as a note I used Windows 2008 R2 Server for all Exchange and Member Server OS’s.
1. Install the Exchange 2010 prerequisites
- .NET Framework 3.5 SP1
- PowerShell v2.0
- Microsoft Office System Converter Filter Pack
- Set Net.Tcp Port Sharing Service to automatic
The PowerShell commands to perform the pre-req tasks are as per below:
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy –Restart
Set-Service NetTcpPortSharing -StartupType Automatic
2. Install Exchange 2010 on x2 servers with the following roles.
- Hub Transport
- Client Access
- Management tools (only 1 server if you wish)
3. Once Exchange is installed on both servers you’ll need to configure the following:
Organisation Configuration > Hub Transport > Accepted Domains – Add the domain(s) you own, i.e. mydomain.com and right click on the chosen domain to set as the default.
Organisation Configuration > Hub Transport > Email Address Policies – Set the email address domains including primary, for each mailbox.
Organisation Configuration > Hub Transport > Send Connectors – Set a send connection, type Internet, to allow mail to be sent from this org. Set the type as SMTP and address as * to allow all mail.
Organisation Configuration > Hub Transport > Send Connectors – Add both Exchange 2010 servers under the Source Server tab.
Server Configuration > Hub Transport > Receive Connectors (note: as this is under server config you’ll need to set up the following on both servers) – EITHER add the anonymous user (under permission groups) to the default connector OR create a new connector ‘Internet’ and add the anonymous user to this. If you do create a new connector you’ll need to alter the port on the default (or delete) to something other than 25 so this can be assigned to the new connector. The advantage with creating a new connector is that you can then alter the FQDN of the HELO field from your internal address (if you’re like me it’ll be on a .local/.internal etc) and you want it on your public domain, i.e. mail.mydomain.com.
4. Install Windows 2003 or 2008, 2008 R2 onto a member server as this will be used as the witness server. Add the Exchange Trusted Subsystem group to the local Administrators group on the member server.
5. Open Organisation Configuration > Mailbox > Database Availability Groups – right click > New Database Availability Group.
- Enter a name for the DAG
- Check the Witness Server check box and enter the FQDN of the member server created in step 4.
- The default witness directory will be created on the member server at: C:DAGFileShareWitnessesDAG FQDN – check the witness directory check box if you wish to alter this.
n.b after the DAG is created it’ll attempt to contact a DHCP server. If you don’t have a DHCP server on your network you’ll have to manually assign an IP via the Exchange Management Shell (as per below:
Set-DatabaseAvailabilityGroup -identity “DAG” -DatabaseAvailabilityGroupIpAddress IP
(replacing “DAG” with your DAG name and “IP” with the ip address to be assigned to the DAG)
The DAG will also create an object under the Computers container in AD (assuming you haven’t altered the location of new objects) and also a new DNS A record.
6. Once the DAG is created you’ll need to add the Exchange member servers to it. This can be achieved by right-clicking on the DAG and selecting Manage Database Availability Group Membership. Add your Exchange 2010 servers as required.
7. Open Organisation Configuration > Mailbox >Database Management – Select the databases that will be handled by the DAG – right click > Add Mailbox Database Copy.
8. You’ll now need to create a Client Access Server Array. I created a new DNS record for this that distinguished that it was the CAS array element. This DNS record should point to the DAG IP address.
The array can be created via the Exchange Management Shell using the following command:
New-ClientAccessArray –Fqdn “cas.mydomain.local” –Site “Default-First-Site-Name”
You can then use the following command to make sure that the CAS Array has been configured correctly.
n.b this only has to be performed on one Exchange 2010 server.
9. The final step is to add all mailboxes to the new CAS array. This can be done by using the command below:
Get-MailboxDatabase | Set-MailboxDatabase -RpcClientAccessServer “cas.mydomain.local”
To check the mailboxes are using the correct RPCClientAccessServer (i.e. The Cas Array) you can use the command:
Get-MailboxDatabase |fl Identity, RpcClientAccessServer
10. Finally you’ll need to point Outlook to the new CAS Array DNS name (as previously created).