Understanding Replication Space Requirements

Volume replication requires space on the primary group, where the volume resides, and on the secondary group, where the volume’s replica set is stored, as shown in Figure 1: One-Way Replication .

Replication space is used as follows:

See Sizing Delegated Space and the Replica Reserve and Sizing the Local Replication Reserve for information about sizing replication space.

Sizing Delegated Space and the Replica Reserve

On the secondary group, when configuring the primary group as a replication partner, you delegate space to the primary group for storing all replica sets from the primary group. Then, on the primary group, when configuring a volume for replication, you specify the size of the replica reserve, which is the portion of delegated space that will store the volume’s replica set.

To determine the amount of space to delegate to the primary group, calculate the replica reserve requirement for each primary group volume that will ne replicated and combine the values. It is recommended that you delegate more space than is minimally needed, so you can manually increase a volume’s replica reserve to complete a replication operation.

The replica reserve for a volume can range from 105% of the volume reserve to an unlimited percentage. The default and recommended value is 200%.

To determine the appropriate size for a volume’s replica reserve, it can help to understand how the replica reserve is used:

Therefore, specifying the minimum replica reserve of 105% enables you to store more than one replica only if there are relatively few volume changes between replication operations.

If you specify the recommended value of 200% for a volume without thin provisioning, you are guaranteed the ability to retain at least two replicas in the replica reserve, even if the volume changes completely between replications. For a thin-provisioned volume, you may be able to retain only the most recent complete replica.

Note: Because replica reserve is based on the volume reserve, space requirements will increase if the volume reserve increases (for example, if you increased the size of a volume or if the volume reserve for a thin-provisioned volume automatically increased since the last replication).

It can be difficult to size the replica reserve because of these factors:

To determine the right amount of replica reserve, you may want to set a value and adjust it after monitoring replication activity. In general, you may want to be generous when initially sizing the replica reserve.

Sizing the Local Replication Reserve

The local replication reserve has two purposes: track volume changes during replication and, optionally, store the failback snapshot (the most recent complete replica). The local replication reserve can range from 5% to 200% of the volume reserve and is consumed from free space in the same pool as the base volume. The default value is 100% of the volume reserve.

When you enable replication on a volume, you must specify the local replication reserve for the volume and whether to retain the failback snapshot. The failback snapshot establishes the failback baseline for the volume (that is, the point in time at which the primary and secondary groups are synchronized) and may enable you to synchronize the groups upon failback by replicating only volume changes.

If volume writes occur during a replication, the original (unmodified) volume data is stored in the local replication reserve, progressively consuming the space. The longer replication takes, the more volume changes can potentially occur. For example, if the entire volume is re-written, 100% of the volume reserve will be needed for the local replication reserve.

If you do not keep the failback snapshot, once the replication completes, any space used in the local replication reserve is released, and the reserve is not used again until volume writes occur during the next replication.

However, if you keep the failback snapshot, the space is not released. When the next replication completes, the failback replica is replaced by the most recent replica.

For the portion of local replication reserve that tracks volume changes, the recommended value is 100%. If you want to retain the failback snapshot, add 100% to the tracking changes value to obtain the recommended local replication reserve value.

For example, if you determine that you need a value of 100% for tracking changes, and you also want to retain the failback snapshot, the recommended value for the local replication reserve is 200%.

Note: Because local replication reserve is based on the volume reserve, space requirements will increase if the volume reserve increases (for example, if you increased the size of a volume or if the volume reserve for a thin-provisioned volume automatically increased since the last replication).

Local replication reserve usage depends on the volume changes during a replication, which can vary for each replication and are based on the workload and the time it takes for the replica data transfer to complete. For example, if no volume writes occur during a replication, no local replication reserve is used for tracking changes.

However, there may be no direct correspondence between changes to the volume and the amount of local replication reserve needed. Especially in cases of random volume writes, you may find that you need relatively more local replication reserve than expected, based on the actual volume changes.

Because the local replication reserve requirement can vary for each replication, you may want to use the recommended value, monitor the space usage, and adjust the reserve as needed.

If you specify less than the recommended value for the local replication reserve, it is recommended that you enable the feature that allows a volume to temporarily borrow free pool space if the size of the local replication reserve is not adequate. Once the data transfer is complete, any used pool space is freed, unless it is being used for failback.

If the local replication reserve is insufficient, there are several scenarios that may occur:

If you find you have insufficient local replication reserve, you may be able to resolve the problem one of these ways: