Skip to main content

snapmirror update

Contributors
Suggest changes

Start an incremental transfer

Availability: This command is available to cluster and Vserver administrators at the admin privilege level.

Description

The snapmirror update command updates the destination volume or non-Data ONTAP endpoint of a SnapMirror relationship. The snapmirror update command behaves differently for data protection (DP), extended data protection (XDP) and load-sharing (LS) relationships. Refer to the -type parameter of the snapmirror create command to understand different types of relationships supported by SnapMirror.

The snapmirror update command performs an incremental transfer.

Before using this command, the relationship must be initialized using the snapmirror initialize or snapmirror initialize-ls-set commands.

For data protection SnapMirror relationships with volumes as endpoints, the snapmirror update command makes the destination volume an up-to-date mirror of the source volume with the following steps:

  • If the source volume is read-write, takes a snapshot on the source volume to capture the current image of the source volume

  • Finds the most recent snapshot on the destination volume and validates that the corresponding snapshot is still present on the source

  • Incrementally transfers snapshots that are newer than the corresponding snapshot to the destination volume

You can use the snapmirror update command to update a specific load-sharing mirror that lags behind up-to-date destination volumes in the set of load-sharing mirrors. An update to the lagging load-sharing mirror should bring it up to date with the other up-to-date destination volumes in the set of load-sharing mirrors.

Note Using the snapmirror update command to update a set of load-sharing mirrors will not work. Use the snapmirror update-ls-set command to update a set of load-sharing mirrors.

For extended data protection (XDP) relationships with a snapmirror policy of type async-mirror , a snapmirror update always creates a new snapshot on the source volume. Depending on the rules in the policy, the command might transfer just the newly created snapshot or all snapshots that are newer than the common snapshot including the newly created snapshot to the destination volume.

For extended data protection (XDP) relationships with a snapmirror policy of type vault , a snapmirror update does not create a new snapshot on the source volume but transfers only selected snapshots that are newer than the common snapshot to the destination volume. (Those older than the common copy can be transferred by using the -source-snapshot parameter.) snapshots are selected by matching the value of -snapmirror-label of a snapshot with the value of -snapmirror-label of one of the rules from the corresponding SnapMirror policy associated with the SnapMirror relationship. All matching snapshots are incrementally transferred to the destination volume.

For extended data protection (XDP) relationships with a snapmirror policy of type mirror-vault , a snapmirror update always creates a new snapshot on the source volume and transfers only selected snapshots that are newer than the common snapshot. The newly created snapshot is always selected.

For extended data protection (XDP) relationships with a snapmirror policy of type vault or mirror-vault , the snapmirror update command also manages expiration of snapshots on the destination volume. It does so by deleting snapshots that have exceeded the value of -keep for the matching rule from the corresponding SnapMirror policy associated with the SnapMirror relationship. snapshots that match the same -snapmirror-label will be deleted in oldest-first order.

For relationships with a policy of type strict-sync-mirror or sync-mirror , this command creates a new common snapshot and designates it as the exported snapshot on the destination volume. It updates the destination read-only view because IO is redirected to the new exported snapshot. Clients could experience a brief latency spike during this process as the primary IO is temporarily fenced. This command is allowed only when the relationship-status is InSync. The command retains two pairs of common snapshots and deletes the older ones.

For SnapMirror active sync relationships with Consistency Groups of FlexVol volumes as endpoints, the snapmirror update command creates a new coordinated common snapshot. The command retains two coordinated common snapshots and deletes the oldest one.

For data protection relationships, the parameter -source-snapshot is optional and only allows for the transfer of snapshots newer than the common snapshot up to the specified -source-snapshot .

For extended data protection (XDP) relationships the parameter -source-snapshot is optional.

For extended data protection (XDP) relationships with a snapmirror policy of type vault or mirror-vault , the parameter -source-snapshot allows transfer of a snapshot that is older than the common snapshot and/or might not be selected for transfer based on policy-based selection of a scheduled update transfer.

For extended data protection (XDP) relationships with a snapmirror policy of type async-mirror , the snapmirror update with parameter -source-snapshot does not create a new snapshot on the source volume. Depending on the rules in the policy, the command might transfer just the specified snapshot or snapshots that are newer than the common snapshot up to and including the specified snapshot to the destination volume.

