Wednesday, August 8, 2007

A few tips for Exchange Server 2007 SCC & CCR clustered Installations

Have you tried to install Exchange Server 2007 yet? Clustering is different. First of all Exchange Virtual Servers (EVS) are gone, replaced with Clustered Mailbox Server (CMS). You now have two options for clustering, Single Copy Cluster (meaning one CMS per server really) and it is not the default installation. The default is now Continuous Cluster Replication (CCR) which is something new to Exchange Server 2007,

You still install and configure clustering first, then install Exchange. But passive and active nodes are supposed to be handled differently now. And active/active clustering is simply not allowed anymore I would use setup.exe or the GUI to install both nodes as passive. This will put the Exchange bits on machine, but won't create the CMS just yet. From the command prompt you would use something like this syntax:

setup.com /mode:install /roles:mb

Which would should come back with:

Welcome to Microsoft Exchange Server 2007 Unattended Setup Preparing Exchange Setup
Copying Setup Files ......................... COMPLETED

The following server roles will be installed:

Management Tools
Mailbox Role
Performing Microsoft Exchange Server Prerequisite Check
Mailbox Role Checks ......................... COMPLETED
Configuring Microsoft Exchange Server
Copying Exchange files ......................... COMPLETED
Mailbox Server Role ......................... COMPLETED

The Microsoft Exchange Server setup operation completed successfully.
Do this for both nodes. Then on the Active node you will need to run exsetup.exe. Why? Because of this little gem in the books online:

If you already have one or more server roles installed on a computer, you cannot use the Exchange Server 2007 Setup wizard or the Setup.exe command to add or remove server roles. Instead, you must use the ExSetup.exe command.

DOH! Not knowing this means you can try Setup.exe until you are blue in the face and never get Exchange clustered.

So the ExSetup.exe to create the CMS is (replace CMSNAME with a real meanful name, replace cip with a real IP):

exsetup /mode:install /clustered /cn:CMSNAME /cip:198.168.1.100

Which would should come back with:

Welcome to Microsoft Exchange Server 2007 Unattended Setup
No server roles will be installed

Clustered Mailbox Server

Performing Microsoft Exchange Server Prerequisite Check
Configuring Microsoft Exchange Server
Clustered Mailbox Server ......................... COMPLETED
The Microsoft Exchange Server setup operation completed successfully.
This should create all the clustered resource Exchange needs.

Why not install the bits and create all the clustered resources together with the Setup.exe command? The syntax would look like this:

setup.com /mode:install /roles:mb /newcms /cn:CMSNAME /cip:198.168.1.100

If you Active Directory is large it could take a little bit for the CMS to be registered properly, in that case you might get an error this like:

Welcome to Microsoft Exchange Server 2007 Unattended Setup

No server roles will be installed

Clustered Mailbox Server Performing Microsoft Exchange Server Prerequisite Check
Clustered Mailbox Role Checks ......................... COMPLETED
Configuring Microsoft Exchange Server
Clustered Mailbox Server ......................... FAILED

The computer account 'CMSNAME' was created on the domain controller '\\dc02.clusterhelp.ad', but has not replicated to the desired domain controller (dc01.clusterhelp.ad) after waiting approxmately 60 seconds. Please wait for the account to replicate and re-run exsetup /newcms.
The Exchange Server setup operation did not complete. Visit http://support.microsoft.com and enter the Error ID to find more information.
So, you only get 60 seconds for AD to fully replicate - DOH! Interesting. See AD was using our DNS (dc02) on the Public, but the Exchange was on the private near dc01. The spelling error is Microsoft's by the way, not mine. You can add /dc:dc02.clusterhelp.ad but setup will fail if the DNS is not on the same AD site as the Exchange server. You will see this error:

Setup cannot use domain controller 'dc02.clusterhelp.ad' because it belongs to Active Directory site 'Public'. Setup must use a domain controller in the same site as this computer (Private).

Other DNS messages you might get:

Exchange setup cannot continue because DNS information for the clustered mailbox server "CMSNAME" has not finished replicating. Please run setup again after replication has completed. After replication has completed, the command "nslookup CMSNAME" should succeed.

This one again means you need to let it bake some more, let DNS replicate. Check your event logs. In some environments, you might have to wait 30 to 45 minutes for things to settle down. Just rerun the exsetup command again.

Lastly you might get this error:

Error:
Error of unknown type occured while performing exsetdata operation; the original error code was 0xc103fd2c

This means might have a duplicate DNS record that needs to be removed before CMSNAME be created. Check your event logs for the exact error and believe them! The spelling error is again Microsoft's not mine. If Exchange can't create the record look for duplicates.

If after all that you just want to give up, the command would look like this:

exsetup /mode:uninstall /removecms /cmsname:CMSNAME

So why am I only showing you the command line for ExSetup.exe? Because you can only run the GUI seutp once, after that you have to use ExSetup.exe.

Good luck, check your event logs and hopefully this will help someone else out.

----------------------------------------------------------------------------------------