Imported Upstream version 3.1.0
[debian/amanda] / man / amanda-devices.7
index e1f7f33e827dd98ef53305ae98f193b515217f97..72f587878ba0d9581ead89f70b9bfede79462a10 100644 (file)
@@ -2,12 +2,12 @@
 .\"     Title: amanda-devices
 .\"    Author: Ian Turner <ian@zmanda.com>
 .\" Generator: DocBook XSL Stylesheets vsnapshot_8273 <http://docbook.sf.net/>
-.\"      Date: 11/05/2009
+.\"      Date: 06/01/2010
 .\"    Manual: Miscellanea
-.\"    Source: Amanda 2.6.1p2
+.\"    Source: Amanda 3.1.0
 .\"  Language: English
 .\"
-.TH "AMANDA\-DEVICES" "7" "11/05/2009" "Amanda 2\&.6\&.1p2" "Miscellanea"
+.TH "AMANDA\-DEVICES" "7" "06/01/2010" "Amanda 3\&.1\&.0" "Miscellanea"
 .\" -----------------------------------------------------------------
 .\" * set default formatting
 .\" -----------------------------------------------------------------
@@ -38,7 +38,7 @@ selects a device driver, and
 \fINODE\fR
 provides further information to that driver\&. The syntax for each device driver is given in the corresponding section below\&.
 .PP
-Devices are described in
+Devices can be described in
 \fBamanda.conf\fR(5)
 with "device" sections, e\&.g\&.,
 .sp
@@ -48,9 +48,11 @@ define device top_drive {
     device_property "BLOCK_SIZE" "131072"
 }
 .fi
-A device defininition creates a device "alias", in this case named
+Such a device defininition creates a device "alias", in this case named
 \fItop_drive\fR, which can then be named in the global
 \fItapedev\fR
+or
+\fItpchanger\fR
 parameter:
 .sp
 .nf
@@ -72,74 +74,35 @@ define device default {
     tapedev "file:/amdisks"
 }
 .fi
+Note that, in both cases, the specified devices are actually accessed through the
+\fIchg\-single\fR
+changer driver; see
+\fBamanda-changers\fR(7)
+for more information\&.
+.PP
 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\&.
 .PP
 See
+\fBamanda-changers\fR(7)
+for details on how devices are configured, and in particular on how device properties are specified\&. See
 \fBamanda.conf\fR(5)
-for more information on Amanda configuration\&.
-.SH "DEVICES"
-.PP
-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\&.
-.SS "Null Device"
-.nf
-tapedev "null:"
-.fi
-.PP
-The null device driver only supports writing, and discards all data\&. It is generally only useful for testing purposes\&.
-.SS "RAIT Device"
-.nf
-tapedev "rait:tape:/dev/rmt/tps0d{4,5,6}n"
-.fi
-.PP
-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\&.
-.PP
-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\&.
-.PP
-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\&.,
+for more information on Amanda configuration in general\&.
+.if n \{\
 .sp
-.nf
-tapedev "rait:{tape:/dev/st0,ERROR,tape:/dev/st2}"
-.fi
-This will cause the RAIT device to start up in degraded mode, reconstructing the data from the missing device\&.
-.PP
-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\&.
-.SS "Child Device Block Sizes"
-.PP
-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
-\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
-\fIchild_blocksize = rait_blocksize / (num_children \- 1)\fR\&. Either way, it sets the BLOCK_SIZE property of each child device accordingly\&.
-.SS "S3 Device"
-.nf
-tapedev "s3:foocorp\-backups/DailySet1\-"
-device_property "S3_ACCESS_KEY" "MYACCESSKEY"
-device_property "S3_SECRET_KEY" "MYSECRETKEY"
-.fi
-.PP
-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"\&.
-.PP
-The access and secret keys used to authenticate to Amazon S3 are provided as properties\&.
-.PP
-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 reccomended with the S3 device\&.
-.PP
-You can control where your data is physically stored by Amazon S3 using a location constraint\&. Setting this affects can affect both billing and legal concerns, so you are encouraged to consult Amazon\'s documentation for details\&.
-.PP
-To control location constraints, set the S3_BUCKET_LOCATION property\&. Currently, there are two valid settings: "" (any location) and "EU" (Europe)\&. If the S3_BUCKET_LOCATION is set, Amanda will check to make sure that the setting agrees with the constraint currently on the bucket\&.
-.SS "Tape Device"
-.nf
-tapedev "tape:/dev/nst0"
-.fi
-.PP
-The tape device driver interacts with a tape drive\&. The device uses the operating system\'s built\-in tape support, which is generally similar to that available via the command\-line utilities dd(1) and mt(1)\&.
-.PP
-The tape device name should specify a path to the operating system\'s device file\&.
-.SS "VFS Device"
-.nf
-tapedev "file:/path/to/vtape"
-.fi
-.PP
-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\&.
+.\}
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBNote\fR
+.ps -1
+.br
 .PP
