Create SnapVault then SnapMirror cascade

 Goal

This workflow automates the creation of SnapVault relationship for the specified volume and then creates a SnapMirror relationship from the SnapVault destination volume that was just provisioned. As part of the implementation logic, workflow will select suitable aggregates for provisioning the destination volumes from the specified resource pools. If the resource pool is not specified (value = "NONE"), all available aggregates on the specified destination cluster are considered for provisioning. The topology for this workflow would be the following –

 

  1. Assign the selected snapshot policy to the primary volume. Any existing snapshot policy attached to the volume is replaced. It’s important to note that one can specify “NO CHANGE” as input to ensure that existing snapshot policy is retained.
  2. Once Snapshot policy is attached to the primary volume, workflow performs a license check on the clusters for “SnapVault” license.
  3. SnapVault: Select the aggregate for secondary provisioning based on the following criteria:

§  node.priority, ascending (returned by Get all aggregates by node priority and volume count) – This is for fault domain separation across nodes

§  node.volume_count, ascending (returned by Get all aggregates by node priority and volume count) – This is for load balancing across the nodes of the cluster

§  available_capacity, descending, (returned by Filter aggregates by available capacity) – This is for capacity balancing across aggregates

  1. SnapVault: Peer the source and destination Clusters. No error is returned if they are already peered. Both clusters must already have intercluster LIF/s created for each node.
  2. SnapVault: Peer the source and destination Storage Virtual Machines. No error is returned if they are already peered.
  3. Create the destination volume with the following properties:
  1. Create the SnapVault relationship between source and destination volumes with the specified policy and schedule. Use default value (unlimited) for the maximum transfer bandwidth.
  2. Start initialization of the SnapMirror relationship.
  3. Wait until the initialization is successful.

The following steps details those set of actions where the workflow will create SnapMirror relationship from destination of SnapVault relationship.

  1. Before creating the SnapMirror relationship, workflow performs a license check on the clusters for “SnapMirror” license.
  2. SnapMirror: Select the aggregate for secondary provisioning based on the following criteria:

§  node.priority, ascending (returned by Get all aggregates by node priority and volume count)

§  node.volume_count, ascending (returned by Get all aggregates by node priority and volume count)

§  available_capacity, descending, (returned by Filter aggregates by available capacity)

  1. SnapMirror: Peer the source and destination Clusters. No error is returned if they are already peered. Both clusters must already have intercluster LIF/s created for each node.
  2. SnapMirror: Peer the source and destination Storage Virtual Machines. No error is returned if they are already peered.
  3. Create the destination volume with the following properties:
  1. Create the SnapMirror relationship between source and destination volumes with the specified policy and schedule. Use default values for the tries, transfer priority and throttle.
  2. Start initialization of the SnapMirror relationship.
  3. Wait until the initialization is successful.

As part of the “Create SnapVault the SnapMirror” workflow, the following mandatory and optional user inputs are supplied,

 

 

This is the cluster where primary volume resides. It’s mandatory that it must be running Clustered Data ONTAP 8.2 or later. The lists of available clusters are displayed in the drop-down list showing cluster name, primary address and ONTAP version.

§  Storage Virtual Machine*: Storage Virtual Machine Name [Mandatory]

Select the primary Storage Virtual Machine name to which volume belongs. The list of available Storage Virtual Machine is displayed in the drop-down list for selection.

This is the primary volume to be protected. As part of the cluster and selected primary Storage Virtual Machine only, the list of volume is populated in the drop-down list for selection. This list will have Volume name, aggregate, used size, total size, and space guarantee information.

Provide the snapshot policy to be assigned to the primary volume. Policy describes the schedules and retention counts for the local Snapshot copies. Available snapshot policy list that can be used from the specified primary Storage Virtual Machine only is displayed with a drop-down list showing policy name, snapshot schedules, snapshot counts and Snapmirror labels (comma separated list). It’s important to note that the list includes cluster-scoped policies and the policies scoped to the primary Storage Virtual Machine as well.

 

Note: This is an optional input and an empty policy named “NO CHANGE” is provided to allow keeping the existing policy.

Resource Pool*: SnapVaultDestinationResourcePool [Mandatory]

