Blame


1 35ed6913 2005-07-13 devnull .TH VBACKUP 8
2 35ed6913 2005-07-13 devnull .SH NAME
3 cea719ac 2005-07-18 devnull vbackup, vcat, vftp, vmount, vnfs \-
4 35ed6913 2005-07-13 devnull back up Unix file systems to Venti
5 35ed6913 2005-07-13 devnull .SH SYNOPSIS
6 35ed6913 2005-07-13 devnull .B vbackup
7 35ed6913 2005-07-13 devnull [
8 35ed6913 2005-07-13 devnull .B -DVnv
9 35ed6913 2005-07-13 devnull ]
10 35ed6913 2005-07-13 devnull [
11 35ed6913 2005-07-13 devnull .B -s
12 35ed6913 2005-07-13 devnull .I secs
13 35ed6913 2005-07-13 devnull ]
14 35ed6913 2005-07-13 devnull [
15 35ed6913 2005-07-13 devnull .B -w
16 35ed6913 2005-07-13 devnull .I n
17 35ed6913 2005-07-13 devnull ]
18 35ed6913 2005-07-13 devnull .I disk
19 35ed6913 2005-07-13 devnull [
20 35ed6913 2005-07-13 devnull .I score
21 35ed6913 2005-07-13 devnull ]
22 35ed6913 2005-07-13 devnull .PP
23 35ed6913 2005-07-13 devnull .B vcat
24 35ed6913 2005-07-13 devnull [
25 35ed6913 2005-07-13 devnull .B -z
26 35ed6913 2005-07-13 devnull ]
27 35ed6913 2005-07-13 devnull .I disk
28 35ed6913 2005-07-13 devnull |
29 35ed6913 2005-07-13 devnull .I score
30 35ed6913 2005-07-13 devnull .B >
31 35ed6913 2005-07-13 devnull .I disk
32 35ed6913 2005-07-13 devnull .PP
33 7b14c113 2005-08-11 devnull .B vftp
34 7b14c113 2005-08-11 devnull .I score
35 7b14c113 2005-08-11 devnull |
36 7b14c113 2005-08-11 devnull .I disk
37 7b14c113 2005-08-11 devnull .PP
38 35ed6913 2005-07-13 devnull .B vmount
39 35ed6913 2005-07-13 devnull [
40 35ed6913 2005-07-13 devnull .B -v
41 35ed6913 2005-07-13 devnull ]
42 35ed6913 2005-07-13 devnull .I addr
43 35ed6913 2005-07-13 devnull .I mtpt
44 35ed6913 2005-07-13 devnull .PP
45 35ed6913 2005-07-13 devnull .B vnfs
46 35ed6913 2005-07-13 devnull [
47 3aec33fe 2005-07-18 devnull .B -ELLRVr
48 35ed6913 2005-07-13 devnull ]
49 35ed6913 2005-07-13 devnull [
50 35ed6913 2005-07-13 devnull .B -a
51 35ed6913 2005-07-13 devnull .I addr
52 35ed6913 2005-07-13 devnull ]
53 35ed6913 2005-07-13 devnull [
54 35ed6913 2005-07-13 devnull .B -b
55 35ed6913 2005-07-13 devnull .I blocksize
56 35ed6913 2005-07-13 devnull ]
57 35ed6913 2005-07-13 devnull [
58 35ed6913 2005-07-13 devnull .B -c
59 35ed6913 2005-07-13 devnull .I cachesize
60 35ed6913 2005-07-13 devnull ]
61 35ed6913 2005-07-13 devnull .I config
62 35ed6913 2005-07-13 devnull .SH DESCRIPTION
63 35ed6913 2005-07-13 devnull These programs back up and restore standard
64 35ed6913 2005-07-13 devnull Unix file system images stored in
65 35ed6913 2005-07-13 devnull .IR venti (8).
66 35ed6913 2005-07-13 devnull Images stored in
67 35ed6913 2005-07-13 devnull .I venti
68 35ed6913 2005-07-13 devnull are named by
69 35ed6913 2005-07-13 devnull .IR scores ,
70 35ed6913 2005-07-13 devnull which consist of a file system type followed
71 35ed6913 2005-07-13 devnull by a colon and forty hexadecimal digits, as in:
72 35ed6913 2005-07-13 devnull .IP
73 35ed6913 2005-07-13 devnull .EX
74 35ed6913 2005-07-13 devnull ffs:0123456789abcdef0123456789abcdef01234567
75 35ed6913 2005-07-13 devnull .EE
76 35ed6913 2005-07-13 devnull .PP
77 35ed6913 2005-07-13 devnull (The hexadecimal data is the SHA1 hash of the Venti
78 35ed6913 2005-07-13 devnull root block representing the file system image.)
79 35ed6913 2005-07-13 devnull .PP
80 35ed6913 2005-07-13 devnull These programs expect the environment variable
81 35ed6913 2005-07-13 devnull .B $venti
82 35ed6913 2005-07-13 devnull to be set to the network address of the Venti server to use
83 35ed6913 2005-07-13 devnull (for example,
84 35ed6913 2005-07-13 devnull .B yourhost
85 35ed6913 2005-07-13 devnull or
86 35ed6913 2005-07-13 devnull .BR tcp!yourhost!venti ).
87 35ed6913 2005-07-13 devnull .PP
88 35ed6913 2005-07-13 devnull .I Vbackup
89 35ed6913 2005-07-13 devnull copies the file system stored on
90 35ed6913 2005-07-13 devnull .I disk
91 35ed6913 2005-07-13 devnull to the Venti server and prints the
92 35ed6913 2005-07-13 devnull score for the newly-stored image.
93 35ed6913 2005-07-13 devnull The argument
94 35ed6913 2005-07-13 devnull .I disk
95 35ed6913 2005-07-13 devnull should be a disk or disk partition device
96 35ed6913 2005-07-13 devnull that would be appropriate to pass to
97 35ed6913 2005-07-13 devnull .IR mount (8).
98 35ed6913 2005-07-13 devnull .PP
99 35ed6913 2005-07-13 devnull The optional argument
100 35ed6913 2005-07-13 devnull .I score
101 35ed6913 2005-07-13 devnull is the score of a previous backup of the disk image.
102 35ed6913 2005-07-13 devnull If
103 35ed6913 2005-07-13 devnull .I score
104 35ed6913 2005-07-13 devnull is given,
105 35ed6913 2005-07-13 devnull .I vbackup
106 35ed6913 2005-07-13 devnull will not write to Venti any blocks that have not changed
107 35ed6913 2005-07-13 devnull since the previous backup.
108 35ed6913 2005-07-13 devnull This is only a speed optimization: since the blocks are already
109 35ed6913 2005-07-13 devnull stored on Venti they need not be sent to the Venti server again.
110 35ed6913 2005-07-13 devnull .PP
111 35ed6913 2005-07-13 devnull The options to
112 35ed6913 2005-07-13 devnull .I vbackup
113 35ed6913 2005-07-13 devnull are:
114 35ed6913 2005-07-13 devnull .TP
115 35ed6913 2005-07-13 devnull .B -D
116 3aec33fe 2005-07-18 devnull Turn on debugging output.
117 35ed6913 2005-07-13 devnull .TP
118 35ed6913 2005-07-13 devnull .B -V
119 3aec33fe 2005-07-18 devnull Trace interactions with Venti server.
120 35ed6913 2005-07-13 devnull .TP
121 3aec33fe 2005-07-18 devnull .B -m \fImntname
122 e5e159fd 2005-07-18 devnull Set backup name:
123 3aec33fe 2005-07-18 devnull this name is used in the printed
124 3aec33fe 2005-07-18 devnull .B mount
125 3aec33fe 2005-07-18 devnull command.
126 e5e159fd 2005-07-18 devnull The default is the name returned by
127 e5e159fd 2005-07-18 devnull .I sysname
128 e5e159fd 2005-07-18 devnull (see
129 e5e159fd 2005-07-18 devnull .IR getuser (3)).
130 3aec33fe 2005-07-18 devnull .TP
131 35ed6913 2005-07-13 devnull .B -n
132 3aec33fe 2005-07-18 devnull No-op mode: do not write any blocks to the server
133 35ed6913 2005-07-13 devnull .TP
134 35ed6913 2005-07-13 devnull .B -v
135 3aec33fe 2005-07-18 devnull Print verbose output.
136 35ed6913 2005-07-13 devnull .TP
137 35ed6913 2005-07-13 devnull .B -w \fIn
138 3aec33fe 2005-07-18 devnull Write parallelism: keep
139 3aec33fe 2005-07-18 devnull .I n
140 3aec33fe 2005-07-18 devnull writes to the server in progress at a time.
141 35ed6913 2005-07-13 devnull .TP
142 35ed6913 2005-07-13 devnull .B -s \fIsecs
143 3aec33fe 2005-07-18 devnull Status interval: every
144 3aec33fe 2005-07-18 devnull .I secs
145 3aec33fe 2005-07-18 devnull seconds, print a line tracking progress of the backup.
146 3aec33fe 2005-07-18 devnull .PD
147 35ed6913 2005-07-13 devnull .PP
148 3aec33fe 2005-07-18 devnull When
149 3aec33fe 2005-07-18 devnull .I vbackup
150 3aec33fe 2005-07-18 devnull finishes, it prints a single line of the form
151 3aec33fe 2005-07-18 devnull .IP
152 3aec33fe 2005-07-18 devnull .EX
153 3aec33fe 2005-07-18 devnull mount /\fImntname\fL/\fIyyyy\fL/\fImmdd\fL/\fImntpath\fL \fIscore\fL \fIyyyy\fL/\fImmdd\fL/\fIhhmm
154 3aec33fe 2005-07-18 devnull .EE
155 3aec33fe 2005-07-18 devnull .LP
156 3aec33fe 2005-07-18 devnull This line is a valid configuration line for
157 3aec33fe 2005-07-18 devnull .I vnfs
158 3aec33fe 2005-07-18 devnull .RI ( q.v. ).
159 3aec33fe 2005-07-18 devnull .I Mntpath
160 3aec33fe 2005-07-18 devnull is the path on which
161 3aec33fe 2005-07-18 devnull .I disk
162 3aec33fe 2005-07-18 devnull is currently mounted.
163 3aec33fe 2005-07-18 devnull .PP
164 35ed6913 2005-07-13 devnull .I Vcat
165 35ed6913 2005-07-13 devnull writes the named disk image to standard output.
166 35ed6913 2005-07-13 devnull Unused file system blocks are printed zeroed regardless
167 35ed6913 2005-07-13 devnull of their actual content.
168 35ed6913 2005-07-13 devnull .PP
169 3aec33fe 2005-07-18 devnull By default,
170 35ed6913 2005-07-13 devnull .I vcat
171 3aec33fe 2005-07-18 devnull will assume that its standard output is seekable
172 3aec33fe 2005-07-18 devnull .RI ( i.e.,
173 3aec33fe 2005-07-18 devnull it has been redirected to a file or disk)
174 3aec33fe 2005-07-18 devnull and seek over unused blocks instead of writing to them.
175 35ed6913 2005-07-13 devnull The
176 35ed6913 2005-07-13 devnull .B -z
177 3aec33fe 2005-07-18 devnull option causes
178 3aec33fe 2005-07-18 devnull .I vcat
179 3aec33fe 2005-07-18 devnull to zero unused blocks instead.
180 7b14c113 2005-08-11 devnull .PP
181 7b14c113 2005-08-11 devnull .I Vftp
182 7b14c113 2005-08-11 devnull presents an
183 7b14c113 2005-08-11 devnull .IR ftp (1)-like
184 7b14c113 2005-08-11 devnull interface to a physical or backed-up disk image.
185 7b14c113 2005-08-11 devnull It is used mainly for debugging.
186 7b14c113 2005-08-11 devnull Type
187 7b14c113 2005-08-11 devnull .B help
188 7b14c113 2005-08-11 devnull at the
189 7b14c113 2005-08-11 devnull .B vftp>
190 7b14c113 2005-08-11 devnull prompt for a list of commands.
191 35ed6913 2005-07-13 devnull .PP
192 35ed6913 2005-07-13 devnull .I Vmount
193 35ed6913 2005-07-13 devnull mounts the NFS service at the network connection
194 35ed6913 2005-07-13 devnull .I address
195 35ed6913 2005-07-13 devnull onto
196 35ed6913 2005-07-13 devnull .IR mountpoint .
197 35ed6913 2005-07-13 devnull On most operating systems,
198 35ed6913 2005-07-13 devnull .I vmount
199 35ed6913 2005-07-13 devnull must be run by the user
200 35ed6913 2005-07-13 devnull .BR root .
201 35ed6913 2005-07-13 devnull .PP
202 35ed6913 2005-07-13 devnull .I Vnfs
203 35ed6913 2005-07-13 devnull serves, using the
204 35ed6913 2005-07-13 devnull NFS version 3 protocol,
205 35ed6913 2005-07-13 devnull one or more disk images in a synthetic tree defined
206 35ed6913 2005-07-13 devnull by the configuration file
207 35ed6913 2005-07-13 devnull .IR config .
208 35ed6913 2005-07-13 devnull .I Vnfs
209 3aec33fe 2005-07-18 devnull serves both NFS mount protocol
210 3aec33fe 2005-07-18 devnull and NFS protocol
211 3aec33fe 2005-07-18 devnull RPCs at
212 35ed6913 2005-07-13 devnull .IR addr
213 35ed6913 2005-07-13 devnull (default
214 3aec33fe 2005-07-18 devnull .BR udp!*!nfs ).
215 35ed6913 2005-07-13 devnull The options are:
216 35ed6913 2005-07-13 devnull .TP
217 3aec33fe 2005-07-18 devnull .B -E
218 3aec33fe 2005-07-18 devnull Disable `encrypted' handles.
219 3aec33fe 2005-07-18 devnull By default handles are encrypted with a random key to avoid
220 3aec33fe 2005-07-18 devnull leaking information about the backed-up file systems.
221 3aec33fe 2005-07-18 devnull If encryption is disabled, the NFS handles exposed to the client
222 3aec33fe 2005-07-18 devnull may leak information about the root scores of the disks as well
223 3aec33fe 2005-07-18 devnull as inode numbers.
224 35ed6913 2005-07-13 devnull .TP
225 3aec33fe 2005-07-18 devnull .B -L
226 3aec33fe 2005-07-18 devnull Local service only: serve only requests from the loopback interface (127.0.0.1).
227 35ed6913 2005-07-13 devnull .TP
228 3aec33fe 2005-07-18 devnull .B -LL
229 3aec33fe 2005-07-18 devnull Local service only, with paranoia: serve only requests from loopback,
230 3aec33fe 2005-07-18 devnull and only from the first source port that sends a request.
231 3aec33fe 2005-07-18 devnull This option is intended to be used to make sure that once the local
232 3aec33fe 2005-07-18 devnull host has mounted the service, no other local users can access it.
233 35ed6913 2005-07-13 devnull .TP
234 3aec33fe 2005-07-18 devnull .B -R
235 3aec33fe 2005-07-18 devnull Print all NFS and NFS mount RPCs to standard error.
236 3aec33fe 2005-07-18 devnull .TP
237 3aec33fe 2005-07-18 devnull .B -V
238 3aec33fe 2005-07-18 devnull Print all Venti transactions to standard error.
239 3aec33fe 2005-07-18 devnull .TP
240 3aec33fe 2005-07-18 devnull .BI -a " addr
241 3aec33fe 2005-07-18 devnull Serve requests on
242 3aec33fe 2005-07-18 devnull .IR addr
243 3aec33fe 2005-07-18 devnull (see above).
244 3aec33fe 2005-07-18 devnull .TP
245 3aec33fe 2005-07-18 devnull .BI -b " blocksize
246 3aec33fe 2005-07-18 devnull Set block size used by the in-memory venti block cache.
247 3aec33fe 2005-07-18 devnull Must be as large as the maximum block size in any
248 3aec33fe 2005-07-18 devnull file system mentioned in the configuration.
249 3aec33fe 2005-07-18 devnull .TP
250 3aec33fe 2005-07-18 devnull .BI -c " cachesize
251 3aec33fe 2005-07-18 devnull Set the number of blocks stored by the in-memory venti cache.
252 3aec33fe 2005-07-18 devnull .TP
253 3aec33fe 2005-07-18 devnull .B -r
254 3aec33fe 2005-07-18 devnull Respond to all requests with a Sun RPC rejection.
255 3aec33fe 2005-07-18 devnull This is useful during debugging.
256 3aec33fe 2005-07-18 devnull .PD
257 3aec33fe 2005-07-18 devnull .PP
258 3aec33fe 2005-07-18 devnull .I Config
259 3aec33fe 2005-07-18 devnull is a text file describing the
260 3aec33fe 2005-07-18 devnull backup hierarchy for
261 3aec33fe 2005-07-18 devnull .I vnfs
262 3aec33fe 2005-07-18 devnull to serve.
263 3aec33fe 2005-07-18 devnull Lines beginning with a sharp
264 3aec33fe 2005-07-18 devnull .RB ( # )
265 3aec33fe 2005-07-18 devnull are ignored.
266 3aec33fe 2005-07-18 devnull The rest of the file is a sequence of commands, one per line.
267 3aec33fe 2005-07-18 devnull The commands are:
268 3aec33fe 2005-07-18 devnull .TP
269 3aec33fe 2005-07-18 devnull .BI mount " mtpt score time
270 3aec33fe 2005-07-18 devnull Add the file system with the given
271 3aec33fe 2005-07-18 devnull .I score
272 3aec33fe 2005-07-18 devnull to the tree at the mount point
273 3aec33fe 2005-07-18 devnull .IR mtpt .
274 3aec33fe 2005-07-18 devnull The path to the mount point will be created
275 3aec33fe 2005-07-18 devnull if necessary.
276 3aec33fe 2005-07-18 devnull If
277 3aec33fe 2005-07-18 devnull .B /dev/null
278 3aec33fe 2005-07-18 devnull is given as the score, an empty file system is mounted at
279 3aec33fe 2005-07-18 devnull .IR mtpt ,
280 3aec33fe 2005-07-18 devnull excluding
281 3aec33fe 2005-07-18 devnull .IR mtpt 's
282 3aec33fe 2005-07-18 devnull contents from view.
283 3aec33fe 2005-07-18 devnull .I Time
284 3aec33fe 2005-07-18 devnull is the modification time to return for the directory
285 3aec33fe 2005-07-18 devnull .IR mtpt ,
286 3aec33fe 2005-07-18 devnull either a decimal number of seconds since the epoch
287 3aec33fe 2005-07-18 devnull or a string of the form
288 3aec33fe 2005-07-18 devnull .IB yyyy / mmdd / hhmm
289 3aec33fe 2005-07-18 devnull giving the year, month, day, hour, and minute.
290 3aec33fe 2005-07-18 devnull .RI ( Vnfs
291 3aec33fe 2005-07-18 devnull does not use the modification time of the root in order
292 3aec33fe 2005-07-18 devnull to avoid accessing every mounted file system on common
293 3aec33fe 2005-07-18 devnull actions like
294 3aec33fe 2005-07-18 devnull .B ls
295 3aec33fe 2005-07-18 devnull .B -l
296 3aec33fe 2005-07-18 devnull .BR /dump/sys/2005 .)
297 3aec33fe 2005-07-18 devnull .TP
298 3aec33fe 2005-07-18 devnull .BI allow " ip\fR[\fL/\fImask\fR]
299 3aec33fe 2005-07-18 devnull .TP
300 3aec33fe 2005-07-18 devnull .BI deny " ip\fR[\fL/\fImask\fR]
301 3aec33fe 2005-07-18 devnull These two commands define access permissions based on IP address.
302 3aec33fe 2005-07-18 devnull The optional
303 3aec33fe 2005-07-18 devnull .I mask
304 3aec33fe 2005-07-18 devnull can be a decimal number (24) or an equivalent IP mask (255.255.255.0).
305 3aec33fe 2005-07-18 devnull Each request is filtered through the rules listed in the configuration file.
306 3aec33fe 2005-07-18 devnull The first rule that matches is used.
307 3aec33fe 2005-07-18 devnull If any
308 3aec33fe 2005-07-18 devnull .B allow
309 3aec33fe 2005-07-18 devnull or
310 3aec33fe 2005-07-18 devnull .B deny
311 3aec33fe 2005-07-18 devnull rules are given, the default action is to reject the request.
312 3aec33fe 2005-07-18 devnull In the absence of any rules, the default action is to accept all requests.
313 3aec33fe 2005-07-18 devnull .PD
314 35ed6913 2005-07-13 devnull .SH EXAMPLES
315 35ed6913 2005-07-13 devnull .PP
316 3aec33fe 2005-07-18 devnull Running on the server
317 3aec33fe 2005-07-18 devnull .IR bob ,
318 3aec33fe 2005-07-18 devnull back up the file system stored on
319 3aec33fe 2005-07-18 devnull .BR /dev/da0s1a ,
320 3aec33fe 2005-07-18 devnull which is mounted on
321 3aec33fe 2005-07-18 devnull .BR /home :
322 35ed6913 2005-07-13 devnull .IP
323 35ed6913 2005-07-13 devnull .EX
324 35ed6913 2005-07-13 devnull % vbackup /dev/da0s1a
325 3aec33fe 2005-07-18 devnull mount /bob/2005/0510/home ffs:0123456789abcdef\fI...\fP 2005/0510/0831
326 35ed6913 2005-07-13 devnull %
327 35ed6913 2005-07-13 devnull .EE
328 35ed6913 2005-07-13 devnull .PP
329 35ed6913 2005-07-13 devnull Serve that backup and a few others in a tree reminiscent
330 35ed6913 2005-07-13 devnull of Plan 9's dump file system, but hide each day's contents of
331 35ed6913 2005-07-13 devnull .B /tmp :
332 35ed6913 2005-07-13 devnull .IP
333 35ed6913 2005-07-13 devnull .EX
334 35ed6913 2005-07-13 devnull % cat config
335 3aec33fe 2005-07-18 devnull mount /bob/2005/0510 ffs:0123456789abcdef\fI...\fP 2005/0510/0829
336 3aec33fe 2005-07-18 devnull mount /bob/2005/0510/home ffs:0123456789abcdef\fI...\fP 2005/0510/0831
337 3aec33fe 2005-07-18 devnull mount /bob/2005/0510/tmp /dev/null 1
338 3aec33fe 2005-07-18 devnull mount /bob/2005/0511 ffs:0123456789abcdef\fI...\fP 2005/0511/0827
339 3aec33fe 2005-07-18 devnull mount /bob/2005/0511/home ffs:0123456789abcdef\fI...\fP 2005/0511/0828
340 3aec33fe 2005-07-18 devnull mount /bob/2005/0511/tmp /dev/null 1
341 3aec33fe 2005-07-18 devnull % vnfs -b 16k -c 1k config
342 35ed6913 2005-07-13 devnull %
343 35ed6913 2005-07-13 devnull .EE
344 35ed6913 2005-07-13 devnull .PP
345 35ed6913 2005-07-13 devnull Mount the backups on a client machine using
346 35ed6913 2005-07-13 devnull .IR vmount :
347 35ed6913 2005-07-13 devnull .IP
348 35ed6913 2005-07-13 devnull .EX
349 35ed6913 2005-07-13 devnull # vmount udp!yourserver!nfs /dump
350 3aec33fe 2005-07-18 devnull # ls /dump/bob/2005
351 3aec33fe 2005-07-18 devnull 0510
352 3aec33fe 2005-07-18 devnull 0511
353 35ed6913 2005-07-13 devnull #
354 35ed6913 2005-07-13 devnull .EE
355 35ed6913 2005-07-13 devnull .PP
356 3aec33fe 2005-07-18 devnull (Users of fancy shells may need to quote the address argument.)