There are two types of lines in the configuration file: lines that define mirror relationships and lines that define connections to source nodes to be used in the relationship definitions. Relationship definition lines are used to define the mirror relationships for destination volumes on this node. Connection definition lines are optional and are used to specify specific network connections to the source volume and allow the specification of dual paths to the source volume.
Each relationship line of the file specifies the volume or qtree to be replicated, arguments for the replication, and the schedule for updating the mirror. You may only have one line for each destination volume or qtree. The maximum number of relationship entries supported is limited to 1024. Any entry after this limit is ignored.
Each relationship entry of the /etc/snapmirror.conf file is a single line containing space-separated fields. The entry has this format:
source destination arguments schedule
If the source or destination field contains one or more space characters (on account of it including a qtree name with space(s)), then the field must be enclosed in double quotes. If the field value itself contains one or more double quotes, then each of these double quotes must be escaped by preceding it with an additional double quote.
The following list describes the fields in each entry:
source This is the name of the source host, and the volume name, or the path of the qtree to be mirrored. The name is specified as two colon-separated fields, as follows:
host:volname
host:/vol/volume/qtree
Note that the host field is not necessarily the hostname of the node (unlike the first field of the destination entry). You can specify a network resolvable name, IP address or connection name. The host field can be considered a definition of how to reach the source over the network.
destination
This is the hostname (must match the result of the
hostname command) of the destination node and the
name of the destination volume or the path of the
destination qtree. The name is specified as two
colon-separated fields, as follows:
name:volume
name:/vol/volume/qtree
The name field must match the hostname of the destination node (use the hostname(1) function to check this).
arguments
These are a comma-separated list of arguments for
the transfer. To specify no arguments, enter a
dash (``-'') in this field. Each argument is
specified as a key and a value pair, as follows:
key=value
Currently, there are the following argument keys:
cksum This controls which checksum algorithm is used to protect the data transmitted by SnapMirror. Currently supported values are "none", "crc32c", and "crc32c_header_only". The value "crc32c_header_only" has been added only for volume SnapMirror and is not supported for synchronous SnapMirror and qtree SnapMirror.
restart
This controls the behavior of the SnapMirror
scheduler with respect to restartability.
If value is set to always, then an
interrupted transfer will always restart, if
it has a restart checkpoint and the
conditions are the same as before the
transfer was interrupted. If value is set
to never, then an interrupted transfer will
never restart, even if it has a restart
checkpoint. By default, SnapMirror behaves
like the always case, unless it has passed
the next scheduled transfer time, in which
case it will begin that scheduled transfer
instead of restarting.
ignore_atime
The value for this argument can be enable or
disable. This option only applies to Qtree
SnapMirror relationships. When the value is
enable, SnapMirror will ignore files which
have only their access times changed for
incremental transfers. When the value is
disable, SnapMirror will transfer metadata
for all modified files. If not specified,
the default is disable.
outstanding (deprecated)
This argument controls the performance
versus synchronicity trade-off for
synchronous mirrors. The value for this
argument is a number followed by the
suffixes: ops (operations), ms
(milliseconds) or s (seconds). Setting a
value less than 10s configures the mirror to
run in fully synchronous mode. Setting a
value greater than or equal to 10s
configures the mirror to run in semisynchronous
mode. This argument is ignored
for asynchronous mirrors. Please note that
this is a deprecated option. Use the
schedule field to specify the synchronous
mode for the mirror.
wsize This sets the TCP window size to use for the connection. Due to how TCP negotiates window sizes, the size of the receive window will initially be large and gradually work its way down to the size specified.
visibility_interval
The value for this argument is a number
optionally followed by the suffixes: s
(seconds), m (minutes) or h (hours). If a
suffix is not specified, value is
interpreted as seconds. This argument
controls the amount of time before an
automatic snapshot is created on the source
volume that is synchronously mirrored. The
value is the number of seconds between
automatically created snapshots. The
default value is 3 minutes. A small number
here can negatively affect the performance
of the mirror. This argument is ignored for
asynchronous mirrors.
compression
The value for this argument can be enable or
disable. This argument can only be used
when a connection definition is used for the
relationship entry. Using this argument
without a connection definition will throw
an error message. When the value is enable,
SnapMirror will compress/decompress the data
that is transferred between the source and
destination node. If not specified, the
default is disable.
connection_mode
The value for this argument can be inet or
inet6.
When the value is inet6, the connection between the primary and secondary will be established using IPv6 addresses only. If there is no IPv6 address configured for the primary, then the connection will fail. When the value is inet, the connection between the primary and secondary will be established using IPv4 addresses only. If there is no IPv4 address configured on the primary, then the connection will fail. When this argument is not specified, then the connection will be tried using both IPv6 and IPv4 addresses. inet6 mode will have higher precedence than inet mode. If a connection request using inet6 mode fails, SnapMirror will retry the connection using inet mode.
This argument is not meaningful when an IP address is specified instead of a hostname. If the IP address format and connection mode doesn't match, the operation prints an error message and aborts.
schedule
This is the schedule used by the
destination node for updating the
mirror. It informs the SnapMirror
scheduler when transfers will be
initiated. The schedule field can
contain the word sync to specify
fully synchronous mirroring, semisync
to specify semi-synchronous
mirroring, or a cron-style
specification of when to update the
mirror. The cron-style schedule
contains four space-separated fields:
minute hour day-of-month day_of-week
Each field consists of one or more numbers or ranges. If a field contains more than one value, the values are separated from each other by a comma. A field consisting solely of an asterisk (``*'') is the same as a field enumerating all possible legal values for that field. A field consisting solely of a dash (``-'') represents a null value; any schedule with a dash in one of its fields will never run any scheduled transfers. Values in a field can take any of the following forms:
number
first-last
first-last/step
A value with a dash in it specifies a range; it is treated as containing all the values between first and last, inclusive. A range value with a slash specifies skips of step size in the range. For example, the value of the entry ``0-23/4'' would be the same as that of the entry ``0,4,8,12,16,20''.
minute Which minutes in each hour to update on. Values are from 0 to 59.
hour Which hours in the day to update on. Values are from 0 to 23.
day-of-month
Which days in the month to
update on. Values are from 1
to 31.
day-of-week
Which days in the week to
update on. Values are from 0
(Sunday) to 6 (Saturday).
Whenever the current time matches all the specified schedule fields, a transfer from the source to the destination will be invoked.
The other type of line allowed in this file is a connection definition line. These lines define an alternate name for the source node that can be used as the source host in the relationship lines. They are used to describe more specifically the parameters for the connection(s) to the source node. SnapMirror supports the multi path specification for both asynchronous and synchronous mirrors.
Each connection definition is a single line giving a name to one or two pairs of IP addresses along with a mode of operation for the connection. The lines are specified in the following format:
name = mode( source_ip_addr1 , dest_ip_addr1 ) ( source_ip_addr2 , dest_ip_addr2 )
name This is the name of the connection you would like to define. This name is to be used as the source node in relationship definitions.
mode The mode is optional and specifies the mode in which two IP address pairs will be used. Two modes are allowed multiplexing and failover mode and are specified by using the multi and failover keywords. If not specified, multiplexing mode is used.
The multiplexing mode causes snapmirror to use both paths at the same time. If one should fail, it will switch to use the remaining path only and use both again should the failing path be repaired.
Failover mode causes snapmirror to use the first path as the desired path and only use the second path should problems arise with the first path.
toaster:/vol/vol1/home fridge:/vol/vol2/home kbs=2000 * * * *
"toaster:/vol/vol1/x y""z" "fridge:/vol/vol2/x y""z" kbs=2000 * * * *
mynode0-gig:home mynode1:home_mirror - 30 9,13,19 * 1,2,3,4,5
node1:build node2:backup - 15,45 8,9,10,11,12,13,14,15,16,17,18 * *
dev:/vol/dept/docs icebox:/vol/backup/docs_bak - 0 0 * 0
icebox:home icebox:backup - 30 0,7-21 * *
fridge-gig:db icebox:db - 0-55/5 * * *
fridge-con = failover(fridge-gig,icebox-gig)(fridge-slow,icebox-slow) fridge-con:db icebox:db - sync
fridge-con = multipath(fridge-gig,icebox-gig)(fridge-slow,icebox-slow) fridge-con:db icebox:db compression=enable * * * *
Personality: Default
==================== # Model Maximum # # Transfers # ==================== | | | FAS250 4 | |__________________| | | | F810 | | F820 | | F825 | | FAS920 8 | | FAS270 | | GF270 | | GF825 | |__________________| | | | F840 | | F880 | | FAS940 | | FAS960 16 | | GF940 | | GF960 | | GF980 | |__________________|The above platforms have the same maximum concurrent transfer limit for each transfer type.
Personality: Default
======================================================== # Model Volcopy # # Sync SM # # Legacy QSM QSM # # Legacy SV Legacy VSM MP VSM SV # # Src Src Dst Src Src # # Dst Dst Dst # ======================================================== | FAS980 | | FAS3020 | | FAS3040 | | FAS3050 16 16 16 50 64 | | V3020 | | V3040 | | V3050 | |______________________________________________________| | | | FAS3070 16 16 64 50 64 | | V3070 | |______________________________________________________| | | | FAS6030 24 24 24 100 96 | | V6030 | |______________________________________________________| | | | FAS6070 32 32 32 100 128 | | V6070 | |______________________________________________________|
============================================================================== # Model Legacy QSM QSM # # Volcopy Legacy VSM MP VSM Sync SM Legacy SV SV # # Src Dst Src Dst Src Dst Src Src Dst Src Dst # # Dst # ============================================================================== | | | R100 | | R150 64 64 64 64 64 64 16 64 128 64 128 | | R200 | |____________________________________________________________________________| | | | FAS3020 16 16 16 16 50 100 16 16 32 80 80 | |____________________________________________________________________________| | | | FAS3040 16 32 16 32 50 100 16 16 64 160 160 | |____________________________________________________________________________| | | | FAS3050 16 32 16 32 50 100 16 16 64 120 120 | |____________________________________________________________________________| | | | FAS3070 16 64 16 32 50 100 16 16 128 320 320 | |____________________________________________________________________________| | | | FAS6030 24 48 24 48 100 200 24 24 96 512 512 | |____________________________________________________________________________| | | | FAS6070 32 64 32 64 100 200 32 32 128 512 512 | |____________________________________________________________________________| VSM Src - Volume Snapmirror Source VSM Dst - Volume Snapmirror Destination QSM Src - Qtree Snapmirror Source QSM Dst - Qtree Snapmirror Destination SV Src - Snapvault Source SV Dst - Snapvault Destination