Friday, November 30, 2007

Failover cluster features supported by Exchange 2007 SP1

Failover cluster features supported by Exchange 2007 SP1 are depicted in the table below:


Sunday, November 11, 2007

What is Local Continuous Replication in Exchange 2007

Local Continuous Replication

In previous version Exchange 2000/2003 single server database, let say database suddenly crashed or disk failed to read\write database. So here my database is no more in use due to some disaster and my solution would bring back my database by mode of replacement of disk and then restoring the database by mode of RSG. What will be my server availability and time consumption to restore my database it is comparatively high and SLA will effect and business ofcourse.

But in Exchange 2007 we have concept of LCR where you can mount your database as soon as possible with less time consumption. LCR is nothing but it will keep a copy of the database and log files in another location which is called as “Passive Storage Group” from the Active Storage Group”. For copying the database and log file it uses shipping technology which is nothing replicating the data from source to destination.

Background Process of LCR

Whenever you enable the LCR function, the database are first pass through seeding process, seeding is nothing but a process that creating starting point to copy the database file, then the database is copied to destination folder and then finally logs are shipped into it. Then it will write that information to the database. When you enable the LCR you will find this event id in the application log 2014, 2015 & 2016.

Prior with the release of Exchange 2007 Beta Version we need to do seeding manually for seeding we need manually enter this following command from the powershell

suspend storagegroupcopy -identity "first storage group' (temporarily stop LCR )

update-storagegroupcopy -identity "first storage group" (seeding done here)

resume-storagegroupcopy -identity "first storage group" (resume the LCR)

With the release of Beta2 by default seeding is done at the time of enabling LCR.

Monitoring the LCR

Msexchange replication under this

copygenerationnumber & replay queue length

copygenerationnumber : The number of log file which is currently replicated

Replayqueuelength : the number of log file which is still need to play and waiting in the queue

How you can recover the database through LCR Mode

Let say I have one database called as Mailbox Store stored under First Storage Group.

Open => EMC => Server Configuration => Mailboxes => First Storage Group => Enable LCR and then follow the wizard for selecting the folder.

Now the database is seeded then log files are shipped to target folder.

One fine day let say mailbox database.edb got corrupted.

Run this command Restore-Storagegroupcopy -identity "Third Storage Group" -ReplaceLocations:$true

The above command will check the path of LCR like database, logs and check point file it will redirect the path location in EMC to LCR folder.

Then you can mount the database (mount-database –identity “Third mailbox store”)

Once you mount the database then you need to re-enable the LCR because it will stop the LCR function but before that you need to clean up all the files if you are using any old LCR folder or create a new folder instead

Disadvantages of LCR

Even though it is very good pre-backup solution for database but still there is some disadvantages

1) We can't expect that the all the data can be potentially recovered because the log files will not be in synch as they are shipped.

2) If our active storage group fails then we need to manually switch to passive storage group but it is inexpensive solution.

3) It will be used for the storage group which has only one database per storage group


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: /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:

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: /mode:install /roles:mb /newcms /cn:CMSNAME /cip:

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 '\\', but has not replicated to the desired domain controller ( 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 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 / 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 '' 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 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.