Table of ContentsView in Frames

Example of SyncMirror pool assignments for array LUNs

A SyncMirror deployment with array LUNs requires careful planning so that you assign array LUNs on the local storage array to the local pool and array LUNs on the remote storage array to the remote pool.

The following illustration shows the configuration for this example. The storage arrays are the same model, which is required to set up SyncMirror with array LUNs.

This graphic is described by the surrounding text.

For simplicity, this example discusses mirroring of just one aggregate on system vs1 (one-way mirroring). However, you can set up two-way mirroring; that is, you can mirror an aggregate owned by vs1 and also mirror an aggregate owned by vs2.

Assume that you want to create a 20-GB aggregate on system vs1 using two 10-GB LUNs, and you want to use SyncMirror to be able to mirror that aggregate. The total amount of storage that is required to set up mirroring is 40 GB, 20 GB from each storage array. The aggregate is created from the LUNs on USP-A (because USP-A is the storage that is local to vs1). To be able to mirror the aggregate, two 10-GB LUNs must be available on USP-B.

Availability of array LUNs

Assume that the storage array administrator made the following 10-GB LUNs available to Data ONTAP and that you are going to use these LUNs for mirroring:

Assignment of LUNs to a Data ONTAP system

System vs1 will be the owner of the aggregate. Therefore, you must assign both sets of LUNs that will be used for the plexes of the aggregate to vs1. You should assign the -p pool parameter when you initially assign each array LUN to vs1. If you assign array LUNs to pools later, you must unassign the LUNs in the remote location and assign them to vs1 again, this time with the remote LUNs assigned to pool1.

Pool (-p) parameter settings for this example are as follows:

The commands are as follows (assuming the checksum type is block):

System vs1 now owns two LUNs on each storage array. The pools are specified correctly so that when the mirrored aggregate is created, LUN20 and LUN21 can be the mirror of LUN1 and LUN2. The checksum type is the same for all the array LUNs that will be in the two plexes of the aggregate.

Note: Be sure to check that there are two paths to each LUN before creating the aggregate and mirroring it.

Creation of the aggregate and mirroring it

You can create the aggregate and mirror it all in the same command or create a mirrored aggregate later by adding a plex to an existing aggregate. The command formats are as follows:

To... The command format to use is...
Create an aggregate and mirror it in the same step aggr create aggrname -m -d disk-list_plex0 -d disklist_plex1

disk-list is the array LUNs to add to the plex.

Add a plex to an existing aggregate aggr aggrname mirror -d disk-list_plex1

disk-list is the array LUNs to add to the plex.

The following command creates the aggregate for this example and mirrors it. Plex 0 of the aggregate named vs1aggregate is created with LUN 1 and LUN2, and the other plex of the aggregate is created with LUN20 and LUN21:

aggr create vs1aggregate -m -d LUN1 LUN2 -d LUN20 LUN21

During creating of a mirrored aggregate, the same number and size of array LUNs needs to be specified for each plex. Also the LUNs needed for plex 1 must exist on the storage array and have been assigned to pool1 (the remote pool).