-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\&.
+There is no way to reset a device property to its default value\&.
+.sp .5v
+.RE
 .SH "PROPERTIES"
 .PP
 Device drivers use
@@ -158,8 +121,13 @@ device_property "BYTES_PER_FORTNIGHT" "128k"
 device_property "USE_QUBITS" "no"
 .fi
 .PP
-Both the property name and the property value are always quoted\&. 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
-\fBamanda.conf\fR(5), like BYTES_PER_FORTNIGHT, above\&. Boolean values can be specified as any of "true", "yes", "1", "0", "no", "false", like USE_QUBITS, above\&. Some properties have special formats, as described below\&.
+Both the property name and the property value are always quoted\&. Property names, like Amanda configuration parameters, are not case\-sensitive, and
+\-
+(dash) and
+_
+(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
+\fBamanda.conf\fR(5), like BYTES_PER_FORTNIGHT, above\&. Boolean values can be specified using the same names as in
+\fBamanda.conf\fR(5), like USE_QUBITS, above\&. Some properties have special formats, as described below\&.
 .PP
 Some properties are set based on other configuration values, such as tapetype parameters\&. These special cases are detailed under the appropriate property, below\&.
 .PP
@@ -210,6 +178,12 @@ CANONICAL_NAME
  (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\&.
 .RE
 .PP
+COMMENT
+.RS 4
+
+ (read\-write) This string property is entirely for the user\'s convenience\&.  It is supported by all devices, but no device interprets its value in any way\&.
+.RE
+.PP
 COMPRESSION
 .RS 4
 
@@ -234,6 +208,12 @@ FREE_SPACE
  (read\-only) This property gives the amount of free space available on the current volume, if known\&.  This is often an estimate; for example, tape devices can only estimate the amount of tape left on a spool\&.
 .RE
 .PP
+FULL_DELETION
+.RS 4
+
+ (read\-only) This property indicates whether the device supports erasing the entire volume\&.  Aside from S3 and VFS, most devices cannot support this feature\&.
+.RE
+.PP
 MAX_BLOCK_SIZE
 .RS 4
 
@@ -261,7 +241,7 @@ MAX_VOLUME_USAGE
 PARTIAL_DELETION
 .RS 4
 
- (read\-only) This property indicates whether the device supports deletion of specific files\&.  Aside from linear tapes, most devices can support this feature\&.  It is currently unused by Amanda\&.
+ (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\&.
 .RE
 .PP
 STREAMING
@@ -273,7 +253,7 @@ STREAMING
 VERBOSE
 .RS 4
 
- (read\-write) If this boolean property is set, then the device will produce verbose debugging output\&.  This property is not recognized by all devices\&.
+ (read\-write) If this boolean property is set, then the device will produce verbose debugging output\&.  This property is not recognized by most devices\&.
 .RE
 .SS "BLOCK SIZES"
 .PP
@@ -281,7 +261,7 @@ Amanda writes device data in blocks\&. On most devices the block boundaries are
 .PP
 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\&.
 .PP
-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\'s block size\&. The tape device driver has a READ_BUFFER_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_BUFFER SIZE\&.
+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\'s 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\&.
 .if n \{\
 .sp
 .\}
@@ -298,8 +278,101 @@ Most devices are flexible enough to read a volume using a different block size t
 The RAIT device does not support flexible block sizes, as its parity algorithm requires that all child devices have the same, fixed block size\&.
 .sp .5v
 .RE
-.SS "DRIVER\-SPECIFIC PROPERTIES"
+.SH "DEVICES"
+.PP
+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\&.
+.SS "Null Device"
+.nf
+tapedev "null:"
+.fi
+.PP
+The null device driver only supports writing, and discards all data\&. It is generally only useful for testing purposes\&.
+.SS "RAIT Device"
+.nf
+tapedev "rait:tape:/dev/rmt/tps0d{4,5,6}n"
+.fi
+.PP
+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:
+.sp
+.nf
+tapedev "rait:{commandev:foo\e\e,bar,bracedev:foo\e\e}bar}"
+.fi
+.PP
+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\&.
+.PP
+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\&.,
+.sp
+.nf
+tapedev "rait:{tape:/dev/st0,ERROR,tape:/dev/st2}"
+.fi
+This will cause the RAIT device to start up in degraded mode, reconstructing the data from the missing device\&.
+.PP
+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\&.
+.SS "Child Device Block Sizes"
+.PP
+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
+\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
+\fIchild_blocksize = rait_blocksize / (num_children \- 1)\fR\&. Either way, it sets the BLOCK_SIZE property of each child device accordingly\&.
 .SS "S3 Device"
+.nf
+tapedev "s3:foocorp\-backups/DailySet1\-"
+device_property "S3_ACCESS_KEY" "MYACCESSKEY"
+device_property "S3_SECRET_KEY" "MYSECRETKEY"
+.fi
+.PP
+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"\&.
+.PP
+The access and secret keys used to authenticate to Amazon S3 are provided as properties\&.
+.PP
+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 reccomended with the S3 device\&.
+.PP
+Amanda automatically creates a bucket when writing, if the bucket doesn\'t already exist\&. At that time, it specifies where Amazon should store the data based on the S3_BUCKET_LOCATION property\&. Currently, there are two valid settings: "*" (any location, probably US) and "EU" (Europe)\&. If this property is not set, Amazon\'s default value of "*" is used\&. The bucket location has both billing and legal concerns, so you are encouraged to consult Amazon\'s documentation for details\&.
+.PP
+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\&.
+.if n \{\
+.sp
+.\}
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBNote\fR
+.ps -1
+.br
+.PP
+If a location constraint is set, the bucket name must consist only of lower\-case letters, numbers, dashes, and dots\&.
+.sp .5v
+.RE
+.PP
+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\'s servers\&.
+.SS "Device-Specific Properties"
+.PP
+In addition to the common properties, the S3 device supports the properties listed in this section\&.
+.PP
+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:
+.sp
+.nf
+device_property "S3_ACCESS_KEY" "27D3B8C6C4E7AA423C2B37C72A0D22C8"
+device_property "S3_SECRET_KEY" "agphc2Q7Zmxragphc2RmO2xragpzZGY7a2xqCgr"
+.fi
+.PP
+MAX_RECV_SPEED
+.RS 4
+
+(read\-write) Maximum speed, in bytes per second, that this device will receive
+data from S3\&.  If the average speed exceeds this value, the device will stop
+reading long enough to bring the average below this value\&.
+.RE
+.PP
+MAX_SEND_SPEED
+.RS 4
+
+(read\-write) Maximum speed, in bytes per second, that this device will send
+data to S3\&.  If the average speed exceeds this value, the device will stop
+writing long enough to bring the average below this value\&.
+.RE
 .PP
 S3_ACCESS_KEY
 .RS 4
@@ -311,11 +384,22 @@ S3_BUCKET_LOCATION
 .RS 4
 
  (read\-write) Location constraint for buckets on Amazon S3\&.
-Currently, it can be set to "", for no constraint (i\&.e\&. store data in the US), 
+Currently, it can be set to "", for no constraint (i\&.e\&. store data in the US),
 or "EU" (i\&.e\&. store data in the EU)\&.
 See Amazon\'s documentation for details and latest information
 .RE
 .PP
+SSL_CA_INFO
+.RS 4
+
+ (read\-write) Path to CA certificate to use to verify the identity of the S3 server\&.
+Only applicable when SSL/TLS is in use\&. The certificate should be in PEM format
+if OpenSSL or GnuTLS is being used with libcurl\&. Multiple certificates can be
+bundled together simply by concatenating them\&.
+If NSS is being used, then it is the directory that the database resides in\&.
+The value is passed to curl_easy_setopt(3) as CURLOPT_CAINFO\&.
+.RE
+.PP
 S3_SECRET_KEY
 .RS 4
 
@@ -334,14 +418,20 @@ S3_USER_TOKEN
  (read\-write) This property specifies the user token for Amanda Enterprise Edition customers\&.
 .RE
 .PP
-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:
-.sp
-.nf
-device_property "S3_ACCESS_KEY" "27D3B8C6C4E7AA423C2B37C72A0D22C8"
-device_property "S3_SECRET_KEY" "agphc2Q7Zmxragphc2RmO2xragpzZGY7a2xqCgr"
-.fi
+VERBOSE
+.RS 4
 
+ (read\-write) If true, verbose data about each HTTP transaction is sent to the debug log\&.
+.RE
 .SS "Tape Device"
+.nf
+tapedev "tape:/dev/nst0"
+.fi
+.PP
+The tape device driver interacts with a tape drive\&. The device uses the operating system\'s built\-in tape support, which is generally similar to that available via the command\-line utilities dd(1) and mt(1)\&.
+.PP
+The tape device name should specify a path to the operating system\'s device file\&.
+.SS "Device-Specific Properties"
 .PP
 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\&.
 .PP
@@ -410,15 +500,124 @@ NONBLOCKING_OPEN
  (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\&. Witout it, Linux wait for a few seconds if no tape are loaded\&. Solaris have strange error it is set to "yes"\&.
 .RE
 .PP
-READ_BUFFER_SIZE
+READ_BLOCK_SIZE
 .RS 4
 
- (read\-write) This property specifies the minimum buffer 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\&.  This property exists for tape devices which cannot determine the size of on\-tape blocks, or which may discard data which overflows a small buffer\&.  The tapetype parameter \fIREADBLOCKSIZE\fR sets this property\&.  See BLOCK SIZES, above\&.
+ (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\&.
+ The tapetype parameter \fIREADBLOCKSIZE\fR sets this property\&.  See BLOCK SIZES, above\&.
 .RE
-.SH "SEE ALSO"
+.SS "NDMP Device"
+.nf
+tapedev "ndmp:my\&.filer\&.com:10000@st1"
+device_property "NDMP_USERNAME" "jimmy"
+device_property "NDMP_PASSWORD" "thelock"
+.fi
+.PP
+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
+in the example above)\&.
+.SS "Device-Specific Properties"
+.PP
+The properties
+\fBNDMP_USERNAME\fR
+and
+\fBNDMP_PASSWORD\fR
+set the username and password with which to access the NDMP server\&. The default for both is "ndmp"\&.
+.PP
+NDMP_AUTH
+.RS 4
+
+(read\-write) Authentication method to use to connect to the NDMP server\&.  One of
+"md5" (default), "text", "none" (for an empty authentication attempt) or "void" (for
+no authentication attempt at all)\&.
+.RE
+.PP
+NDMP_PASSWORD
+.RS 4
+
+(read\-write) Password for md5 or text authentications\&.
+.RE
+.PP
+NDMP_USERNAME
+.RS 4
+
+(read\-write) Username for md5 or text authentications\&.
+.RE
+.SS "VFS Device"
+.nf
+tapedev "file:/path/to/vtape"
+.fi
+.PP
+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\&.
+.PP
+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\&.
+.SS "DVD\-RW Device"
+.nf
+tapedev "dvdrw:/var/cache/amanda/dvd\-cache:/dev/scd0"
+device_property "DVDRW_MOUNT_POINT" "/media/dvd"
+device_property "DVDRW_KEEP_CACHE" "false"
+device_property "DVDRW_UNLABELLED_WHEN_UNMOUNTABLE" "true"
+.fi
+.PP
+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\&.
+.PP
+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:
+.nf
+/dev/scd0 /media/dvd auto ro,user,noauto 0 0
+.fi
+.PP
+Note the "user" option\&.
 .PP
+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\&.
+.PP
+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\&.
+.SS "Device-Specific Properties"
+.PP
+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\&.
+.PP
+The DVDRW_MOUNT_POINT property is required\&. Other properties are optional\&.
+.PP
+DVDRW_KEEP_CACHE
+.RS 4
+
+ (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\&.
+.RE
+.PP
+DVDRW_MOUNT_POINT
+.RS 4
+
+ (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\&.
+.RE
+.PP
+DVDRW_UNLABELLED_WHEN_UNMOUNTABLE
+.RS 4
+
+ (read\-write) Treat unmountable media as empty, unlabelled media\&. This is necessary when attempting to label freshly formatted media\&.
+.RE
+.PP
+DVDRW_GROWISOFS_COMMAND
+.RS 4
+
+ (read\-write) The command to invoke to burn the DVD\&.
+.RE
+.PP
+DVDRW_MOUNT_COMMAND
+.RS 4
 
-\fBamanda.conf\fR(5),
+ (read\-write) The command to invoke to mount the DVD\&.
+.RE
+.PP
+DVDRW_UMOUNT_COMMAND
+.RS 4
+
+ (read\-write) The command to invoke to unmount the DVD\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBamanda\fR(8),
+\fBamanda.conf\fR(5)
+.PP
+The Amanda Wiki:
+: http://wiki.zmanda.com/
 .SH "AUTHORS"
 .PP
 \fBIan Turner\fR <\&ian@zmanda\&.com\&>