Deploying an Exchange 2007 SP1 CCR Cluster on a Windows Server 2008 Failover Cluster – Part 1: Prerequisites & Configuring the failover cluster nodes

Back in October 2006 when Exchange Server 2007 still was a beta 2 product (at least to the general public), I wrote an article series that walked you through how to deploy an Exchange 2007 clustered mailbox server (CMS) based on cluster continuous replication (CCR) cluster technology. Unlike a traditional Exchange cluster, a CCR cluster not only provides redundancy on the hardware level, but also provides redundancy on the storage level.

Since then clustered mailbox servers based on CCR clusters have become a very popular method for providing a cost effective high availability messaging solution that matches the service level agreement (SLA) in many of the Enterprise organizations around the world. Now that both Exchange Server 2007 Service Pack 1 (SP1) and Windows Server 2008 have been released to manufacturing (RTM), I thought it would be good timing to provide you with an article series that walks you through how to deploy an Exchange 2007 SP1 clustered mailbox server based on cluster continuous replication on Windows Server 2008, so you are prepared for those real world deployments that lie on the horizon.

Before we move on, let me first explain why it is advantageous to deploy an Exchange 2007 clustered mailbox server based on CCR cluster technology using Windows Server 2008 failover clusters instead of sticking with the well tested clustering functionality included with Windows Server 2003. First, Exchange Server 2007 SP1 can take advantage of the heavily improved failover cluster (formerly known as server cluster) component in Windows Server 2008. The Windows Server 2008 failover cluster component makes it even simpler to deploy CCR clusters and enhances the stability of the failover cluster solution as well as makes it more secure than in previous versions of Window Server. In addition, because the new failover cluster included with Windows Server 2008 supports multiple subnets, unlike Exchange 2007 RTM, Exchange 2007 SP1 includes support for geographically dispersed clusters (GeoClusters) for failover across two subnets (although the nodes must still be in the same Active Directory site). Moreover, Exchange 2007 SP1 CCR clusters support both Internet Protocol version 4 (IPv4) as well as IPv6 and DHCP assigned IP addresses (both IPv4 and IPv6 although IPv4 is not recommended unless the DHCP server is set to grant leases for an unlimited length).

Note:
Get a complete list of failover cluster improvements in Windows Server 2008.

Prerequisites

Before you can follow along with the steps provided in this article series, you must have a lab environment consisting of the following:

  • 1 Windows 2003 SP1 (preferably SP2) or Windows Server 2008 Standard edition server configured as a domain controller in an Active directory forest with a domain functional level of at least 2000 Native.

  • 1 Windows 2003 SP1 (preferably SP2) or Windows Server 2008 Standard edition server with the Exchange 2007 SP1 Client Access and Hub Transport server roles installed (optionally you can install these roles on the domain controller).

  • 2 Windows Server 2008 Enterprise edition servers that will become the nodes in the failover cluster.

The 2 Windows Server 2008 Enterprise edition servers should be equipped with 2 network interfaces (one for the public network and one for the private heartbeat network) and at least 2 disks – 1 for the System partition, 1 for Exchange databases and optionally 1 for transaction log files (in a lab environment these could also be located together with the Exchange databases).

I used the 32-bit edition of Exchange 2007 SP1 and Windows Server 2008, which meant I could get along with allocating a lot less memory to each box (500 MB for the Domain Controller, 700 MB for the server where the Client Access and Hub Transport server roles are installed, and 700 MB for each failover cluster node) than would have been the case if I used 64-bit editions.

Although the above configuration recommendations are sufficient for a lab environment, please bear in mind that the 32-bit bit edition of Exchange 2007 is not supported in production environment and that best practice recommendations for Exchange 2007 CCR clusters in a production environment are very different from what I used here.

If you, like me, only have a limited set of test boxes it is highly recommended you deploy this lab environment using a virtualization solution. If you choose to use the 32-bit editions of Exchange 2007 and Windows Server 2008, you can use anything from Microsoft Virtual PC, Microsoft Virtual Server, VMWare workstation/server or a real enterprise virtualization platform such as VMWare ESX Server or Microsoft’s new HyperVisor (HyperV) included with Windows Server 2008. Just pick your favorite!🙂

