VOS_SHADOW(1)

NAME
vos_shadow - Creates a shadow copy of a volume on a different server/partition

SYNOPSIS
vos shadow [-id] <volume name or ID on source>
    [-fromserver] <machine name on source>
    [-frompartition] <partition name on source>
    [-toserver] <machine name on destination>
    [-topartition] <partition name on destination>
    [-toname <volume name on destination>]
    [-toid <volume ID on destination>]
    [-offline] [-readonly] [-live] [-incremental]
    [-cell <cell name>]
    [-noauth] [-localauth]
    [-verbose] [-encrypt] [-noresolve]
    [-config <config directory>]
    [-help]

vos sh [-id] <volume name or ID on source>
    [-froms] <machine name on source>
    [-fromp] <partition name on source>
    [-tos] <machine name on destination>
    [-top] <partition name on destination>
    [-ton <volume name on destination>]
    [-toi <volume ID on destination>]
    [-o] [-r] [-l] [-in]
    [-c <cell name>]
    [-noa] [-lo] [-v] [-e] [-nor]
    [-co <config directory>]
    [-h]

DESCRIPTION
The vos shadow command creates a shadow copy of a volume on a different partition or server.

A shadow volume is a copy of a volume that does not normally appear in the volume location database (VLDB). It is a primitive operation that is meant to be used in backup or disaster recovery situations.

CAUTIONS
This command is not used during normal OpenAFS administration and may have adverse effects on the VLDB if not used properly! This command should only be used by an expert.

Using this command on a volume when the source volume is not the same as parent volume used to create the shadow will leave the destination volume in a unknown state.

Running vos syncserv or vos syncvldb on a fileserver containing shadow volumes will not update the VLDB with the shadowed Read/Write volumes as long as the entries for the source volumes still exist. In a disaster recovery situation the VLDB entries for the corresponding source volumes need hence to be deleted first.

Currently, the maximum quota for a volume is 2 terabytes (2^41 bytes). Note that this only affects the volume's quota; a volume may grow much larger if the volume quota is disabled. However, volumes over 2 terabytes in size may be impractical to move, and may have their size incorrectly reported by some tools, such as fs_listquota(1).

OPTIONS

-id <volume name or ID>
    Specifies either the complete name or volume ID number of a read/write volume.

-fromserver <machine name for source>
    Identifies the file server machine where the source volume resides. Provide the machine's IP address or its host name (either fully qualified or using an unambiguous abbreviation). For details, see vos(1).

-frompartition <partition name for source>
    Names the partition where the source volume resides. Provide the full partition name (for, example, /vicepa) or one of the abbreviated forms described in vos(1).

-toserver <machine name for destination>
    Identifies the file server machine to which to copy the volume. Provide the machine's IP address or its host name (either fully qualified or using an unambiguous abbreviation). For details, see vos(1).

-topartition <partition name for destination>
    Names the partition to which to copy the volume. Provide the full partition name (for, example, /vicepa) or one of the abbreviated forms described in vos(1).

-toname <volume name for new copy>
    The complete name of the new volume to create.

-toid <volume ID for new copy>
    The volume ID number to use for the new volume.

-offline
    Leaves the new volume flagged as off-line in the volume database.

-readonly
    Flags the new volume as read-only in the volume database.

-live
    Copies the live volume without cloning. This is normally not necessary and causes the volume to be kept locked for longer than the normal copy mechanism.

-incremental
    Copy the changes from the source volume to a previously created shadow volume.

-cell <cell name>
    Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see vos(1).

-noauth
    Assigns the unprivileged identity "anonymous" to the issuer. Do not combine this flag with the -localauth flag. For more details, see vos(1).

-localauth
    Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. The vos command interpreter presents it to the Volume Server and Volume Location Server during mutual authentication. Do not combine this flag with the -cell argument or -noauth flag. For more details, see vos(1).

-verbose
    Produces on the standard output stream a detailed trace of the command's execution. If this argument is omitted, only warnings and error messages appear.

-encrypt
    Encrypts the command so that the operation's results are not transmitted across the network in clear text. This option is available in OpenAFS versions 1.4.11 or later and 1.5.60 or later.

-noresolve
    Shows all servers as IP addresses instead of the DNS name. This is very useful when the server address is registered as 127.0.0.1 or when dealing with multi-homed servers. This option is available in OpenAFS versions 1.4.8 or later and 1.5.35 or later.

-config <configuration directory>
    Set the location of the configuration directory to be used. This defaults to /etc/openafs, except if -localauth is specified, in which case the default is /etc/openafs/server. This option allows the use of alternative configuration locations for testing purposes.

-help
    Prints the online help for this command. All other valid options are ignored.

OUTPUT
This command has no output unless "-verbose" is specified or there is an error.

PRIVILEGE REQUIRED
The issuer must be listed in the /etc/openafs/server/UserList file on the machines specified with the -toserver and -fromserver arguments and on each database server machine. If the -localauth flag is included, the issuer must instead be logged on to a server machine as the local superuser "root".

SEE ALSO
vos(1), vos_backup(1), vos_copy(1), vos_move(1)

<http://www.openafs.org/pipermail/openafs-info/2005-July/018469.html> discusses motivation for the creation of this command.

<http://workshop.openafs.org/afsbpw06/talks/drh.scs.html> discusses one possible use for it.

COPYRIGHT
Copyright 2008 Jason Edgecombe <jason@rampaginggeek.com>

This documentation is covered by the BSD License as written in the doc/LICENSE file. This man page was written by Jason Edgecombe for OpenAFS.