logo

Manual Pages


Table of Contents

NAME

na_snapmirror - volume and qtree mirroring

SYNOPSIS

snapmirror { on | off }

snapmirror status [ options ] [ volume | qtree ... ]

snapmirror initialize [ options ] destination

snapmirror update [ options ] destination

snapmirror quiesce destination

snapmirror resume destination

snapmirror break destination

snapmirror resync [ options ] destination

snapmirror destinations [ option ] [ source ]

snapmirror release source destination

snapmirror { store | retrieve } volume tapedevices

snapmirror use destination tapedevices

snapmirror abort [ options ] destination ...

snapmirror migrate [ options ] source destination

DESCRIPTION

The snapmirror command is used to control SnapMirror, a method of mirroring volumes and qtrees. It allows the user to enable and disable scheduled and manual data transfers, request information about transfers, start the initializing data transfer, start an update of a mirror, temporarily pause updates to a mirror, break mirror relationships, resynchronize broken mirrors, list destination information, release child mirrors, store volume images to tape, retrieve volume images from tape, and abort ongoing transfers.

SnapMirror can be used to asynchronously replicate whole volumes or qtrees and synchronously replicate volumes. The processes and behaviors involved are slightly (and sometimes subtly) different between the kinds of data mirroring.

The SnapMirror process is destination-driven. The snapmirror initialize command starts the first transfer which primes the destination with all the data on the source. Prior to the initial transfer, the destination must be ready to be overwritten with the data from the source; destination volumes must be restricted (see na_vol(1)), and destination qtrees must not yet exist.

For asynchronous mirrors, the destination periodically requests an update from the source, accepts a transfer of data, and writes those data to disk. These update transfers only include changes made on the source since the last transfer. The SnapMirror scheduler initiates these transfers automatically according to schedules in the snapmirror.conf file.

Synchronous mirrors will initially behave as asynchronous mirrors but will trasition into synchronous at the first oportunity. These mirrors may fall back into asychronous mode on request of the user or error.

The snapmirror update command can be used to initiate individual transfers apart from the scheduled ones in snapmirror.conf.

After the initial transfer, the destination is available to NFS and CIFS clients, but in a read-only state. The status of a destination will show that it is snapmirrored (see na_vol(1) or na_qtree(1) for more details on displaying the destination state).

To use the destination volume or qtree for writing as well as reading, which is useful when a disaster makes the source volume or qtree unavailable or when you wish to use the destination as a test volume/qtree, you can stop mirroring and make the destination writable with the snapmirror break command. This command changes the destination's status from snapmirrored to broken-off, thus making it writable. The snapmirror resync command can change a former destination's status back to snapmirrored and will resynchronize its contents with the source. (When applied to a former source, snapmirror resync can turn it into a mirror of the former destination. In this way, the roles of source and destination can be reversed.)

A filer keeps track of all destinations, either direct mirrors or mirrors of mirrors, for each of its sources. This list can be displayed via the snapmirror destinations command. The snapmirror release command can be used to tell a filer that a certain direct mirror will no longer request updates.

To save network bandwidth, tape can be used to prime a new mirror volume instead of the snapmirror initialize command. The snapmirror store command dumps an image of the source volume to tape. The snapmirror retrieve command restores a volume image from tape and prepares the volume for update transfers over the network. If multiple tapes are used to create a volume image, the snapmirror use command is used to instruct a waiting store or retrieve process to write output or accept input to/from a new tape device. This the store and retrieve commands cannot be used with qtrees.

The snapmirror migrate command is used on an existing source and destination pair to make the destination volume a writable "mimic" of the source. The destination assumes the NFS filehandles of the source, helping the filer administrator to avoid NFS re-mounting on the client side.

The snapmirror.conf file on the destination filer's root volume controls the configuration and scheduling of snapmirror on the destination. See na_snapmirror.conf(5) for more details on configuration and scheduling of SnapMirror.

Access to a source is controlled with the snapmirror.access option on the source filer. See na_options(1) and na_protocolaccess (8) for information on setting the option.

