The official TechNet documentation for establishing a Windows 2003 / Exchange 2007 SP1 cluster can be found at: 

What I want to do in this blog post is outline an alternate method for installing the cluster different from the instructions referenced above for Windows 2003 clustered nodes.

The first recommendation that I make when establishing the cluster service is to not use the GUI mode setup included with Exchange 2007.  My main rational for this advice is that when GUI mode setup fails you generally have to revert to command line setup to correct conditions and repeat the setup operations.  With this in mind it’s much easier to start with the command line setup and continue through.

In each of the links above you will see that the basic structure of a command line setup for the active roles installation is:

setup.com /mode:install /roles:mailbox /newCMS /cmsName /cmsIPAddress [/css] [/cmsDataPath]

The passive role installation is:

setup.com /mode:install /roles:mailbox

The way to think about the active role command is the combination of the passive role (setup.com /mode:install /roles:mailbox) with the establishment of the clustered services (setup.com /newCMS /cmsName /cmsIPAddress [/css] [/cmsDataPath]).

These commands do not have to be run together.  With this in mind my second recommendation is to establish the passive role first on each clustered node.  I recommend this for a few reasons:

  • By separating the commands we can identify failures and address them easier.
  • This method uses a foundational approach whereby the nodes are established and the cluster services verified, the mailbox roles established and verified, and only after that the clustered instance established and verified.
  • When the commands are combined, and the failure occurs in the /newCMS portion of the command, further setup attempts using the same command error indicating the mailbox roles is currently installed and must be uninstalled.  Although the error is true, uninstalling the mailbox role and rerunning the same command without correcting the conditions that failed the cluster portion of setup will generally result is hitting the same error again (and thus the loop continues).
  • In a shared storage environment the restart of the clustered services during mailbox role installation causes storage to move between nodes.  Setup attempts to move this storage back, but is sometimes not successful in doing so.  This causes the /newCMS portion of the setup command to fail, and thus the active role command to fail.  Separating the commands allows us to establish storage and arbitrate it to the “active” node for setup operations after the mailbox role has been installed.
  • A setup code error exists where when an existing CMS exists in a cluster, and the passive node installation is run, the passive nodes machine account is promoted to full control permissions of the CMS.  This results in errors in the management console and management shell that an account was found with full administrator rights that is not an Exchange administrator.  (Note:  The error is truly benign, I just point it out because it is annoying.)

Now I will outline for you the steps that I use when establishing a Windows 2003 / Exchange 2007 SP1 Cluster.  Please refer to these additional blog posts for some other helpful information regarding these installations:

In all instructions below the assumption is that the cluster service and appropriate quorum type have been established and fully configured.  The instructions also outline only the establishment of the Exchange resources, the TechNet documentation referenced above should be used to establish the specific cluster service requirements and other installation / management tasks for an Exchange 2007 SP1 clustered installation on Windows 2003.

 

Windows 2003 / Exchange 2007 SP1 Cluster Continuous Replication (CCR)

  • On each node, run setup.com /mode:install /roles:mailbox.
    • This will establish the “passive” installation.
    • A reboot will be required post installation.
  • Install the appropriate Exchange 2007 SP1 rollup update for your organization.
  • On the “active” node, run setup.com /newCMS /cmsName:<NAME> /cmsIPAddress:<IPAddress>
    • This will establish the “active” installation.

At this point the replication service will begin copying log files from the new databases created and bring both sides into synchronization.  This completes the setup of a Windows 2003 / Exchange 2007 SP1 CCR cluster.

 

Windows 2003 / Exchange 2007 SP1 Single Copy Cluster (SCC)

  • After establishing the clustered services any shared storage must be prepared for the Exchange installation.  Consider the following regarding shared storage:
    • Any lettered physical volume found during cluster creation will have a physical disk resource created for it and each of these resources placed into temporary groups.
    • When using cluster administrator, these groups will look like Group0 / Group1 / Group2 / etc each holding a single physical disk resource.
    • Any mountpoints established on the system are not automatically assigned physical disk resources in the cluster.
  • To prepare the shared storage:
    • Create a new group within cluster administrator, name the group with a temporary name.  (Do not use the Exchange CMS name for this group).
    • Move all physical disk resources from their temporary group (GroupX) to the new group created.
    • If mountpoints are in use, create new physical disk resources in the temporary group you created for each mountpoint that exists on the node.
    • Mountpoint physical disk resources should be configured with a dependency of the lettered physical disk resources hosting the mountpoint.
    • Delete the temporary groups (GroupX) that should now be empty.
  • On each node, run setup.com /mode:install /roles:mailbox
    • This will establish the “passive” installation.
    • A reboot will be required post installation.
  • Install the appropriate Exchange 2007 SP1 rollup update for your organization.
  • Using cluster administrator, move the group holding the physical disk resources to the “active” node.
  • On the “active” node, run setup.com /newCMS /cmsName:<NAME> /cmsIPAddress:<IPAddress> /css /cmsDataPath:<Path to folder on shared disk>
    • This will establish the “active” installation storing the initial database and log files on the shared disk path specified in the command.
  • Address the remaining shared storage requirements:
    • Physical disk resources must be moved from the temporary group you created to the Exchange CMS group created during setup.
    • As outlined in TechNet documentation, the dependencies for the database instances must be configured so that each database is dependant on the physical disks where the files reside.

 

By using these steps you should hopefully be able to simply your Exchange 2007 SP1 clustered installation on Windows 2003 and more easily address errors that may arise during the clustered setup.