After the snapmirror update command successfully completes, the last snapshot transferred is designated as the new exported snapshot on the destination volume. If an update to an extended data protection (XDP) relationship specifies a snapshot using the -source-snapshot parameter that is older than the common snapshot, after the snapmirror update successfully completes, the exported snapshot on the destination volume will remain unchanged.

If the snapmirror update does not finish successfully—​for example, due to a network failure or because a snapmirror abort command was issued—​a restart checkpoint might be recorded on the destination volume. If a restart checkpoint is recorded, the next update restarts and continues the transfer from the restart checkpoint. For extended data protection (XDP) relationships, the next update will restart and continue the old transfer regardless of whether the snapshot being transferred is a matching snapshot or not.

This command is supported for SnapMirror relationships with the field "Relationship Capability" showing as either "8.2 and above" or "Pre 8.2" in the output of the snapmirror show command.

For relationships with "Relationship Capability" of "8.2 and above" , you can track the progress of the operation using the snapmirror show command.

For relationships with "Relationship Capability" of "Pre 8.2" , a job will be spawned to operate on the SnapMirror relationship, and the job id will be shown in the command output. The progress of the job can be tracked using the job show and job history show commands.

For Vserver SnapMirror relationships, the snapmirror update command makes the destination Vserver an up-to-date mirror of the source Vserver.

The snapmirror update command must be used from the destination Vserver or cluster.

Parameters

