Create SnapMirror then SnapVault cascade
Goal
This
workflow automates the creation of SnapMirror relationship for the specified
volume and then creates a SnapVault relationship from the SnapMirror
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.
Note
that the SnapVault relationship in this workflow has different snapshot
retention than the SnapVault relationship that originates from a primary
volume. The difference is that only SnapMirror-created snapshots are
transferred to the SnapVault destination by the transfer schedule attached to
the second-hop SnapVault relationship. If there is no policy attached to the
second-hop SnapVault relationship, up to 251 SnapMirror-created snapshots are
retained on the SnapVault destination. Retention count of those snapshots can
be specified by attaching a policy with a special ‘sm_created’ label to the
second-hop SnapVault relationship.
The
topology for this workflow would be the following –
3.
SnapMirror:
Select the aggregate for secondary provisioning based on the following
criteria:
o
Filter Aggregates based on
effective Clustered ONTAP version (Same or newer version the source cluster)
o
Filter aggregates by available
capacity (aggregate should have more space available than the size of the
destination volume).
o
Filter aggregates by delegation
to Storage Virtual Machine (if aggregate_list of the destination Storage
Virtual Machine is populated consider one of those aggregates only. Otherwise,
consider all aggregates).
o
Filter aggregates by used space %
(aggregate should not be more than 80% full after provisioning the volume)
o
Filter aggregates excluding root
aggregates (Exclude root aggregates)
o
Filter aggregates excluding the
specified aggregate (Exclude primary aggregate)
o
Filter aggregates in a resource
Pool (filter accepts “NONE” to mean no selection)
o
Get all aggregates by node
priority and volume count(return all aggregates along with a rank based on
whether it is on the specified node or not, and volume count on the node)
o
When multiple aggregates satisfy
the selection criteria, use the following ordered criteria to sort the
aggregates and select the top one:
§ 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)
The
following steps details those set of actions where the workflow will create
SnapVault relationship from destination of SnapMirror relationship.
§ 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
As
part of the “Create SnapMirror then SnapVault” 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*:
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.
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 must
have special 'sm-created' label that specifies the retention count for the
SnapMirror-created snapshots that are transferred to the second-hop SnapVault
destination. No other SnapMirror labels are applicable for the second-hop
SnapVault relationship. If policy is omitted, up to 251 SnapMirror-created
snapshots are retained on the SnapVault destination. 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 sm_created 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.
Result
This workflow
protects the selected primary volume by provisioning the SnapMirror destination
volume and then creates a SnapVault relationship from the SnapMirror
destination volume. Selected schedules and policies will be applied to both
SnapMirror and SnapVault relationships.