Provide the resource pool for provisioning the SnapVault destination volume. If specified, the destination aggregate is selected from this resource pool. If value "NONE" is specified, all available aggregates in the cluster will be considered for the resource selection. The list of available resource pools is displayed in the drop-down list and will show resource pool name, number of aggregates, % used total capacity. There is an included value “NONE” which will facilitate a way to specify no selection.

Cluster*: SnapVaultDestinationClusterName [Mandatory]

Select the Cluster to be used for provisioning the SnapVault destination volume. If a resource pool is specified, this input will be automatically selected based on the aggregates in the specified pool. If no resource pool is specified (value = "NONE"), any available cluster can be selected. As part of the selection, a drop-down list with cluster name, primary address and ONTAP version is listed. All selected resources result will be ONTAP 8.2 and later clusters only.

Storage Virtual Machine*: SnapVaultDestination Storage Virtual Machine Name, 8.2 only [Mandatory]

Select the Storage Virtual Machine for the SnapVault destination volume. For selection, a list of available Storage Virtual Machine on the destination cluster is displayed. It’s important to note that only ‘data’ Storage Virtual Machines are shown only.

Policy: Policy to be attached to the relationship [Optional].

Select the Policy to be attached to the new SnapVault relationship. The policy has rules that specify which snapshots are transferred from the source to the SnapVault destination and also the retention count for the transferred snapshots. The policy must have at least one rule. For selection, a drop-down list showing policy name, snapshot labels, and snapshot counts for that policy (comma separated list) is listed. It’s important to note that –

o    Only the policies that can be used from the specified destination Storage Virtual Machine

o    Only the policies that have at least one rule (SnapVault limitation)

o    A policy by name “NONE” is provided to omit any policy selection.

Transfer Schedule:  SnapVaultSchedule to be attached to the relationship [Optional].

Select the Schedule for transferring snapshots to the SnapVault destination. For selection, a drop-down list showing schedule name and description is displayed (as generated by ONTAP). It’s important to note that-

o    Only the schedules on the destination cluster are selected.

o    A schedule by name “NONE” is provided to omit any schedule selection.

 

Resource Pool*: SnapMirrorDestinationResourcePool [Mandatory]

Provide the resource pool for provisioning the SnapMirror destination volume. If specified, the destination aggregate is selected from this resource pool. If value "NONE" is specified, all available aggregates in the cluster will be considered for the resource selection. The list of available resource pools is displayed in the drop-down list and will show resource pool name, number of aggregates, % used total capacity. There is an included value “NONE” which will facilitate a way to specify no selection.

Cluster*: SnapMirrorDestinationClusterName [Mandatory]

Select the Cluster to be used for provisioning the SnapMirror destination volume. If a resource pool is specified, this input will be automatically selected based on the aggregates in the specified pool. If no resource pool is specified (value = "NONE"), any available cluster can be selected. As part of the selection, a drop-down list with cluster name, primary address and ONTAP version is listed. All selected resources result will be ONTAP 8.2 and later clusters only.

Storage Virtual Machine*: SnapMirrorDestination Storage Virtual Machine Name, 8.2 only [Mandatory]

Select the Storage Virtual Machine for the SnapMirror destination volume. For selection, a list of available Storage Virtual Machine on the destination cluster is displayed. It’s important to note that only ‘data’ Storage Virtual Machines are shown only.

Policy: Policy to be attached to the relationship [Optional].

Select the Policy to be attached to the new SnapMirror relationship. The policy has rules that specify which snapshots are transferred from the source to the SnapMirror destination and also the retention count for the transferred snapshots. For selection, a drop-down list showing policy name, snapshot labels, and snapshot counts for that policy (comma separated list) is listed. It’s important to note that –

o    Only the policies that can be used from the specified destination Storage Virtual Machine

o    A policy by name “NONE” is provided to omit any policy selection.

Transfer Schedule:  SnapMirrorSchedule to be attached to the relationship [Optional].

Select the Schedule for transferring snapshots to the SnapMirror destination. For selection, a drop-down list showing schedule name and description is displayed (as generated by ONTAP). It’s important to note that-

o    Only the schedules on the destination cluster are selected.

o    A schedule by name “NONE” is provided to omit any schedule selection.

Result

This workflow protects the selected primary volume by provisioning the SnapVault destination volume and then creates a SnapMirror relationship from the SnapVault destination volume. Selected schedules and policies will be applied to both SnapVault and SnapMirror relationships.