732fce50d69a19d2141a9dbc8f531c4909ab9952
[debian/amanda] / man / amanda-devices.7
1 '\" t
2 .\"     Title: amanda-devices
3 .\"    Author: Ian Turner <ian@zmanda.com>
4 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5 .\"      Date: 02/21/2012
6 .\"    Manual: Miscellanea
7 .\"    Source: Amanda 3.3.1
8 .\"  Language: English
9 .\"
10 .TH "AMANDA\-DEVICES" "7" "02/21/2012" "Amanda 3\&.3\&.1" "Miscellanea"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 amanda-devices \- Configuring and Using Amanda Devices
32 .SH "DESCRIPTION"
33 .PP
34 The Device API specifies a generic interface between Amanda and storage devices such as tapes or disks\&. This manual page describes the device drivers included with Amanda\&.
35 .PP
36 This is a
37 \fIuser\-level\fR
38 description of the API, and does not address details that are only of concern to developers\&. For that purpose, consult the Amanda source code and http://wiki\&.zmanda\&.com\&.
39 .PP
40 The term "device driver" describes the software that can communicate with some kind of backend storage, e\&.g\&., a tape driver\&. A "device" is the storage element itself, usually a piece of hardware\&. When discussing a device and its driver as a unit, the term "device" is sometimes also used to refer to the combination of device and driver\&.
41 .SH "SPECIFYING DEVICES"
42 .PP
43 Device names take the form
44 \fITYPE:NODE\fR, where
45 \fITYPE\fR
46 selects a device driver, and
47 \fINODE\fR
48 provides further information to that driver\&. The syntax for each device driver is given in the corresponding section below\&.
49 .PP
50 Devices can be described in
51 \fBamanda.conf\fR(5)
52 with "device" sections, e\&.g\&.,
53 .sp
54 .nf
55 define device top_drive {
56     tapedev "tape:/dev/nst0"
57     device\-property "BLOCK_SIZE" "131072"
58 }
59 .fi
60 Such a device defininition creates a device "alias", in this case named
61 \fItop_drive\fR, which can then be named in the global
62 \fItapedev\fR
63 or
64 \fItpchanger\fR
65 parameter:
66 .sp
67 .nf
68 tapedev "top_drive"
69 .fi
70 .PP
71 The global
72 \fItapedev\fR
73 parameter can also specify a literal device name\&. For example,
74 .sp
75 .nf
76 tapedev "file:/amdisks"
77 .fi
78 is equivalent to
79 .sp
80 .nf
81 tapedev "default"
82 define device default {
83     tapedev "file:/amdisks"
84 }
85 .fi
86 Note that, in both cases, the specified devices are actually accessed through the
87 \fIchg\-single\fR
88 changer driver; see
89 \fBamanda-changers\fR(7)
90 for more information\&.
91 .PP
92 Device properties specified outside of any device definition apply to all devices\&. This syntax is provided mainly for backward compatibility, and for simple Amanda configurations\&. Note that there is no way to provide properties specific to a device without defining a device alias\&.
93 .PP
94 See
95 \fBamanda-changers\fR(7)
96 for details on how devices are configured, and in particular on how device properties are specified\&. See
97 \fBamanda.conf\fR(5)
98 for more information on Amanda configuration in general\&.
99 .if n \{\
100 .sp
101 .\}
102 .RS 4
103 .it 1 an-trap
104 .nr an-no-space-flag 1
105 .nr an-break-flag 1
106 .br
107 .ps +1
108 \fBNote\fR
109 .ps -1
110 .br
111 .PP
112 There is no way to reset a device property to its default value\&.
113 .sp .5v
114 .RE
115 .SH "PROPERTIES"
116 .PP
117 Device drivers use
118 \fIproperties\fR
119 as a generic means to interact with other parts of Amanda\&. Some properties are set by the device driver and used by Amanda to determine how its devices should be used\&. Other properties can be set by Amanda or by the user to influence the driver\*(Aqs behavior\&. Properties are set for a particular device, so that if you have two tape devices, they will not share property values\&.
120 .PP
121 Properties are specified in
122 \fIamanda\&.conf\fR
123 with the
124 \fIdevice\-property\fR
125 parameter\&. The syntax looks like this:
126 .sp
127 .nf
128 device\-property "FROBNICATOR_PATH" "/var/frobd/state"
129 device\-property "BYTES_PER_FORTNIGHT" "128k"
130 device\-property "USE_QUBITS" "no"
131 .fi
132 .PP
133 Both the property name and the property value are always quoted\&. Property names, like Amanda configuration parameters, are not case\-sensitive, and
134 \-
135 (dash) and
136 _
137 (underscore) may be used interchangeably\&. String values are given as simple strings, like FROBNICATOR_PATH in the example above\&. Integer values can be specified with any of the suffixes given in the "VALUE SUFFIXES" section of
138 \fBamanda.conf\fR(5), like BYTES_PER_FORTNIGHT, above\&. Boolean values can be specified using the same names as in
139 \fBamanda.conf\fR(5), like USE_QUBITS, above\&. Some properties have special formats, as described below\&.
140 .PP
141 Some properties are set based on other configuration values, such as tapetype parameters\&. These special cases are detailed under the appropriate property, below\&.
142 .PP
143 The order in which device properties are set is as follows:
144 .sp
145 .RS 4
146 .ie n \{\
147 \h'-04' 1.\h'+01'\c
148 .\}
149 .el \{\
150 .sp -1
151 .IP "  1." 4.2
152 .\}
153 Tapetype parameters (including length, blocksize, and readblocksize) are translated into device properties and set accordingly\&.
154 .RE
155 .sp
156 .RS 4
157 .ie n \{\
158 \h'-04' 2.\h'+01'\c
159 .\}
160 .el \{\
161 .sp -1
162 .IP "  2." 4.2
163 .\}
164 Device properties from any device\-property configuration parameters are set, in the order they appear in the configuration file\&.
165 .RE
166 .PP
167 Properties described as read\-only are not accessible to users\&. They are listed here for completeness\&.
168 .SS "COMMON PROPERTIES"
169 .PP
170 Note that some of these properties are currently unused, and present only for future expansion\&. Not all devices implement all of these properties\&.
171 .PP
172 APPENDABLE
173 .RS 4
174
175  (read\-only) This boolean property indicates whether this device supports appending data to volumes\&.
176 .RE
177 .PP
178 BLOCK_SIZE
179 .RS 4
180
181  (read\-write) This property gives the block size, in bytes, that will be used to write to the device\&.  The usual suffixes ("kbytes", etc\&.) are allowed\&.  The tapetype parameter \fIblocksize\fR sets this property\&.
182 .RE
183 .PP
184 CANONICAL_NAME
185 .RS 4
186
187  (read\-only) This property contains the full canonical name for this device\&.  This name may not be the same as the user\-supplied name, but is a valid name by which to access this device\&.
188 .RE
189 .PP
190 COMMENT
191 .RS 4
192
193  (read\-write) This string property is entirely for the user\*(Aqs convenience\&.  It is supported by all devices, but no device interprets its value in any way\&.
194 .RE
195 .PP
196 COMPRESSION
197 .RS 4
198
199  (read\-write) This boolean property represents the compression status of the device, and can be used to enable and disable such compression\&.  This applies mostly to tape devices, although many tape devices do not support setting compression from software\&.
200 .RE
201 .PP
202 COMPRESSION_RATE
203 .RS 4
204
205  (read\-only) This property gives the compression rate, as a decimal ratio\&.  It may be a measured value over some unspecified period or a simple estimate\&.
206 .RE
207 .PP
208 CONCURRENCY
209 .RS 4
210
211  (read\-only) This property indicates the level of concurrent access that this device supports\&.
212 .RE
213 .PP
214 FULL_DELETION
215 .RS 4
216
217  (read\-only) This property indicates whether the device supports erasing the entire volume\&.  Aside from S3 and VFS, most devices cannot support this feature\&.
218 .RE
219 .PP
220 LEOM
221 .RS 4
222
223 (read\-write) If this property is true, then the device can detect an EOM condition before actually running out of space, allowing Amanda to forgo caching parts while writing\&.  For some devices, it is necessary to override the conservative default value of this property\&.
224 .RE
225 .PP
226 MAX_BLOCK_SIZE
227 .RS 4
228
229  (read\-only) This property gives the maximum block size this device can support\&.  See BLOCK SIZES, below\&.
230 .RE
231 .PP
232 MEDIUM_ACCESS_TYPE
233 .RS 4
234
235  (read\-only) This property gives the type of the media in the device: read only, WORM (Write Once, Read Many), read/write, or write only\&.  Write\-only devices do not support recovery, but the data are not necessarily thrown out\&.
236 .RE
237 .PP
238 MIN_BLOCK_SIZE
239 .RS 4
240
241  (read\-write) This property gives the minimum block size this device can support\&.  See BLOCK SIZES, below\&.
242 .RE
243 .PP
244 MAX_VOLUME_USAGE
245 .RS 4
246
247  (read\-write) On devices that support it, this property will limit the total amount of data written to a volume; attempts to write beyond this point will cause the device to simulate "out of space\&."  Zero means no limit\&.  The tapetype parameter \fIlength\fR sets this property\&.
248 .RE
249 .PP
250 ENFORCE_MAX_VOLUME_USAGE
251 .RS 4
252
253  (read\-write) If this property is false, limit set by MAX_VOLUME_USAGE property (and thus the tapetype LENGTH parameter) will not be verified while writing to device, allowing the volume to expand without limit\&. If this property is true, then MAX_VOLUME_USAGE willbe enforced, limiting the total size of the volume\&. This property is not available on all devices; see below\&.
254 .RE
255 .PP
256 PARTIAL_DELETION
257 .RS 4
258
259  (read\-only) This property indicates whether the device supports deletion of specific files\&.  Aside from linear tapes and S3, most devices can support this feature\&.  It is currently unused by Amanda\&.
260 .RE
261 .PP
262 STREAMING
263 .RS 4
264
265 (read\-only) This property gives the streaming requirement for this device\&.  For
266 example, tape drives often require a steady supply of data to avoid
267 shoe\-shining, while disk devices have no such requirement\&.  Streaming is
268 accomplished by buffering \fBdevice\-output\-buffer\-size\fR bytes of
269 data\&.  The allowed values are "none" (no streaming buffer necessary),
270 "required" (fill the buffer before starting to write), or "desired" (fill the
271 buffer before starting to write, and if the buffer becomes empty, stop writing
272 until it is completely full again)\&.
273 .RE
274 .PP
275 VERBOSE
276 .RS 4
277
278  (read\-write) If this boolean property is set, then the device will produce verbose debugging output\&.  This property is not recognized by most devices\&.
279 .RE
280 .SS "BLOCK SIZES"
281 .PP
282 Amanda writes device data in blocks\&. On most devices the block boundaries are embedded in the media along with the data itself, so subsequent reads must use the same block sizes\&. On tape devices, the block size is dictated by the capabilities of the hardware \-\- buffer sizes, physical format, and so on\&.
283 .PP
284 Amanda has historically supported a single, fixed block size \-\- usually 32k\&. The Device API adds the ability to specify a block size at runtime, using the BLOCK_SIZE property\&. Devices provide MIN_BLOCK_SIZE and MAX_BLOCK_SIZE as a guide to the range of acceptable block sizes\&. Note that this does not imply that all sizes in the range MIN_BLOCK_SIZE \- MAX_BLOCK_SIZE are available \-\- the device may require that block sizes are even multiples of some power of two, for example\&. Consult the documentation for your hardware and operating system for more information\&.
285 .PP
286 Most devices are flexible enough to read a volume using a different block size than that with which it was written\&. This can be useful when handling old volumes written with a smaller blocksize, or volumes of unknown blocksize\&. Unfortunately, some tape devices do not detect oversized blocks correctly, and may lose data if the configured block size is smaller than the volume\*(Aqs block size\&. The tape device driver has a READ_BLOCK_SIZE property which specifies the minimum buffer size that will be allocated for reads from tape\&. If the hardware supports it, setting this property allows Amanda to correctly read from tapes written with any blocksize less than or equal to READ_BLOCK_SIZE\&.
287 .if n \{\
288 .sp
289 .\}
290 .RS 4
291 .it 1 an-trap
292 .nr an-no-space-flag 1
293 .nr an-break-flag 1
294 .br
295 .ps +1
296 \fBNote\fR
297 .ps -1
298 .br
299 .PP
300 The RAIT device does not support flexible block sizes, as its parity algorithm requires that all child devices have the same, fixed block size\&.
301 .sp .5v
302 .RE
303 .SS "LEOM DETECTION"
304 .PP
305 Some Amanda devices can detect end\-of\-medium (running out of space on the device) before it occurs\&. This early warning is referred to as logical EOM, and where it is supported Amanda can operate more efficiently, since the possibility for data loss is reduced\&.
306 .PP
307 The boolean LEOM property indicates whether or not a particular device supports LEOM detection\&. The sections below also describe the degree of support\&.
308 .SH "DEVICES"
309 .PP
310 This section lists the device drivers included with Amanda, and basic instructions for using them\&. For complete How\-To information, consult the Amanda wiki at http://wiki\&.zmanda\&.com\&.
311 .SS "Null Device"
312 .nf
313 tapedev "null:"
314 .fi
315 .PP
316 The null device driver only supports writing, and discards all data\&. It is generally only useful for testing purposes\&.
317 .SS "RAIT Device"
318 .nf
319 tapedev "rait:tape:/dev/rmt/tps0d{4,5,6}n"
320 .fi
321 .PP
322 The RAIT device driver mirrors or stripes data over multiple "child" devices\&. The child devices are specified using a shell\-like syntax, where alternatives are enclosed in braces and separated by commas\&. Braces and commas can be escaped with a backslash\&. Note that the backslash itself must be escaped in most contexts\&. For example:
323 .sp
324 .nf
325 tapedev "rait:{file:/var/amanda/vtapes,tape:/dev/nst0}"
326 tapedev "rait:{comma\-dev:foo\e\e,bar,brace\-dev:foo\e\e}bar}" # quoting
327 .fi
328 If the braces contain a numeric range separated with two dots, that range will be filled in sequentially\&. If the first number has a leading zero, then the results will be zero\-padded to the maximum length\&. For example:
329 .sp
330 .nf
331 tapedev "rait:file:/var/amanda/vtapes/drive{01\&.\&.04}"
332 .fi
333 .PP
334 With two child devices, the RAIT device driver mirrors data such that the two devices contain identical data and can be used singly for recovery\&. With more than two devices, the RAIT device "stripes" data across all but one device and writes a parity block to the final device, usable for data recovery in the event of a device or volume failure\&. The RAIT device scales its blocksize as necessary to match the number of children that will be used to store data\&.
335 .PP
336 When a child device is known to have failed, the RAIT device should be reconfigured to replace that device with the text "ERROR", e\&.g\&.,
337 .sp
338 .nf
339 tapedev "rait:{tape:/dev/st0,ERROR,tape:/dev/st2}"
340 .fi
341 This will cause the RAIT device to start up in degraded mode, reconstructing the data from the missing device\&.
342 .PP
343 Like ordinary RAID drivers, the RAIT device driver can automatically enter degraded mode when one of its child devices fails\&. However, the RAIT device cannot automatically recover from any write error nor write any data in degraded mode\&. When reading, certain errors may be fatal (rather than causing degraded mode)\&. And in any case, labels on all volumes must initially match (labeled or otherwise)\&. If you have lost one volume from a set, explicitly start the device in degraded mode as described above\&.
344 .PP
345 This device can detect LEOM if and only if all of the child devices can detect LEOM\&.
346 .SS "Child Device Block Sizes"
347 .PP
348 The RAIT device driver requires that all of its child devices use the same block size\&. If no block sizes are specified, the driver selects the block size closest to 32k that is within the MIN_BLOCK_SIZE \- MAX_BLOCK_SIZE range of all child devices, and calculates its own blocksize according to the formula
349 \fIrait_blocksize = child_blocksize * (num_children \- 1)\fR\&. If a block size is specified for the RAIT device, then it calculates its child block sizes according to the formula
350 \fIchild_blocksize = rait_blocksize / (num_children \- 1)\fR\&. Either way, it sets the BLOCK_SIZE property of each child device accordingly\&.
351 .SS "S3 Device"
352 .nf
353 tapedev "s3:foocorp\-backups/DailySet1\-"
354 device\-property "S3_ACCESS_KEY" "MYACCESSKEY"
355 device\-property "S3_SECRET_KEY" "MYSECRETKEY"
356 .fi
357 .PP
358 The S3 device driver uploads data to the Amazon S3 "storage cloud"\&. Its device name is a slash\-sparated combination of bucket name and prefix: "s3:BUCKET/PREFIX"\&. Since buckets must be unique across all Amazon S3 users, and since the number of buckets allowed to each user is limited, the driver can store multiple Amanda volumes in a single S3 bucket, distinguished by prefix\&. The prefix and slash can be omitted if they are not needed: "s3:BUCKET"\&.
359 .PP
360 The access and secret keys used to authenticate to Amazon S3 are provided as properties\&.
361 .PP
362 The S3 device driver stores each block in a distinct S3 object\&. Due to high HTTP overhead for each request, use of larger than normal block sizes (> 1 megabyte) is recommended with the S3 device\&.
363 .PP
364 Amanda automatically creates a bucket when writing, if the bucket doesn\*(Aqt already exist\&. At that time, it specifies where Amazon should store the data based on the S3_BUCKET_LOCATION property\&. If this property is not set, Amazon\*(Aqs default value (equivalent to "*") is used\&. The bucket location has both billing and legal concerns, so you are encouraged to consult Amazon\*(Aqs documentation for details\&.
365 .PP
366 Amazon does not permit changes to bucket locations, so this is a permanent specification\&. If the bucket already exists and the property is set, then Amanda checks the property against the location of the bucket, and produces an error if they do not match\&.
367 .if n \{\
368 .sp
369 .\}
370 .RS 4
371 .it 1 an-trap
372 .nr an-no-space-flag 1
373 .nr an-break-flag 1
374 .br
375 .ps +1
376 \fBNote\fR
377 .ps -1
378 .br
379 .PP
380 If a location constraint is set, the bucket name must consist only of lower\-case letters, numbers, dashes, and dots\&.
381 .sp .5v
382 .RE
383 .PP
384 This driver supports the VERBOSE property, but use it carefully \-\- it produces a great deal of output, and may cause spurious failures by filling your debug log partition\&. Its logging is generally only useful for developers chasing down a problem in communications with Amazon\*(Aqs servers\&.
385 .PP
386 Since Amazon storage is unlimited, the device never encounteres EOM, so LEOM detection is trivially enabled for this device\&.
387 .PP
388 This driver supports the ENFORCE_MAX_VOLUME_USAGE property\&. Default value is false\&. See COMMON_PROPERTIES, above\&.
389 .SS "Device-Specific Properties"
390 .PP
391 In addition to the common properties, the S3 device supports the properties listed in this section\&.
392 .PP
393 Most Amanda devices work just fine without any properties, but not the S3 device\&. A typical S3 configuration will have an access key and secret key specified:
394 .sp
395 .nf
396 device\-property "S3_ACCESS_KEY" "27D3B8C6C4E7AA423C2B37C72A0D22C8"
397 device\-property "S3_SECRET_KEY" "agphc2Q7Zmxragphc2RmO2xragpzZGY7a2xqCgr"
398 .fi
399 .PP
400 MAX_RECV_SPEED
401 .RS 4
402
403 (read\-write) Maximum speed, in bytes per second, that this device will receive
404 data from S3\&.  If the average speed exceeds this value, the device will stop
405 reading long enough to bring the average below this value\&.
406 .RE
407 .PP
408 MAX_SEND_SPEED
409 .RS 4
410
411 (read\-write) Maximum speed, in bytes per second, that this device will send
412 data to S3\&.  If the average speed exceeds this value, the device will stop
413 writing long enough to bring the average below this value\&.
414 .RE
415 .PP
416 NB_THREADS_BACKUP
417 .RS 4
418
419 (read\-write) The number of thread that send data to the s3 device, higher value can provide more throutput\&.
420 .RE
421 .PP
422 NB_THREADS_RECOVERY
423 .RS 4
424
425 (read\-write) The number of thread that read data from the s3 device, higher value can provide more throutput\&.
426 .RE
427 .PP
428 OPENSTACK_SWIFT_API
429 .RS 4
430
431  (read\-write) Set to yes if it is an openstack storage device\&.
432 .RE
433 .PP
434 S3_ACCESS_KEY
435 .RS 4
436
437  (read\-write) This property gives the Amazon S3 access key used to access the service\&.
438 .RE
439 .PP
440 S3_BUCKET_LOCATION
441 .RS 4
442
443  (read\-write) Location constraint for buckets on Amazon S3\&.
444 As of this writing, it can be set to "*" (US Standard, i\&.e\&. lowest\-latency
445 choice of US East or West), "us\-west\-1" (US West, Northern California), "EU"
446 (European Union), or "ap\-southeast\-1" (Asia Pacific)\&.  See : http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html for the most up\-to\-date list\&.
447 .RE
448 .PP
449 SSL_CA_INFO
450 .RS 4
451
452  (read\-write) Path to CA certificate to use to verify the identity of the S3 server\&.
453 Only applicable when SSL/TLS is in use\&. The certificate should be in PEM format
454 if OpenSSL or GnuTLS is being used with libcurl\&. Multiple certificates can be
455 bundled together simply by concatenating them\&.
456 If NSS is being used, then it is the directory that the database resides in\&.
457 The value is passed to curl_easy_setopt(3) as CURLOPT_CAINFO\&.
458 .RE
459 .PP
460 S3_HOST
461 .RS 4
462
463 (read\-write) The host name to connect, in the form "hostname:port" or "ip:port", default is "s3\&.amazonaws\&.com"
464 .RE
465 .PP
466 S3_SECRET_KEY
467 .RS 4
468
469 (read\-write) This property gives the Amazon S3 secret key used to access the service\&.
470 .RE
471 .PP
472 S3_SERVER_SIDE_ENCRYPTION
473 .RS 4
474
475 (read\-write) Set to the server side encryption algorithm to use\&.
476 There is actually only one algorithm, it is "AES256"\&.  The encryption is done
477 by Amazon on their server\&. See
478 : http://docs.amazonwebservices.com/AmazonS3/latest/API/index.html?RESTObjectPUT.html
479 for the most up\-to\-date list\&.
480 .RE
481 .PP
482 S3_SERVICE_PATH
483 .RS 4
484
485 (read\-write) A path to add at the beginning of the URL\&.
486 .RE
487 .PP
488 S3_STORAGE_CLASS
489 .RS 4
490
491 (read\-write) Storage class for new objects, currently one of "STANDARD" (the default)
492 or "REDUCED_REDUNDANCY" (cheaper, but less redundant)\&.  See
493 : http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?DataDurability.html
494 for the most up\-to\-date list\&.
495 .RE
496 .PP
497 S3_SSL
498 .RS 4
499
500 (read\-write) Whether or not to use SSL/TLS to secure communications with Amazon S3\&.
501 .RE
502 .PP
503 S3_SUBDOMAIN
504 .RS 4
505
506  (read\-write) Whether or not to use subdomain hostname\&.
507 .RE
508 .PP
509 S3_USER_TOKEN
510 .RS 4
511
512 (read\-write) This property specifies the user token for Amanda Enterprise Edition customers\&.
513 .RE
514 .PP
515 VERBOSE
516 .RS 4
517
518 (read\-write) If true, verbose data about each HTTP transaction is sent to the debug log\&.
519 .RE
520 .SS "S3 URL"
521
522      SSL &&  SUBDOMAIN:   https://bucket\&.host/service_path/file
523      SSL && !SUBDOMAIN:   https://host/service_path/bucket/file
524     !SSL &&  SUBDOMAIN:   http://bucket\&.host/service_path/file
525     !SSL && !SUBDOMAIN:   http://host/service_path/bucket/file
526 .SS "Tape Device"
527 .nf
528 tapedev "tape:/dev/nst0"
529 .fi
530 .PP
531 The tape device driver interacts with a tape drive\&. The device uses the operating system\*(Aqs built\-in tape support, which is generally similar to that available via the command\-line utilities dd(1) and mt(1)\&.
532 .PP
533 The tape device name should specify a path to the operating system\*(Aqs device file\&.
534 .PP
535 There is no simple way to determine whether a particular system (operating system and tape hardware) supports LEOM, so as a safe default the tape device has LEOM detection disabled\&. However, on modern hardware and common operating systems (Linux, *BSD, and Solaris, at least), LEOM support is functional\&. On these systems, enable LEOM by setting the LEOM property to "true" at the appropriate place in the Amanda configuration\&.
536 .SS "Device-Specific Properties"
537 .PP
538 Most of these properties are automatically detected, but can be overridden in the configuration file if the autodetection fails\&. Note that tape drives are required to at least support the MTREW (rewind) operation; all other operations can be emulated with the MTREW and read data operations\&.
539 .PP
540 BROKEN_GMT_ONLINE
541 .RS 4
542
543  (read\-write) Set this boolean property if the system\*(Aqs GMT_ONLINE macro gives incorrect results\&.  This is currently true for the Linux IDE\-TAPE driver\&.
544 .RE
545 .PP
546 BSF
547 .RS 4
548
549  (read\-write) This boolean property specifies whether the device
550  driver may execute the MTBSF operation (backward seek file)\&.
551 .RE
552 .PP
553 BSF_AFTER_EOM
554 .RS 4
555
556  (read\-write) This boolean property specifies whether the device
557  driver should execute an MTBSF (backward seek file) operation after
558  MTEOM (seek to end of recorded data) in order to append\&.
559 .RE
560 .PP
561 BSR
562 .RS 4
563
564  (read\-write) This boolean property specifies whether the device
565  driver may use the MTBSR operation (backward seek record)\&.
566 .RE
567 .PP
568 EOM
569 .RS 4
570
571  (read\-write) This boolean property specifies whether the device
572  driver may use the MTEOM command (seek to end of recorded data)\&.
573 .RE
574 .PP
575 FINAL_FILEMARKS
576 .RS 4
577
578  (read\-write) This integer property gives the number of filemarks that should be written at EOD\&.  It is usually 1 or 2\&.
579 .RE
580 .PP
581 FSF
582 .RS 4
583
584  (read\-write) This boolean property specifies whether the device driver may use the MTFSF operation (forward seek file)\&.
585 .RE
586 .PP
587 FSF_AFTER_FILEMARK
588 .RS 4
589
590  (read\-write) This boolean property specifies whether the device driver needs a FSF to go the next file after the filemark is read\&. Default to "TRUE" on Solaris and "FALSE" on all others machines\&.
591 .RE
592 .PP
593 FSR
594 .RS 4
595
596  (read\-write) This boolean property specifies whether the device driver may use the MTFSR operation (forward seek record)\&.
597 .RE
598 .PP
599 NONBLOCKING_OPEN
600 .RS 4
601
602  (read\-write) Set this boolean property to "true" if O_NONBLOCK must be used on the open call\&. Default to "true" on Linux and "false" on all others machines\&. Without it, Linux wait for a few seconds if no tape are loaded\&. Solaris have strange error it is set to "yes"\&.
603 .RE
604 .PP
605 READ_BLOCK_SIZE
606 .RS 4
607
608  (read\-write) This property (previously known as \fIREAD_BUFFER_SIZE\fR) specifies the block size that will be used for reads; this should be large enough to contain any block that may be read from the device (for example, from a tape containing variable\-sized blocks), and must be larger than BLOCK_SIZE\&.  This property is most often used when overwriting tapes using a new, smaller block size\&.
609  The tapetype parameter \fIREADBLOCKSIZE\fR sets this property\&.  See BLOCK SIZES, above\&.
610 .RE
611 .SS "NDMP Device"
612 .nf
613 tapedev "ndmp:my\&.filer\&.com:10000@st1"
614 device\-property "NDMP_USERNAME" "jimmy"
615 device\-property "NDMP_PASSWORD" "thelock"
616 .fi
617 .PP
618 This device enables Amanda to communicate with a tape service on an NDMP server\&. The device name specifies the hostname and optionally the TCP port of the NDMP server, followed by the name of the tape device on the server (\fBst1\fR
619 in the example above)\&.
620 .PP
621 This device supports LEOM detection\&.
622 .SS "Device-Specific Properties"
623 .PP
624 The properties
625 \fBNDMP_USERNAME\fR
626 and
627 \fBNDMP_PASSWORD\fR
628 set the username and password with which to access the NDMP server\&. The default for both is "ndmp"\&.
629 .PP
630 NDMP_AUTH
631 .RS 4
632
633 (read\-write) Authentication method to use to connect to the NDMP server\&.  One of
634 "md5" (default), "text", "none" (for an empty authentication attempt) or "void" (for
635 no authentication attempt at all)\&.
636 .RE
637 .PP
638 NDMP_PASSWORD
639 .RS 4
640
641 (read\-write) Password for md5 or text authentications\&.
642 .RE
643 .PP
644 NDMP_USERNAME
645 .RS 4
646
647 (read\-write) Username for md5 or text authentications\&.
648 .RE
649 .PP
650 READ_BLOCK_SIZE
651 .RS 4
652
653 (read\-write) This property specifies the block size that will be used for reads; this should be large enough to contain any block that may be read from the device and must be larger than BLOCK_SIZE\&. See BLOCK_SIZES, above\&.
654 .RE
655 .SS "VFS Device"
656 .nf
657 tapedev "file:/path/to/vtape"
658 .fi
659 .PP
660 The VFS device driver stores data on a UNIX filesystem\&. Note that although one typically uses the VFS device driver to store data on hard disks, the driver does not interface with any hardware on a block level\&.
661 .PP
662 The device name specifies a path to a directory which must exist and contain a "data/" subdirectory\&. Each tape file is stored as a distinct file in this directory, the name of which reflects the Amanda header in the tape file\&. Block boundaries are not maintained: the driver supports reads of arbitrary size, regardless of the blocksize used to write the data\&.
663 .PP
664 This device supports LEOM detection\&. LEOM will be indicated when the MAX_VOLUME_USAGE is nearly met, or when the filesystem is nearly out of space\&. The latter circumstance is detected by monitoring the available space on the filesystem, and this monitoring can be disabled with the MONITOR_FREE_SPACE property\&. Note that the device cannot detect other circumstances that may cause a write to fail, such as a filesystem quota\&. LEOM detection can be disabled by setting the LEOM property to false\&.
665 .PP
666 This device supports the ENFORCE_MAX_VOLUME_USAGE property\&. Default value is true\&. See COMMON PROPERTIES, above\&.
667 .SS "Device-Specific Properties"
668 .PP
669 MONITOR_FREE_SPACE
670 .RS 4
671
672          (read\-write) This property controls whether the device will monitor
673          the filesystem\*(Aqs free space to detect a full filesystem before an
674          error occurs, and defaults to true\&.  The monitoring operation works on
675          most filesystems, but if it causes problems, use this property to
676          disable it\&.
677 .RE
678 .SS "DVD\-RW Device"
679 .nf
680 tapedev "dvdrw:/var/cache/amanda/dvd\-cache:/dev/scd0"
681 device\-property "DVDRW_MOUNT_POINT" "/media/dvd"
682 device\-property "DVDRW_KEEP_CACHE" "false"
683 device\-property "DVDRW_UNLABELLED_WHEN_UNMOUNTABLE" "true"
684 .fi
685 .PP
686 The DVD\-RW device driver reads and writes optical media such as DVDs and CDs\&. The device name must specify a cache directory for data to be temporarily stored, followed by the operating system name for the optical drive\&. The cache directory must contain a "data/" subdirectory\&.
687 .PP
688 The DVDRW_MOUNT_POINT property is required, and specifies a directory where the optical media can be mounted\&. This directory must be configured to enable non\-root users to mount the optical media\&. On Linux, that means a line similar to the following in /etc/fstab:
689 .nf
690 /dev/scd0 /media/dvd auto ro,user,noauto 0 0
691 .fi
692 .PP
693 Note the "user" option\&.
694 .PP
695 When writing data, the device acts as a VFS device using the given cache directory\&. On completion of writing the tape, the cache directory is written to optical media\&. The DVDRW_KEEP_CACHE property controls whether the cache contents are immediately deleted\&. When reading, the optical media is first mounted and read as a VFS device\&.
696 .PP
697 Attempting to mount unformatted media or media that is formatted but contains no filesystem will usually result in an error\&. The boolean DVDRW_UNLABELLED_WHEN_UNMOUNTABLE property specifies whether media that cannot be mounted should be treated as an empty, unlabelled volume when attempting to read the volume label\&. It is necessary to set this property to "true" when labelling such media\&.
698 .PP
699 This device does not support LEOM detection\&.
700 .SS "Device-Specific Properties"
701 .PP
702 The properties DVDRW_GROWISOFS_COMMAND, DVDRW_MOUNT_COMMAND and DVDRW_UMOUNT_COMMAND specify alternative commands for writing, mounting and unmounting optical media\&. The default is to find the programs using the PATH environment variable\&.
703 .PP
704 The CDRW device supports all of the properties of the VFS device, as well as the properties given below\&. The DVDRW_MOUNT_POINT property is required\&. Other properties are optional\&.
705 .PP
706 DVDRW_KEEP_CACHE
707 .RS 4
708
709  (read\-write) Set this boolean property to "true" if the disk cache directory should be kept after successfully writing tape data to optical media\&. The default is false, which causes the cache contents to be deleted immediately after a successful write operation\&.
710 .RE
711 .PP
712 DVDRW_MOUNT_POINT
713 .RS 4
714
715  (read\-write) This property specifies the filesystem mount point for the optical media\&. Non\-root users must be able to mount optical media by invoking "mount" and specifying this mount point\&.
716 .RE
717 .PP
718 DVDRW_UNLABELLED_WHEN_UNMOUNTABLE
719 .RS 4
720
721  (read\-write) Treat unmountable media as empty, unlabelled media\&. This is necessary when attempting to label freshly formatted media\&.
722 .RE
723 .PP
724 DVDRW_GROWISOFS_COMMAND
725 .RS 4
726
727  (read\-write) The command to invoke to burn the DVD\&.
728 .RE
729 .PP
730 DVDRW_MOUNT_COMMAND
731 .RS 4
732
733  (read\-write) The command to invoke to mount the DVD\&.
734 .RE
735 .PP
736 DVDRW_UMOUNT_COMMAND
737 .RS 4
738
739  (read\-write) The command to invoke to unmount the DVD\&.
740 .RE
741 .SH "SEE ALSO"
742 .PP
743 \fBamanda\fR(8),
744 \fBamanda.conf\fR(5)
745 .PP
746 The Amanda Wiki:
747 : http://wiki.zmanda.com/
748 .SH "AUTHORS"
749 .PP
750 \fBIan Turner\fR <\&ian@zmanda\&.com\&>
751 .RS 4
752 Zmanda, Inc\&. (http://www\&.zmanda\&.com)
753 .RE
754 .PP
755 \fBDustin J\&. Mitchell\fR <\&dustin@zmanda\&.com\&>
756 .RS 4
757 Zmanda, Inc\&. (http://www\&.zmanda\&.com)
758 .RE