{ [-S, -source-path {<[vserver:][volume]>|<[[cluster:]//vserver/]volume>|<hostip:/lun/name>|<hostip:/share/share-name>|<[vserver:]/cg/[app-cgname]>}] - Source Path

This parameter specifies the source endpoint of the SnapMirror relationship in one of four path formats. The normal format includes the names of the Vserver (vserver) and/or volume (volume). To support relationships with "Relationship Capability" of "Pre 8.2" , a format which also includes the name of the cluster (cluster) is provided. The "Pre 8.2" format cannot be used when operating in a Vserver context on relationships with "Relationship Capability" of "8.2 and above" . For SnapMirror relationships with an AltaVault source, the source endpoint is specified in the form hostip:/share/share-name . For SnapMirror relationships with a SolidFire source, the source endpoint is specified in the form hostip:/lun/name .

| [-source-cluster <Cluster name>] - Source Cluster

Specifies the source cluster of the SnapMirror relationship. If this parameter is specified, the -source-vserver and -source-volume parameters must also be specified. This parameter is only applicable for relationships with "Relationship Capability" of "Pre 8.2" . This parameter cannot be specified when operating in a Vserver context on relationships with "Relationship Capability" of "8.2 and above" .

[-source-vserver <vserver name>] - Source Vserver

Specifies the source Vserver of the SnapMirror relationship. For relationships with volumes as endpoints, if this parameter is specified, parameters -source-volume and for relationships with "Relationship Capability" of "Pre 8.2" , -source-cluster must also be specified. This parameter is not supported for relationships with non-ONTAP source endpoints.

[-source-volume <volume name>] - Source Volume }

Specifies the source volume of the SnapMirror relationship. If this parameter is specified, parameters -source-vserver and for relationships with "Relationship Capability" of "Pre 8.2" , -source-cluster must also be specified. This parameter is not supported for relationships with non-ONTAP source endpoints.

{ -destination-path {<[vserver:][volume]>|<[[cluster:]//vserver/]volume>|<hostip:/lun/name>|<hostip:/share/share-name>|<[vserver:]/cg/[app-cgname]>} - Destination Path

This parameter specifies the destination endpoint of the SnapMirror relationship in one of four path formats. The normal format includes the names of the Vserver (vserver) and/or volume (volume). To support relationships with "Relationship Capability" of "Pre 8.2" , a format which also includes the name of the cluster (cluster) is provided. The "Pre 8.2" format cannot be used when operating in a Vserver context on relationships with "Relationship Capability" of "8.2 and above" . For SnapMirror relationships with an AltaVault destinations, the destination endpoint is specified in the form hostip:/share/share-name . For SnapMirror relationships with a SolidFire destinations, the destination endpoint is specified in the form hostip:/lun/name .

| [-destination-cluster <Cluster name>] - Destination Cluster

Specifies the destination cluster of the SnapMirror relationship. If this parameter is specified, parameters -destination-vserver and -destination-volume must also be specified. This parameter is only applicable for relationships with "Relationship Capability" of "Pre 8.2" . This parameter cannot be specified when operating in a Vserver context on relationships with "Relationship Capability" of "8.2 and above" .

-destination-vserver <vserver name> - Destination Vserver

Specifies the destination Vserver of the SnapMirror relationship. For relationships with volumes as endpoints, if this parameter is specified, parameters -destination-volume and for relationships with "Relationship Capability" of "Pre 8.2" , -destination-cluster must also be specified. This parameter is not supported for relationships with non-ONTAP destination endpoints.

-destination-volume <volume name> - Destination Volume }

Specifies the destination volume of the SnapMirror relationship. If this parameter is specified, parameters -destination-vserver and for relationships with "Relationship Capability" of "Pre 8.2" , -destination-cluster must also be specified. This parameter is not supported for relationships with non-ONTAP destination endpoints.

[-s, -source-snapshot <text>] - Source Snapshot

This optional parameter specifies a snapshot to transfer. The default behavior for a data protection relationship with a read-write source is that ONTAP creates a new snapshot and uses it as the basis for determining what data is replicated; with this option, the specified snapshot will be used instead. The default behavior for an extended data protection relationship depends on the relationship's policy type. For a data protection relationship, the specified snapshot must be newer than the latest common snapshot. For an extended data protection relationship, the specified snapshot can be newer or older than the common snapshot. This parameter is not supported for relationships with "Relationship Capability" of "Pre 8.2" .

[-k, -throttle <throttleType>] - Throttle (KB/sec)

This optional parameter limits the network bandwidth used for the update transfer. It sets the maximum rate (in Kbytes/sec) at which data can be transferred during the operation. If this parameter is not specified, the throttle value configured for the relationship with the snapmirror create or snapmirror modify command will be used. To fully use the network bandwidth available, set the throttle value to unlimited or 0 . The minimum throttle value is four Kbytes/sec, so if you specify a throttle value between 1 and 4 , it will be treated as if you specified 4 . For FlexGroup and Application Consistency Group relationships, the throttle value is applied individually to each constituent relationship. The -throttle parameter does not affect load-sharing transfers and transfers for other relationships with "Relationship Capability" of "Pre 8.2" confined to a single cluster.

[-transfer-priority {low|normal}] - Transfer Priority

This optional parameter specifies the priority at which the transfer runs. The default value for this parameter is the value in the SnapMirror policy associated with this relationship. This parameter is not applicable to relationships with a "Relationship Capability" of "Pre 8.2" .

[-enable-storage-efficiency <true>] - Enable Storage Efficient Transfers

This is an optional parameter. For an extended data protection (XDP) relationship that is currently not storage efficient, set this parameter to true to enable storage efficient transfers. Storage efficient in this context refers to both over the wire efficiency and how the data is written to the destination volume. The transfer fails if storage efficiency cannot be achieved. If the transfer succeeds, future transfers will continue being storage efficient as long as it is still feasible, but will not fail if the transfer is not storage efficient. The default value is false. This parameter is not supported for relationships with non-Data ONTAP endpoints.

[-w, -foreground <true>] - Foreground Process

This specifies whether the operation runs as a foreground process. If this parameter is specified, the default setting is true (the operation runs in the foreground). When set to true , the command will not return until the process completes. This parameter is only applicable to relationships with "Relationship Capability" of "Pre 8.2" .

Examples

To update the mirror relationship between the destination endpoint vs2.example.com:dept_eng_dp_mirror3 and its source endpoint, type the following command:

vs2.example.com::> snapmirror update -destination-path
       vs2.example.com:dept_eng_dp_mirror3

For relationships with "Relationship Capability" of "Pre 8.2" , to update the mirror relationship between the destination endpoint cluster2://vs2.example.com/dept_eng_dp_mirror3 and its source endpoint, type the following command:

cluster2::> snapmirror update -destination-path
         cluster2://vs2.example.com/dept_eng_dp_mirror3

To update the Vserver SnapMirror relationship between destination endpoint dvs1.example.com: and its source endpoint, type the following command:

cluster2::> snapmirror update -destination-path
      dvs1.example.com:

To update the SnapMirror active sync relationship with the destination Consistency Group cg_dst in Vserver vs2.example.com , type the following command on the destination cluster:

destination::> snapmirror update -destination-path
        vs2.example.com:/cg/cg_dst

To update the Application Consistency Group relationship with the destination Application Consistency Group app_cg_dst in Vserver vs2.example.com , type the following command on the destination cluster:

destination::> snapmirror update -destination-path
        vs2.example.com:/cg/app_cg_dst