Standby Continuous Replication (Part I)
To enable more disaster-recovery situations/possibilities Microsoft introduced Standby Continuous Replication in its Service Pack 1 for Exchange Server 2007.
Characteristics that are distinguishing SRC from LCR and CCR (from Exchange Server SP1 Help):
SCR supports multiple targets per storage group. LCR and CCR support only one replication target per storage group (the passive copy).
SCR includes a built-in delay for replay activity, and allows enables an administrator to specify an additional delay. This is useful in a variety of scenarios. For example, in the event of logical corruption of an active database, the built-in and additional admin-configured delay could be used to prevent logical corruption of an SCR target database.
In the RTM version of Exchange 2007, rules are enforced so that in a continuous replication environment a log file is not deleted unless and until it has been backed up and replayed into the copy of the database. This rule is modified when using SCR. SCR (which introduces the concept of multiple database copies) allows log files to be truncated at the SCR source as soon as they are inspected by all SCR target machines. Log truncation at the SCR source server does not wait till all logs have been replayed into all SCR targets because SCR target copies can configured with large log replay lag times.
Unlike CCR and LCR, you cannot back up an SCR copy. When using SCR, the database headers for SCR copies are updated, and the log files are truncated, when supported backups are taken against the source storage group (or, in the case of LCR and CCR, when backups are taken against either the active or passive copies of the source storage group).
So, if you want to enable "log shipping" for one of Exchange's Storage Groups in your organization you need to go through one command and some prerequisites :)
Storage Group you want to "replicate" to the other Exchange server is on the server which is called Source server and can be:
- Standalone mailbox server (with or without LCR enabled)
- Clustered mailbox server in a single copy cluster
- Clustered mailbox server in a CCR environment
The server where you want to replicate logs to is called target server. It can be one of the following:
- A standalone mailbox server (without LCR enabled for any storage groups)
- A node in a failover cluster where the Mailbox role is installed, but no clustered mailbox server has been configured in the cluster.
I will test SCR on clusters some other time and post it on my blog. I tested some of the possibilities already but I am not "satisfied" with results. I will post my discoveries on this later.
To enable Standby Continuous Replication you must run following command:
enable-storageGroupCopy BYPASS\WISHTOCOPYSG -StandByMachineName SCR -ReplayLagTime 0.0:0:0
There is a new parameter -StandByMachineName for enable-StorageGroupCopy command. This parameter is crucial and actually enables Standby Continuous Replication. I will explain other parameters in the second part of the SCR.
NOTE: If your logs and database on the source server reside on drive X:\ and drive Y:\ respectively, than you need to have drive X:\ and drive Y:\ on the target server too.
There is one error I got when I enabled SCR in my test environment. EventID 2074 from MSExchangeRepl source.
SCR enables share on Storage Group log folder and if this share is not created, as in my case, log shipping cannot start. So what I did is I copied 04d2dd45-743b-49c2-ab07-b87126f5d27e$ part of the error and created the share with that name on the source server myself.
Share permissions on Storage group log folder:
- Exchange Servers -Read
- Exchange Servers - Read