Deploying CCR on Windows Server 2008 by Command-Line Only

With the release of Exchange 2007 SP1, you can deploy cluster continuous replication (CCR) on Windows Server 2008, and enjoy the benefits of Windows 2008 failover cluster improvements. But did you know the deployment of CCR on Windows 2008, including the formation and configuration of the cluster, can be done via the command-line, without using any graphical user interface (GUI) interfaces, such as the Failover Cluster Management tool, or the Exchange 2007 SP1 Setup Wizard. Here's a series of commented commands you can use to do the deployment. You can even add the commands into a script, and automate the deployment.

Note that these commands assume that you have the following:

  • Two servers that will be the nodes in the failover cluster
  • A third server that will host a file share for the file share witness

# Install Windows Failover Clustering
# Run this on each server that will be a cluster node
ServerManagerCmd -i Failover-Clustering

# Create failover cluster
# Run this on one of the intended nodes
cluster /cluster:<ClusterName> /create /nodes:"<NodeName> <NodeName>" /ipaddress:ClusterIPAddress/SubnetMask

Note that if you want a two-subnet failover cluster, the last parameter would be: /ipaddress:"ClusterIPAddress/SubnetMask ClusterIPAddress2/SubnetMask2"

# Configure cluster tolerance for missed heartbeats
# Run on either cluster node
# Use this for single-subnet clusters
cluster <ClusterName> /prop SameSubnetThreshold=10
# Use this for two-subnet clusters
cluster <ClusterName> /prop CrossSubnetThreshold=10

# Create and secure the file share that will be used by the FSM quorum
# Run this on the server that will host the share (e.g., a Hub Transport server)
# In the second command, VCO (virtual computer object) is the cluster computer account (e.g., cluster name)
mkdir <Directory>
net share <shareName>=<Directory> /GRANT:VCO,FULL
cacls <Directory> /G BUILTIN\Administrators:F <VCO>:F

# Configure the cluster to use the Node and File Share Majority Quorum
# Run this on either node in the cluster
Cluster /cluster:<ClusterName> res "File Share Witness (UNCPath)" /create /group:"Cluster Group" /type:"File Share Witness" /priv SharePath=<UNCPath>
Cluster res "File Share Witness (UNCPath)" /online
Cluster <ClusterName> /quorum:"File Share Witness (UNCPath)"

# Configure cluster network roles
# Run this on either node in the cluster
Cluster <ClusterName> network "NameofPrivateNetwork" /prop Role=1

# Install Exchange and create a clustered mailbox server (CMS)
# Run this only on the node that will initially be the active node
Setup.com /roles:Mailbox /newcms /CMSname:<NameofClusteredMailboxServer> /CMSIPAddress:<ClusteredMailboxServerIPAddress>

Note that in a two-subnet environment, the above command will use the /CMSIPV4Addresses parameter instead of /CMSIPAddress

# Stop the CMS after Setup has completed
# Run this on the active node
Stop-ClusteredMailboxServer <CMSName> -StopReason Setup -Confirm:$false

# Restart the active node
# You can use the Shutdown.exe tool to automate this (I might add a sample command later)

# Install Exchange on the passive node
# Run this only on the passive node
Setup.com /roles:Mailbox

# Restart the passive node

# Configure CMS NetName DNS TTL value
# Run this on either node in the cluster
cluster.exe res <CMSNetworkNameResource> /priv HostRecordTTL=300

At this point, what's left is to test handoffs and failovers, configure mount and failover settings, and configure the transport dumpster.

Visit here for more information on installing CCR on Windows 2008.