doc: vos manpage fixes
[openafs.git] / doc / man-pages / pod1 / vos_release.pod.in
1 =head1 NAME
2
3 vos_release - Updates read-only volumes to match the read/write source volume
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 B<vos release> S<<< B<-id> <I<volume name or ID>> >>> [B<-force>]
11     S<<< [B<-cell> <I<cell name>>] >>>
12     [B<-noauth>] [B<-localauth>] [B<-stayonline>]
13     [B<-verbose>] [B<-encrypt>] [B<-noresolve>]
14     S<<< [B<-config> <I<config directory>>] >>>
15     [B<-help>]
16
17 B<vos rel> S<<< B<-i> <I<volume name or ID>> >>>
18     [B<-f>] S<<< [B<-c> <I<cell name>>] >>> [B<-stayon>]
19     [B<-noa>] [B<-l>] [B<-v>] [B<-e>] [B<-nor>]
20     S<<< [B<-co> <I<config directory>>] >>>
21     [B<-h>]
22
23 =for html
24 </div>
25
26 =head1 DESCRIPTION
27
28 The B<vos release> command copies the contents of the indicated read/write
29 source volume to each read-only site defined in the source volume's Volume
30 Location Database (VLDB) entry. (Use the B<vos addsite> command to define
31 sites as necessary before issuing this command). Each read-only copy has
32 the same name as read/write source with the addition of a C<.readonly>
33 extension.
34
35 For users to have a consistent view of the file system, the release of the
36 new volume version must be atomic: either all read-only sites receive the
37 new version, or all sites keep the version they currently have. The B<vos
38 release> command is designed to ensure that all copies of the volume's
39 read-only version match both the read/write source and each other. In
40 cases where problems such as machine or server process outages prevent
41 successful completion of the release operation, AFS uses two mechanisms to
42 alert the administrator.
43
44 First, the command interpreter generates an error message on the standard
45 error stream naming each read-only site that did not receive the new
46 volume version. Second, during the release operation the Volume Location
47 (VL) Server marks site definitions in the VLDB entry with flags (C<New
48 release> and C<Old release>) that indicate whether or not the site has the
49 new volume version. If any flags remain after the operation completes, it
50 was not successful. The Cache Manager refuses to access a read-only site
51 marked with the C<Old release> flag, which potentially imposes a greater
52 load on the sites marked with the C<New release> flag. It is important to
53 investigate and eliminate the cause of the failure and then to issue the
54 B<vos release> command as many times as necessary to complete the release
55 without errors.
56
57 The pattern of site flags remaining in the volume's VLDB entry after a
58 failed release operation can help determine the point at which the
59 operation failed. Use the B<vos examine> or B<vos listvldb> command to
60 display the VLDB entry. The VL Server sets the flags in concert with the
61 Volume Server's operations, as follows:
62
63 =over 4
64
65 =item *
66
67 Before the operation begins, the VL Server sets the C<New release> flag on
68 the read/write site definition in the VLDB entry and the C<Old release>
69 flag on read-only site definitions (unless the read-only site has been
70 defined since the last release operation and has no actual volume, in
71 which case its site flag remains C<Not released>).
72
73 =item *
74
75 If necessary, the Volume Server creates a temporary copy (a I<clone>) of
76 the read/write source called the ReleaseClone (see the following
77 discussion of when the Volume Server does or does not create a new
78 ReleaseClone.) It assigns the ReleaseClone its own volume ID number, which
79 the VL Server records in the C<RClone> field of the source volume's VLDB
80 entry.
81
82 =item *
83
84 The Volume Server distributes a copy of the ReleaseClone to each read-only
85 site defined in the VLDB entry. As the site successfully receives the new
86 clone, the VL Server sets the site's flag in the VLDB entry to C<New
87 release>.
88
89 =item *
90
91 When all the read-only copies are successfully released, the VL Server
92 clears all the C<New release> site flags. The ReleaseClone is no longer
93 needed, so the Volume Server deletes it and the VL Server erases its ID
94 from the VLDB entry.
95
96 =back
97
98 By default, the Volume Server determines automatically whether or not it
99 needs to create a new ReleaseClone:
100
101 =over 4
102
103 =item *
104
105 If there are no flags (C<New release>, C<Old release>, or C<Not released>)
106 on site definitions in the VLDB entry, the previous B<vos release> command
107 completed successfully and all read-only sites currently have the same
108 volume. The Volume Server infers that the current B<vos release> command
109 was issued because the read/write volume has changed. The Volume Server
110 creates a new ReleaseClone and distributes it to all of the read-only
111 sites.
112
113 =item *
114
115 If any site definition in the VLDB entry is marked with a flag, either the
116 previous release operation did not complete successfully or a new
117 read-only site was defined since the last release. The Volume Server does
118 not create a new ReleaseClone, instead distributing the existing
119 ReleaseClone to sites marked with the C<Old release> or C<Not released>
120 flag. As previously noted, the VL Server marks each VLDB site definition
121 with the C<New release> flag as the site receives the ReleaseClone, and
122 clears all flags after all sites successfully receive it.
123
124 =back
125
126 To override the default behavior, forcing the Volume Server to create and
127 release a new ReleaseClone to the read-only sites, include the B<-force>
128 flag. This is appropriate if, for example, the data at the read/write site
129 has changed since the existing ReleaseClone was created during the
130 previous release operation.
131
132 =head1 OPTIONS
133
134 =over 4
135
136 =item B<-id> <I<volume name or id>>
137
138 Specifies either the complete name or volume ID number of a read/write
139 volume.
140
141 =item B<-force>
142
143 Creates a new ReleaseClone and distributes it all read-only sites
144 regardless of whether or not any site definitions in the VLDB entry are
145 marked with a flag.
146
147 =item B<-stayonline>
148
149 Avoids taking replica sites offline by cloning both the source
150 and destinations to temporary clones, applying updates, and then
151 bringing all clones online as updated readonly volumes.
152
153 =include fragments/vos-common.pod
154
155 =back
156
157 =head1 EXAMPLES
158
159 The following command clones the read/write volume usr and releases it to
160 the read-only sites defined in its VLDB entry.
161
162    % vos release usr
163
164 =head1 PRIVILEGE REQUIRED
165
166 The issuer must be listed in the F</usr/afs/etc/UserList> file on the
167 machine specified with the B<-server> argument and on each database server
168 machine. If the B<-localauth> flag is included, the issuer must instead be
169 logged on to a server machine as the local superuser C<root>.
170
171 =head1 SEE ALSO
172
173 L<vos(1)>,
174 L<vos_addsite(1)>,
175 L<vos_examine(1)>,
176 L<vos_listvldb(1)>
177
178 =head1 COPYRIGHT
179
180 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
181
182 This documentation is covered by the IBM Public License Version 1.0.  It was
183 converted from HTML to POD by software written by Chas Williams and Russ
184 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.