Configuring the Failover Cluster Nodes

Alright, when you have an Active Directory forest consisting of a domain controller and a member server with the Exchange 2007 Client Access and Hub Transport server roles installed we are ready to configure the two servers that will be the nodes in our failover cluster. The first thing we want to do when the servers have been turned on is to partition the disks and configure the network interfaces appropriately. To partition the disks, open the Windows 2008 Server Manager and expand Storage and then select Disk Management. Now right-click on each LUN that is offline and then select Online in the context menu as shown in Figure 1.


Figure 1: Bringing disks online

Right-click on one of the disks again and this time select Initialize Disk. In the Initialize Disk window, tick both disks and make sure MBR (Master Boot Record) is selected, unless you used disks larger than two Terabytes (TB) or use Itanium-based computers as nodes in the fail-cluster (both very unlikely!), and then click OK (Figure 2).


Figure 2: Initializing disks

The disks are now both online, and we can begin to partition them. To do so click on the unallocated disk space, then select New Simple Volume in the context menu (Figure 3).


Figure 3: Creating the simple volumes

In the New Simple Volume wizard, click Next. Specify the size of the new volume and click Next.


Figure 4: Specifying the size of the volume

We now need to assign a drive letter to the volume. When ready click Next (Figure 5).


Figure 5: Assigning a drive letter to the volume

It is time to label and format the volume. Do so and click Next (Figure 6).


Figure 6: Labeling and formatting the volume

Lastly click Finish to exit the wizard.

Perform the above steps for the second disk as well, but label it Logs (Figure 7).


Figure 7: Labeling and formatting the volume for the log files

Next step is to name the two network connections Public and Private (heartbeat) for the external and the internal network respectively as shown in Figure 8. The private network will be used only for the heartbeat between the two failover cluster nodes.


Figure 8:
Naming the network connections

A general best practice when configuring the servers that will become nodes in a failover cluster is to change the binding order of the network interfaces. To do so click Advanced > Advanced Settings, if it is not already the case, make sure Public is listed first in the binding order list, then Private (heartbeat) and lastly Remote Access Connections as shown in Figure 9.


Figure 9: Binding order

When installing Windows Server 2008, Ipv6 is enabled by default, and although this Internet Protocol version is supported by Exchange 2007 SP1, we will not use it in this series. So you should untick Internet Protocol Version 6 (TCP/Ipv6) for both the Public and Private network interface as shown in Figure 10.


Figure 10: Disabling Ipv6 on the public network interface

In addition, it is recommended you disable Client for Microsoft Networks and File and Printer Sharing for Microsoft Networks on the Private network interface.

We can now begin to configure the IP settings for each network interface. Let us start with the public network interface (Figure 11).


Figure 11: Configuring IP settings for the public network interface

Now move on and configure the IP settings for the private network interface. Notice you only should specify an IP address and a subnet mask for the private network interface as shown in Figure 12.


Figure 12: Configuring IP settings for the private network interface

Also make sure you untick Append parent suffixes of the primary DNS suffixes and Register this connection’s addresses in DNS (Figure 13).


Figure 13: Configuring DNS settings on the private network interface

Click the WINS tab and untick Enable LMHOSTS lookup and select Disable NetBIOS over TCP/IP (Figure 14).


Figure 14: Configuring WINS settings

With the network settings configured appropriately, let us move on and name each failover cluster node with meaningful names such as CCRNODE1 and CCRNODE2 or whatever naming scheme you want to use in your environment. When you have done so, add them as members in your Active Directory forest (Figure 15).


Figure 15: Changing computer name and adding it to the domain

Finally reboot the servers for the changes to take effect.

The concludes part 1 of this 3 part article series revolving around how to deploy an Exchange 2007 SP1 CCR Cluster on a Windows Server 2008 Failover cluster. In part 2, which will be published soon here on MSExchange.org, we will form the Windows Server 2008 Failover Cluster as well as deploy the CCR based clustered mailbox server.

About Tony Nguyễn
Tôi tên Tony tự Tèo trú tại thôn Tám, Trảng Thanh tỉnh Thừa Thiên. Thưở thiếu thời trí tuệ tôi thường thường, tuy thế tính tình thật thà thẳng thắng, thích thi thơ ...

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s