Recently, I was in charge of setting up Exchange 2007 for a company. At first, I have setup the Exchange environment with two CAS/HUB servers and two Mailbox role servers. All are in Windows 2008 server. The CAS/HUB servers are NLB (Network Load Balanced) and the two Mailbox servers are normal non clustered servers. Later, the company changed their mind and wanted the two mailbox role servers to be clustered. So this mean I have to uninstall those servers. Luckyly, this is a completely new network and no users are in it yet beside the IT members.
Let’s start the process of removing and reinstalling Exchange.
For the CAS/HUB role servers, I do not need to change them. But the process of removing the role for them is very easy, you can go to the add/remove programs under “Control Panel” to remove them. Simply unchecked the CAS/HUB role when uninstalling Microsoft Exchange 2007.
Next, comes the mailbox role servers. This is the tricky one. Since, I already have installed Exchange 2007 on to the new domain. It already written and added the Exchange columns in to the Active Directory schema. And, I will need to preserve the Public Folders information. The reason you need to save the Public Folders information is because older clients (Outlook 2000, 2003) need to be able to read the Public Folders information otherwise they can’t connect into the new Exchange 2007. To setup the clustered (e.g. CCR) Exchange, I have setup and installed another server to the same Exchange domain but the clustered mailbox role in it (e.g. Active Mailbox Cluster Role). This is the first NODE of the cluster. The second node will be added after all the information have been moved over from the non clustered servers. I then moved all users mailboxes that are pointing to the non clustered server to point to the new clustered server. I will need to move the Public Folders replica over too. In order to do this, you will need to type in the following steps at the non mailbox server ‘Exchange Management Shell’.
1. Open up the ‘Exchnage Management Shell’
2. Go into the ‘c:\program files\microsoft\exchange server\scripts’
3. Type ‘Get-PublicFolderStatistics -server YourNonExchangeServer | fl | out-file c:\pfstat.txt
4. Type ‘Get-PublicFolder -server YourNonExchangeServer \ -recurse | fl | out-file c:\pfipmsub.txt
5. Type ‘Get-PublicFolder -server YourNonExchangeServer \non_ipm_subtree -recurse | fl | out-file c:\pfnonipmsub.txt
* The above commands will get all the public folder information and saved into text files for you to review. This is only for you to verify if all the replicas have been moved over or not.
6. Now, type in the following command:
MoveAllReplicas.ps1 -Server YourNonExchangeServer -NewServer YourClusteredServer
7. The above command will take at least 2 hours and 15 minutes for all the replicas to be moved over. Also, I found that usually it will take a day for me before I am allowed to remove the mailbox role from a server after this command.
How to check if the replicas have been moved? You can simply re-entered Step 3 from above and look at the size of the output file.
Now with all the mailboxes and public folders moved over, recreate one of the server as the second NODE and join it into the cluster as a passive mailbox role server. Remember, you will need to re-install everything from scratch. Otherwise, it will give you strange errors when joining the second NODE to the cluster.