AppAssure: How to Migrate all Data to a New Target Core and Resume Replication

This article describes how to migrate all data from a target core to a new target core and resume replication without having to re-replicate large amounts of data.

Cause

In AppAssure 5.4x and up it is possible (and for new installs it is the default operation) to have different retention policies on the source and target core servers. Even if the retention policies are the same on both cores, it is highly likely that a rollup will run at different times causing the data on the two cores to be different. When migrating the target core to new hardware, the source core will attempt to replicate any recovery points that are different from the source core to the new target when replication is configured. By following the steps below, this behavior can be avoided.

Resolution

Windows Registry Disclaimer:

Please make sure to take a backup of the source core registry HKLM\Software\AppRecovery\Core on the clients side.

Migrate the data from the current target core to the new target core:

Configure replication between the current target core and the new target core

Configure the retention policy on the new target core to match the current target core exactly. Also run Integrity check on new target core for the first time.

Allow all recovery points to replicate.

Once all recovery points are the same on both the current target and new target:

Pause replication on the source core and the old target core

Delete inbound replication for one agent on the new target core and keep all recovery points when deleting the replication configuration.

Configure replication between the source core and new target

Add the agent to replication between the source core and new target

Replication will begin immediately. Cancel the running job and pause replication for that agent

On the source core go to HKEY_LOCAL_MACHINE\SOFTWARE\AppRecovery\Core\Agents\\ReplicationService\AgentRemoteSlaveCoreSettings\0\LastReplicatedRecoveryPointTimestamp (notice 0 key) Where is the ID for the agent that is being migrated.

Copy contents of that key

On source go to HKEY_LOCAL_MACHINE\SOFTWARE\AppRecovery\Core\Agents\\ReplicationService\AgentRemoteSlaveCoreSettings\1\LastReplicatedRecoveryPointTimestamp (notice 1 key) Replace the value 0001-01-01T00:00:00 with the value in the 0 key location. It is a good idea to change the time to one hour earlier if possible, but it will resend incrementals after that time. Example: Change 2015-04-01T12:00:00.1222691Z to 2015-04-01T11:00:00.1222691Z

Resume and force replication to the new target core. Replication should finish instantaneously.

Delete old replication pairing from the source core to the old target core and keep recovery points.

Migrate the rest of the agents following these same steps

If there is no pairing from the source core to the old target core (because it has been deleted) you may use the value found in HKEY_LOCAL_MACHINE\SOFTWARE\AppRecovery\Core\Replication\RemoteCores\Slaves\\PairingStatus\Agents\0\LastReplicatedRecoveryPointTimestamp for the agent in question.

To find out which agent is which you will need to get the hostname from the key HKEY_LOCAL_MACHINE\SOFTWARE\AppRecovery\Core\Replication\RemoteCores\Slaves\\PairingStatus\Agents\0\AgentInfo key.