.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "VOS_RELEASE 1" .TH VOS_RELEASE 1 2024-03-20 OpenAFS "AFS Command Reference" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME vos_release \- Updates read\-only volumes to match the read/write source volume .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBvos release\fR \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR> [\fB\-force\fR] [\fB\-force\-reclone\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-noresolve\fR] [\fB\-config\fR\ <\fIconfig\ directory\fR>] [\fB\-help\fR] .PP \&\fBvos rel\fR \fB\-i\fR\ <\fIvolume\ name\ or\ ID\fR> [\fB\-force\fR] [\fB\-force\-r\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-noa\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-e\fR] [\fB\-nor\fR] [\fB\-co\fR\ <\fIconfig\ directory\fR>] [\fB\-h\fR] .SH DESCRIPTION .IX Header "DESCRIPTION" The \fBvos release\fR command copies the contents of the indicated read/write source volume to each read-only site defined in the source volume's Volume Location Database (VLDB) entry. (Use the \fBvos addsite\fR command to define sites as necessary before issuing this command). Each read-only copy has the same name as read/write source with the addition of a \f(CW\*(C`.readonly\*(C'\fR extension. .PP For users to have a consistent view of the file system, the release of the new volume version must be atomic: either all read-only sites receive the new version, or all sites keep the version they currently have. The \fBvos release\fR command is designed to ensure that all copies of the volume's read-only version match both the read/write source and each other. In cases where problems such as machine or server process outages prevent successful completion of the release operation, AFS uses two mechanisms to alert the administrator. .PP First, the command interpreter generates an error message on the standard error stream naming each read-only site that did not receive the new volume version. Second, during the release operation the Volume Location (VL) Server marks site definitions in the VLDB entry with flags (\f(CW\*(C`New release\*(C'\fR and \f(CW\*(C`Old release\*(C'\fR) that indicate whether or not the site has the new volume version. If any flags remain after the operation completes, it was not successful. The Cache Manager refuses to access a read-only site marked with the \f(CW\*(C`Old release\*(C'\fR flag, which potentially imposes a greater load on the sites marked with the \f(CW\*(C`New release\*(C'\fR flag. It is important to investigate and eliminate the cause of the failure and then to issue the \&\fBvos release\fR command as many times as necessary to complete the release without errors. .PP The pattern of site flags remaining in the volume's VLDB entry after a failed release operation can help determine the point at which the operation failed. Use the \fBvos examine\fR or \fBvos listvldb\fR command to display the VLDB entry. The VL Server sets the flags in concert with the Volume Server's operations, as follows: .IP \(bu 4 Before the operation begins, the VL Server sets the \f(CW\*(C`New release\*(C'\fR flag on the read/write site definition in the VLDB entry and the \f(CW\*(C`Old release\*(C'\fR flag on read-only site definitions (unless the read-only site has been defined since the last release operation and has no actual volume, in which case its site flag remains \f(CW\*(C`Not released\*(C'\fR). .IP \(bu 4 If necessary, the Volume Server creates a temporary copy (a \fIclone\fR) of the read/write source called the ReleaseClone (see the following discussion of when the Volume Server does or does not create a new ReleaseClone.) It assigns the ReleaseClone its own volume ID number, which the VL Server records in the \f(CW\*(C`RClone\*(C'\fR field of the source volume's VLDB entry. .IP \(bu 4 The Volume Server distributes a copy of the ReleaseClone to each read-only site defined in the VLDB entry. As the site successfully receives the new clone, the VL Server sets the site's flag in the VLDB entry to \f(CW\*(C`New release\*(C'\fR. .IP \(bu 4 When all the read-only copies are successfully released, the VL Server clears all the \f(CW\*(C`New release\*(C'\fR site flags. The ReleaseClone is no longer needed, so the Volume Server deletes it and the VL Server erases its ID from the VLDB entry. .PP By default, the Volume Server determines automatically whether or not it needs to create a new ReleaseClone: .IP \(bu 4 If there are no flags (\f(CW\*(C`New release\*(C'\fR, \f(CW\*(C`Old release\*(C'\fR, or \f(CW\*(C`Not released\*(C'\fR) on site definitions in the VLDB entry, the previous \fBvos release\fR command completed successfully and all read-only sites currently have the same volume. The Volume Server infers that the current \fBvos release\fR command was issued because the read/write volume has changed. The Volume Server creates a new ReleaseClone volume and distributes a copy of the clone volume to all the read-only sites. In order to reduce the amount of data transferred during a release, the Volume Server sends incremental changes to remote sites during the release. The Volume Server only sends files and directories which have been changed in the read/write volume since the previous release. .IP \(bu 4 If any site definition in the VLDB entry is marked with a flag, either the previous release operation did not complete successfully or a new read-only site was defined since the last release. The Volume Server does not create a new ReleaseClone, instead distributing the entire existing ReleaseClone to sites marked with the \f(CW\*(C`Old release\*(C'\fR or \f(CW\*(C`Not released\*(C'\fR flag. As previously noted, the VL Server marks each VLDB site definition with the \f(CW\*(C`New release\*(C'\fR flag as the site receives the ReleaseClone, and clears all flags after all sites successfully receive it. .PP To override the default behavior, forcing the Volume Server to create and release a new ReleaseClone to the read-only sites, include the \fB\-force\fR flag. This is appropriate if, for example, the data at the read/write site has changed since the existing ReleaseClone was created during the previous release operation. .PP The \fB\-force\-reclone\fR will force the creation of a new release clone volume, but will not force a full volume dump to be distributed to the remote sites. Instead, incremental changes will be distributed when possible. .SH OPTIONS .IX Header "OPTIONS" .IP "\fB\-id\fR <\fIvolume name or id\fR>" 4 .IX Item "-id " Specifies either the complete name or volume ID number of a read/write volume. .IP \fB\-force\fR 4 .IX Item "-force" Creates a new ReleaseClone and distributes the entire clone volume to all read-only sites, regardless of the \f(CW\*(C`New release\*(C'\fR, \f(CW\*(C`Old release\*(C'\fR, or \&\f(CW\*(C`Not released\*(C'\fR site flags. .IP \fB\-force\-reclone\fR 4 .IX Item "-force-reclone" Creates a new ReleaseClone and incrementally distributes the clone volume to all read-only sites, regardless of the \f(CW\*(C`New release\*(C'\fR, \f(CW\*(C`Old release\*(C'\fR, or \&\f(CW\*(C`Not released\*(C'\fR site flags. .IP "\fB\-cell\fR <\fIcell name\fR>" 4 .IX Item "-cell " Names the cell in which to run the command. Do not combine this argument with the \fB\-localauth\fR flag. For more details, see \fBvos\fR\|(1). .IP \fB\-noauth\fR 4 .IX Item "-noauth" Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not combine this flag with the \fB\-localauth\fR flag. For more details, see \&\fBvos\fR\|(1). .IP \fB\-localauth\fR 4 .IX Item "-localauth" Constructs a server ticket using a key from the local \&\fI/etc/openafs/server/KeyFile\fR file. The \fBvos\fR command interpreter presents it to the Volume Server and Volume Location Server during mutual authentication. Do not combine this flag with the \fB\-cell\fR argument or \&\fB\-noauth\fR flag. For more details, see \fBvos\fR\|(1). .IP \fB\-verbose\fR 4 .IX Item "-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. .IP \fB\-encrypt\fR 4 .IX Item "-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. .IP \fB\-noresolve\fR 4 .IX Item "-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. .IP "\fB\-config\fR <\fIconfiguration directory\fR>" 4 .IX Item "-config " Set the location of the configuration directory to be used. This defaults to \&\fI/etc/openafs\fR, except if \fB\-localauth\fR is specified, in which case the default is \fI/etc/openafs/server\fR. This option allows the use of alternative configuration locations for testing purposes. .IP \fB\-help\fR 4 .IX Item "-help" Prints the online help for this command. All other valid options are ignored. .SH EXAMPLES .IX Header "EXAMPLES" The following command clones the read/write volume usr and releases it to the read-only sites defined in its VLDB entry. .PP .Vb 1 \& % vos release usr .Ve .SH "PRIVILEGE REQUIRED" .IX Header "PRIVILEGE REQUIRED" The issuer must be listed in the \fI/etc/openafs/server/UserList\fR file on the machine specified with the \fB\-server\fR argument and on each database server machine. If the \fB\-localauth\fR flag is included, the issuer must instead be logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBvos\fR\|(1), \&\fBvos_addsite\fR\|(1), \&\fBvos_examine\fR\|(1), \&\fBvos_listvldb\fR\|(1) .SH COPYRIGHT .IX Header "COPYRIGHT" IBM Corporation 2000. All Rights Reserved. .PP This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.