To set up SyncMirror with array LUNs, you must fulfill standard requirements for any SyncMirror deployment, plus a number of requirements that are unique to setting up SyncMirror with array LUNs. There are a few additional requirements specific to setting up SyncMirror for a MetroCluster configuration with array LUNs.
SyncMirror requires twice as many array LUNs as you ordinarily would need for storage so you can create mirrored aggregates. The same number and size of array LUNs must be available in each set of array LUNs that you are going to use for the two plexes of the aggregate.
For example, assume that you have a 40 GB aggregate that is composed of four 10-GB LUNs, and you want to mirror it. You must have four 10-GB LUNs available in the local location and four 10-GB LUNs in the remote location to be able to mirror the aggregate.
If the LUNs are not the same size, the following occurs:
However, space is wasted and cannot be reused. For example, if the array LUN in pool0 is 10 GB and the array LUN in pool0 is 20 GB, the mirror will be 10 GB (the pool0 LUN size.) The remaining 10 GB of space in the pool0 LUN is wasted and cannot be reused.
For example, if the pool0 (local) array LUN is 20 GB and the pool0 array LUN is 10 GB, mirroring fails.
For a non-MetroCluster deployment with SyncMirror you can use one or two storage arrays.
For a MetroCluster configuration that uses array LUNs, you must use two separate storage arrays for the mirror.
If you are using two storage arrays for mirroring, the requirements are as follows:
If you are using only one storage array for mirroring, the requirements are as follows:
You must assign all array LUNs that will be used for the aggregate and its mirror to the same Data ONTAP system. This system will own the aggregate.
All array LUNs in both sets of LUNs that will be used for the plexes of the aggregate must be the same checksum type.
The cf.mode option must be set to ha and the cf.remote_syncmirror.enable option must be set to on.
You want the data mirrored exactly on the two storage arrays so that if one plex becomes unavailable, all data can continue to be served. How you assign array LUNs to SyncMirror pools determines how the array LUNs are distributed between the two storage arrays in the MetroCluster.
For array LUNs, you must explicitly assign each array LUN to the local pool or the remote pool. To group the LUNs correctly, you must plan ahead so that you know which array LUNs are located on which storage array. Data ONTAP cannot determine this for you.
For performance reasons, in a MetroCluster configuration you want the read operations to be served from the local pool to avoid read operations over long distances.
You cannot mirror data between a native disk shelf on a Data ONTAP system and a storage array.
You can have both mirrored and unmirrored volumes in a MetroCluster configuration. However, the MetroCluster configuration can preserve data only if volumes are mirrored. Unmirrored volumes are lost if the storage on which they reside is destroyed.
Requirements for SyncMirror in a MetroCluster configuration that uses array LUNs include the following:
For more information about a MetroCluster configuration that uses array LUNs, see the Data ONTAP High Availability and MetroCluster Configuration Guide for 7-Mode.
Before you create your aggregate and mirror it, ensure that there are two paths to an array LUN.
For more information about checking paths to array LUNs, see the FlexArray Virtualization Installation Requirements and Reference Guide.