(If the snapmirror.access option is set to "legacy", access is controlled by the snapmirror.allow file on the source filer's root volume. See na_snapmirror.allow(5) for more details.)

SnapMirror is a licensed service, and a license must be obtained before the snapmirror command can be used. SnapMirror must be licensed on both source and destination filers. See na_license(1) for more details.

USAGE

The snapmirror command has many subcommands. Nearly every command takes a destination argument. This argument takes two different forms. The form used for a particular invocation depends on whether you're specifying a volume or a qtree.

Volumes are specified by their name:

         vol1

Qtrees are specified by their fully-qualified path:

         /vol/vol1/qtree

There is a special path that can be used to snapmirror all the data in a volume which does not reside in a qtree. This path can only be used as a snapmirror source, never a snapmirror destination. The path is specified as:

         /vol/vol1/-

All commands which don't say otherwise can take any of these forms as an argument.

The snapmirror subcommands are:

on
Enables SnapMirror data transfers and turns on the SnapMirror scheduler. This command must be issued before initiating any SnapMirror data transfers with the initialize, update, resync, store, or retrieve subcommands. This command also turns on the SnapMirror scheduler, which initiates update transfers when the time matches one of the schedules in the snapmirror.conf file. This command must be issued on the source side for the filer to respond to update requests from destinations.

off
Aborts all active SnapMirror data transfers and disables the commands which initiate new transfers (initialize, update, resync, store, and retrieve), and turns the SnapMirror scheduler off.

The on/off state of SnapMirror persists through reboots, and is reflected by the snapmirror.enable option. This option can be set off and on, and doing so has the exact same effect as the snapmirror on or snapmirror off commands.

status [ -l | -q ] [ volume | qtree ... ]

Reports status of all the SnapMirror relationships with a source and/or destination on this filer. For each SnapMirror relationship, the status shows the state of the destination, how far behind from the source the destination is, whether a transfer is in progress, and the amount of data transferred so far if it is in progress. This command also reports whether SnapMirror is on or off.

If any volume or qtree arguments are given to the command, only the SnapMirror relationships with a matching source or destination will be reported. If the argument is invalid, there won't be any status in the output.

If the -l option is given, the output displays more detailed information for each SnapMirror relationship.

If the -q option is given, the output displays the volumes and qtrees that are quiesced or quiescing. See the quiesce command, below, for what this means.

See the Examples section for more information on snapmirror status.

initialize [ -S source ] [ -k kilobytes ] [ -s src_snap ] [ -c create_dest_snap ] [ -w ] [ -L ] destination

Starts an initial transfer over the network. An intial transfer--either over the network or from tape--is required before update transfers can take place. The initialize command must be issued on the destination filer. If the destination is a volume, it must be restricted (see na_vol(1) for information on how to examine and restrict volumes). If the destination is a qtree, it must not already exist (see na_qtree(1) for information on how to list qtrees). If a qtree already exists, it must be renamed or removed (using an NFS or CIFS client), or snapmirror initialize to that qtree will not work.

If the snapmirror status command reports that an aborted initial transfer has a restart checkpoint, the initialize commmand will restart the transfer where it left off.

The -S option specifies a source filer and volume or qtree path, in a format to destination arguments. The source must match the entry for the destination in the snapmirror.conf file. If it doesn't match, the operation prints an error message and aborts. If the -S option is not set, the source used is the one specified by the entry for that destination in the snapmirror.conf file. If there is no such entry, the operation prints an error message and aborts.

The -k option sets the maximum speed at which data is transferred over the network in kilobytes per second. It is used to throttle disk, CPU, and network usage. This option merely sets a maximum value for the transfer speed; it does not guarantee that the transfer will go that fast. If this option is not set, the filer transmits data as fast as it can. The effect of this option on initialize is similar to the effect of setting the kbs argument in the snapmirror.conf file (see na_snapmirror.conf(5)).

The -c option only works for an initialize to a qtree. With this option SnapMirror creates a snapshot named create_dest_snap on the destination after the initialize has successfully completed (so that it does not compete with any ongoing updates). SnapMirror does not lock or delete this snapshot. create_dest_snap cannot be hourly.x, nightly.x, or weekly.x, because these names are reserved for scheduled snapshots.

The -s option only works for an initialize to a qtree. It designates a snapshot named src_snap from which SnapMirror transfers the qtree, instead of creating a source snapshot and transferring the qtree from the new snapshot. This option is used to transfer a specific snapshot's contents; for example, it can transfer a snapshot that was taken while a database was in a stable, consistent state. SnapMirror does not lock or delete the src_snap. src_snap cannot be hourly.x, nightly.x, weekly.x, snapshot_for_backup.x or snapshot_for_volcopy.x.

The -w option causes the command not to return once the initial transfer starts. Instead, it will wait until the transfer completes (or fails), at which time it will print the completion status and then return.

The -L option allows the user to establish a SnapMirror relationship from a SnapLock source volume to a SnapLock destination volume. Note that the initialize operation to a SnapLock destination volume is otherwise not permitted, however, with this option SnapMirror converts the non SnapLock destination volume to a SnapLock volume provided that the source volume is SnapLock. This option is not available for qtrees.

update [ -S source ] [ -k kilobytes ] [ -s src_snap ] [ -c create_dest_snap ] [ -w ] destination

For asynchronous mirrors, an update is immediately started from the source to the destination to update the mirror with the contents of the source.

For synchronous mirrors, a snapshot is created on the source volume which becomes visible to clients of the destination volume.

The update command must be issued on the destination filer.

The -S option sets the source of the transfer, and works the same for update as it does for initialize.

The -k option sets the throttle, in kilobytes per second, of the transfer, and works the same for update as it does for initialize.

The -c option only works for an update to a qtree. With this option SnapMirror creates a snapshot named create_dest_snap on the destination after the update completes (so that it does not compete with any ongoing updates). SnapMirror does not lock or delete this snapshot. create_dest_snap cannot be hourly.x, nightly.x, or weekly.x, because these names are reserved for scheduled snapshots.

The -s option only works for an update to a qtree. It designates a snapshot named src_snap from which SnapMirror transfers the qtree, instead of creating a source snapshot and transferring the qtree from the new snapshot. This option is used to transfer a specific snapshot's contents; for example, it can transfer a snapshot that was taken while a database was in a stable, consistent state. SnapMirror does not lock or delete the src_snap. src_snap cannot be hourly.x, nightly.x, weekly.x, snapshot_for_backup.x or snapshot_for_volcopy.x.

The -w option causes the command not to return once the incremental transfer starts. Instead, it will wait until the transfer completes (or fails), at which time it will print the completion status and then return.

quiesce destination
Allows in-progress transfers to destination to complete after which new transfers are not allowed to start. Synchronous mirrors will be taken out of synchronous mode. Any further requests to update this volume or qtree will fail until the snapmirror resume command is applied to it.

This command has special meaning to qtree destinations. A qtree destination which is being modified by SnapMirror during a transfer will have changes present in it. These changes will not be exported to NFS or CIFS clients. However, if a snapshot is taken during this time, the snapshot will contain the transitioning contents of the qtree. quiesce will bring that qtree out of a transitioning state, by either finishing or undoing any changes a transfer has made. snapmirror status can report whether a qtree is quiesced or not. The quiesce process can take some time to complete while SnapMirror makes changes to the qtree's contents. Any snapshot taken while a qtree is quiesced will contain an image of that qtree which matches the contents exported to NFS and CIFS clients.

resume destination
Resumes transfers to destination. The snapmirror resume command can be used either to abort a snapmirror quiesce in progress or undo a previously completed snapmirror quiesce. The command restores the state of the destination from quiescing or quiesced to whatever it was prior to the quiesce operation.

break destination
Breaks a snapmirroring relationship by turning a snapmirrored destination into a normal read/write volume or qtree. This command must be issued on the destination filer.

This command does not modify the snapmirror.conf file. Any scheduled transfers to a broken mirror will fail.

For volumes, this command has the same effect as the vol options snapmirrored off command, and will remove the snapmirrored option from a volume. The fs_size_fixed volume option will remain on; it must be manually removed from the volume to reclaim any disk space that SnapMirror may have truncated for replication. (See the Options section and na_vol(1) for more information on these two volume options.)

A destination qtree must be quiesced before it can be broken.

resync [ -n ] [ -f ] [ -S source ] [ -k kilobytes ] [ -w ] destination
Resynchronizes a broken-off destination to its former source, putting the destination in the snapmirrored state and making it ready for update transfers. The resync command must be issued on the destination filer.

The resync command can cause data loss on the destination. Because it is effectively making desti_nation a replica of the source, any edits made to the volume or qtree after the break will be undone.

For formerly mirrored volumes, the resync command effectively performs a SnapRestore (see na_vol(1)) on the destination to the newest snapshot which is common to both the source and the destination. In most cases, this is the last snapshot transferred from the source to the destination, but it can be any snapshot which is on both the source and destination due to SnapMirror replication. If new data has been written to the destination since the newest common snapshot was created, that data will be lost during the resync operation.

For formerly mirrored qtrees, SnapMirror restores data to the file system from the latest SnapMirrorcreated snapshot on the destination volume. Unlike the volume case, it requires this last snapshot in order to perform a resync.

The resync command initiates an update transfer after the SnapRestore or qtree data restoration completes.

The -n option reports what execution of the resync command would do, but does not execute the command.

The -f option forces the operation to proceed without prompting for confirmation.

The -S option sets the source of the transfer, and works the same for resync as it does for initialize.

The -k option sets the throttle, in kilobytes per second, of the transfer, and works the same for resync as it does for initialize.

The -w option causes the command not to return once the resync transfer starts. Instead, it will wait until the transfer completes (or fails), at which time it will print the completion status and then return. This option has no effect if the -n option is also specified.

destinations [ -s ] [ source ]
Lists all of the currently known destinations for sources on this filer. For volumes, this command also lists any cascaded destinations; these are any volumes which are replicas of direct destinations. This command will list all such descendants it knows about.

The -s option includes in the listing names of snapshots retained on the source volume for each destination.

If a specific source is specified, only destinations for that volume will be listed. The source may either be a volume name or a qtree path.

release source { filer:volume | filer:qtree } Tell snapmirror that a certain direct mirror is no longer going to request updates.

If a certain destination is no longer going to request updates, you must tell SnapMirror so that it will not longer retain a snapshot for that destination. This command will remove snapshots that are no longer needed for replication to that destination, and can be used to clean up SnapMirror-created snapshots after snapmirror break is issued on the destination side.

The source argument is the source volume or qtree that the destination is to be released from. The destination argument should be either the destination filer and destination volume name or the destination filer and destination qtree path. You can use a line from the output of the snapmirror destinations command as the set of arguments to this command.

store [ -g volumegeometry ] volume tapedevices Dumps an image of the volume to the tapedevices specified. This is much like the snapmirror initialize command, but from a source volume to a tape device. You can use the tapes and the retrieve command to perform the initial, priming transfer on any restricted volume.

Using the -g option on a snapmirror store will optimize the tape for a particular destination volume. The volumegeometry argument is a string which describes the volume geometry of the intended destination volume. It can be acquired by using the snapmirror retrieve -g command on that volume. Using this option can increase snapmirror retrieve performance dramatically.

This feature only works for volumes. Qtrees cannot be stored to or retrieved from tape.

The tapedevices field of this command is a commaseparated list of valid tape devices. See na_tape(4) for more information on tape device names.

retrieve { volume tapedevices | -h tapedevice | -g volume }
Restores the image on the tapedevices to the volume specified. This is much like the snapmirror initialize command, but from a tape device to a destination volume. If volume is part of a SnapMirror relationship with the source volume from the store performed to create these tapes, the two volumes can be mirrored as if volume had been primed via a initial transfer over the network.

You can use the -h flag to read the header off of the single tapedevice specified. This will provide information on the tape source and index.

The -g option provides the volume geometry string for the specified volume. This string, when given to the snapmirror store -g command, will dramatically improve snapmirror retrieve performance to this volume.

The tapedevices field of this command is a commaseparated list of valid tape devices. See na_tape(4) for more information on tape device names.

This feature only works for volumes. Qtrees cannot be stored to or retrieved from tape.

use destination tapedevices
Continues a tape transfer to destination with the specified tapedevices.

If a store or retrieve operation runs out of tape, it will prompt the user to provide another tape. After another tape has been provided, the use command is invoked to tell the SnapMirror process where to find it.

The destination field is specified by filer:volume in the case of retrieve, and filer:tapedevices in the case of store.

The tapedevices field of this command is a commaseparated list of valid tape devices. See na_tape(4) for more information on tape device names.

abort [ -h ] destination ...
Aborts currently executing transfers to all specified destinations. It may take a few minutes for a transfer to clean up and abort. This does not stop new updates from starting. If you are interested in stopping further updates use the snapmirror quiesce command.

Any transfer with a restart checkpoint (you can view this via the snapmirror status command) may be restartable; to clear out the restart checkpoint and force any subsequent transfer to start with a fresh snapshot on the source, you can use abort -h on the destination. The -h option specifies that this is a hard abort; the restart checkpoint will be cleared out in addition to the transfer being stopped.

The abort command can be invoked from either the source or the destination filer. However, the -h option is only effective on the destination filer. The option will be ignored if specified on the source filer.

migrate [ -n ] [ -f ] [ -k kilobytes ] [source_filer:]source_volume [destination_filer:]destina_tion_volume

snapmirror migrate is run on the filer which holds the source volume. It must be run on two volumes which are already the source and destination of a snapmirror pair.

migrate will transfer data and NFS filehandles from the source_volume to the destination_filer's desti_nation_volume (if no filer is specified, then migrate assumes the volume is local). If source_filer is specified, then the migrate destination will use that network interface to connect up to the source filer for the transfer of information.

The first thing migrate will do is check the source and destination sides for readiness. Then, it will stop NFS and CIFS service to the source. This will prevent changes to the source volume's data, which will make it appear to clients as though nothing has changed during the migration. It will run a regular SnapMirror transfer between the two volumes. At the end of the transfer, it will migrate the NFS filehandles, bring the source offline, and make the destination volume writable.

The -n flag will make a test run; that is, it will run all the pre-transfer checks, but stop short of transferring data. The -f flag will not prompt the user for confirmation. The -k flag will throttle the speed at which the transfer runs (at kilobytes kilobytes per second), in a manner similar to that used in the snapmirror update command.

CLUSTER CONSIDERATIONS

If one filer in a cluster failover pair goes down, any active transfers are aborted. The SnapMirror scheduler and services will continue for volumes on the downed filer. The configurations of the SnapMirror relationships are taken from the downed filer's snapmirror.access option or snapmirror.allow and snapmirror.conf files.

EXAMPLES

Here are a few examples of use of the snapmirror command:

The following example turns the scheduler on and off:

         toaster> snapmirror on
         toaster> snapmirror status
         Snapmirror is on.
         toaster> snapmirror off
         toaster> snapmirror status
         Snapmirror is off.
         toaster>

The following example presents the snapmirror status with transfers running. Two are idle destinations (both from fridge); one of these has a restart checkpoint, and could be restarted if the setup of the two volumes has not changed since the checkpoint was made. The transfer from vol1 to arc2 has just started, and is in the initial stages of transferring. The transfer from toaster to icebox is partially completed; here, we can see the number of megabytes transferred.

         toaster> snapmirror status
         Snapmirror is on.
         Source        Destination   State          Lag       Status
         fridge:home   toaster:arc1  Snapmirrored   22:09:58  Idle
         toaster:vol1  toaster:arc2  Snapmirrored   01:02:53  Transferring
         toaster:vol2  icebox:saved  Uninitialized  -         Transferring (128MB done)
         fridge:users  toaster:arc3  Snapmirrored   10:14:36  Idle with restart checkpoint (12MB done)
         toaster>

The following example pesents detailed status for one of the above snapmirror relationships specified as argument to the command. It displays extra information about base snapshot, transfter type, error message, and last transfer, etc.

         toaster> snapmirror status -l arc1
         Snapmirror is on.

         Source:                 fridge:home
         Destination:            toaster:arc1
         Status:                 Idle
         Progress:      -
         State:                  Snapmirrored
         Lag:                    22:09:58
         Mirror Timestamp:       Wed Aug  8 16:53:04 GMT 2001
         Base Snapshot:          toaster(0001234567)_arc1.1
         Current Transfer Type:  -
         Current Transfer Error: -
         Contents:      Replica
         Last Transfer Type:     Initialize
         Last Transfer Size:     1120000 KB
         Last Transfer Duration: 00:03:47
         Last Transfer From: fridge:home

The following example shows how to get all the volumes and qtrees that are quiesced or quiescing on this filer with the status command.

         filer> snapmirror status -q
         Snapmirror is on.
         vol1 has quiesced/quiescing qtrees:
                 /vol/vol1/qt0 is quiesced
                 /vol/vol1/qt1 is quiescing
         vol2 is quiescing

The following example starts writing an image of vol1 on toaster to the tape on tape device rst0a and continues with the tape on rst1a. When the second tape is used up, the example shows how to resume the store using a new tape on rst0a.

         toaster> snapmirror store vol1 rst0a,rst1a
         snapmirror: Reference Snapshot: snapmirror_tape_5.17.100_21:47:28
         toaster>
         SNAPMIRROR: store to toaster:rst0a,rst1a has run out of tape.
         toaster> snapmirror use toaster:rst0a,rst1a rst0a
         toaster>
         Wed May 17 23:36:31 GMT [worker_thread:notice]: snapmirror: Store from volume 'vol1' to tape was successful (11 MB in 1:03 minutes, 3 tapes written).

The following example retrieves the header of the tape on tape device rst0a. It then retrieves the image of vol1 from the tape on tape device rst0a.

         toaster> snapmirror retrieve -h rst0a
         Tape Number:                    1
         WAFL Version:                   12
         BareMetal Version:              1
         Source Filer:                   toaster
         Source Volume:                  vol0
         Source Volume Capacity:         16MB
         Source Volume Used Size:        11MB
         Source Snapshot:                snapmirror_tape_5.17.100_21:47:28
         toaster>
         toaster> snapmirror retrieve vol8 rst0a
         SNAPMIRROR: retrieve from tape to toaster:vol8 has run out of tape.
         toaster> snapmirror use toaster:vol8 rst0a
         SNAPMIRROR: retrieve from tape to toaster:vol8 has run out of tape.
         toaster> snapmirror use toaster:vol8 rst0a
         toaster> snapmirror status
         Snapmirror is on.
         Source               Destination   State    Lag  Status
         toaster:rst1a,rst0a  toaster:dst1  Unknown  -    Transferring (17MB done)
         toaster>
         Wed May 17 23:54:29 GMT [worker_thread:notice]: snapmirror: Retrieve from tape to volume 'vol8' was successful (11 MB in 1:30 minutes).

The following example examines the status of all transfers, then aborts the transfers to volm1 and volm2, and checks the status again. To clear the restart checkpoint, snapmirror abort is invoked again.

         toaster> snapmirror status
         Snapmirror is on.
         Source        Destination    State          Lag       Status
         fridge:home   toaster:volm1  Uninitialized  -         Transferring (10GB done)
         fridge:mail   toaster:volm2  Snapmirrored   01:00:31  Transferring (4423MB done)
         toaster> snapmirror abort toaster:volm1 volm2
         toaster> snapmirror status
         Snapmirror is on.
         Source        Destination    State          Lag       Status
         fridge:home   toaster:volm1  Snapmirrored   00:01:25  Idle
         fridge:mail   toaster:volm2  Snapmirrored   01:03:11  Idle with restart checkpoint (7000MB done)
         toaster> snapmirror abort toaster:volm2
         toaster> snapmirror status
         Snapmirror is on.
         Source        Destination    State          Lag       Status
         fridge:home   toaster:volm1  Snapmirrored   00:02:35  Idle
         fridge:mail   toaster:volm2  Snapmirrored   01:04:21  Idle

The following example examines the status of all transfers, then aborts the transfers to volm1 and volm2 with the -h option and checks the status again. No restart checkpoint is saved.

         toaster> snapmirror status
         Snapmirror is on.
         Source        Destination    State          Lag       Status
         fridge:home   toaster:volm1  Uninitialized  -         Transferring (10GB done)
         fridge:mail   toaster:volm2  Snapmirrored   01:00:31  Transferring (4423MB done)
         toaster> snapmirror abort -h toaster:volm1 toaster:volm2
         toaster> snapmirror status
         Snapmirror is on.
         Source        Destination    State          Lag       Status
         fridge:home   toaster:volm1  Snapmirrored   00:02:35  Idle
         fridge:mail   toaster:volm2  Snapmirrored   01:04:21  Idle

Here is an example of the use of the snapmirror migrate command:

         toaster> snapmirror migrate home mirror
         negotiating with destination....

This SnapMirror migration will take local source volume home and complete a final transfer to destination toaster:mirror using the interface named toaster. After that, open NFS filehandles on the source will migrate to the destination and any NFS filehandles open on the destination will be made stale. Clients will only see the migrated NFS filehandles if the destination is reachable at the same IP addresss as the source. The migrate process will not take care of renaming or exporting the destination volume.

As a result of this process, the source volume home will be taken offline, and NFS service to this filer will be stopped during the transfer. CIFS service on the source volume will be terminated and CIFS will have to be set up on the destination.

         Are you sure you want to do this? yes
         nfs turned off on source filer
         performing final transfer from toaster:home to mirror....
         (monitor progress with "snapmirror status")
         transfer from toaster:home to mirror successful
         starting nfs filehandle migration from home to mirror
         source volume home brought offline
         source nfs filehandles invalidated
         destination toaster:mirror confirms migration
         migration complete
         toaster> vol status
                  Volume State   Status            Options
                    root online  normal            root, raidsize=14
                  mirror online  normal
                    home offline normal
         toaster> vol rename home temp
         home renamed to temp
         you may need to update /etc/exports
         toaster> vol rename mirror home
         mirror renamed to home
         you may need to update /etc/exports
         toaster> exportfs -a

NOTES

Notes on the snapmirror migrate command:

The migrate command is only a partial step of the process. It is intended to work when an administrator desires to move the data of one volume to another, possibly because they want to move to a new set of disks, or to a larger volume without adding disks.

We intend that migrate be run in as controlled an environment as possible. It is best if there are no dumps or SnapMirror transfers going on during the migration.

The clients may see stale filehandles or unresponsive NFS service while migrate is running. This is expected behavior. Once the destination volume is made writable, the clients will see the data as if nothing has happened.

migrate will not change exports or IP addresses; the new destination volume must be reachable in the same way as the source volume once was.

CIFS service will need to be restarted on the migrate destination.

OPTIONS

Here are SnapMirror related options (see na_options(1), na_protocolaccess(8), na_snapmirror(5), and na_snapmirror.allow(5) for details on these options):

snapmirror.access
Controls SnapMirror access to a filer.

snapmirror.checkip.enable
Controls SnapMirror IP address checking using snapmirror.allow.

snapmirror.delayed_acks.enable
Controls a SnapMirror networking option.

snapmirror.enable
Turns SnapMirror on and off.

snapmirror.log.enable
Turns SnapMirror logging on and off.

Here are SnapMirror-related volume pseudo-options (see na_vol(1) for more details):

snapmirrored
Designates that the volume is read-only.

fs_size_fixed
Effectively truncates the filesystem on the destination volume to the size of the source.

FILES

/etc/snapmirror.allow
This file controls SnapMirror's access to a source filer. See na_snapmirror.allow(5), for details.

/etc/snapmirror.conf
This file controls SnapMirror schedules and relationships. See na_snapmirror.conf(5) for details.

/etc/log/snapmirror
This file logs SnapMirror activity. See na_snapmirror(5) for details.

SEE ALSO

  na_options(1)
  na_protocolaccess(8)
  na_snapmirror(5)
  na_snapmirror.allow(5)
  na_snapmirror.conf(5)


Table of Contents