]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/fr/main/storedconf-en.tex
Setup fr/main for translation
[bacula/docs] / docs / manuals / fr / main / storedconf-en.tex
diff --git a/docs/manuals/fr/main/storedconf-en.tex b/docs/manuals/fr/main/storedconf-en.tex
new file mode 100644 (file)
index 0000000..6368a50
--- /dev/null
@@ -0,0 +1,1448 @@
+%%
+%%
+
+\chapter{Storage Daemon Configuration}
+\label{StoredConfChapter}
+\index[general]{Storage Daemon Configuration}
+\index[general]{Configuration!Storage Daemon}
+
+The Storage Daemon configuration file has relatively few resource definitions.
+However, due to the great variation in backup media and system capabilities,
+the storage daemon must be highly configurable. As a consequence, there are
+quite a large number of directives in the Device Resource definition that
+allow you to define all the characteristics of your Storage device (normally a
+tape drive). Fortunately, with modern storage devices, the defaults are
+sufficient, and very few directives are actually needed. 
+
+Examples of {\bf Device} resource directives that are known to work for a
+number of common tape drives can be found in the {\bf
+\lt{}bacula-src\gt{}/examples/devices} directory, and most will also be listed
+here. 
+
+For a general discussion of configuration file and resources including the
+data types recognized by {\bf Bacula}, please see the 
+\ilink{Configuration}{ConfigureChapter} chapter of this manual. The
+following Storage Resource definitions must be defined: 
+
+\begin{itemize}
+\item 
+   \ilink{Storage}{StorageResource} -- to define the  name of the
+   Storage daemon.  
+\item 
+   \ilink{Director}{DirectorResource1} -- to  define the Director's
+   name and his access password.  
+\item 
+   \ilink{Device}{DeviceResource} -- to define  the
+   characteristics of your storage device (tape  drive).  
+\item 
+   \ilink{Messages}{MessagesChapter} -- to define where error  and
+   information messages are to be sent. 
+\end{itemize}
+
+\section{Storage Resource}
+\label{StorageResource}
+\index[general]{Resource!Storage}
+\index[general]{Storage Resource}
+
+In general, the properties specified under the Storage resource define global
+properties of the Storage daemon. Each Storage daemon configuration file must
+have one and only one Storage resource definition. 
+
+\begin{description}
+
+\item [Name = \lt{}Storage-Daemon-Name\gt{}]
+   \index[sd]{Name}
+   \index[sd]{Directive!Name}
+   Specifies the Name of the Storage daemon. This  directive is required. 
+
+\item [Working Directory = \lt{}Directory\gt{}]
+   \index[sd]{Working Directory}
+   \index[sd]{Directive!Working Directory}
+   This directive  is mandatory and specifies a directory in which the Storage
+   daemon  may put its status files. This directory should be used only  by {\bf
+   Bacula}, but may be shared by other Bacula daemons provided the names
+   given to each daemon are unique. This  directive is
+   required  
+
+\item [Pid Directory = \lt{}Directory\gt{}]
+   \index[sd]{Pid Directory}
+   \index[sd]{Directive!Pid Directory}
+   This directive  is mandatory and specifies a directory in which the Director 
+   may put its process Id file files. The process Id file is used to  shutdown
+   Bacula and to prevent multiple copies of  Bacula from running simultaneously. 
+   This directive is required. Standard shell expansion of the {\bf Directory} 
+   is done when the configuration file is read so that values such  as {\bf
+   \$HOME} will be properly expanded.  
+
+   Typically on Linux systems, you will set this to:  {\bf /var/run}. If you are
+   not installing Bacula in the  system directories, you can use the {\bf Working
+   Directory} as  defined above. 
+
+\item [Heartbeat Interval = \lt{}time-interval\gt{}]
+   \index[sd]{Heartbeat Interval}
+   \index[sd]{Directive!Heartbeat Interval}
+   \index[general]{Heartbeat Interval}
+   \index[general]{Broken pipe}
+   This directive defines an interval of time in seconds.  When
+   the Storage daemon is waiting for the operator to mount a
+   tape, each time interval, it will send a heartbeat signal to
+   the File daemon.  The default interval is zero which disables
+   the heartbeat.  This feature is particularly useful if you
+   have a router such as 3Com that does not follow Internet
+   standards and times out an valid connection after a short
+   duration despite the fact that keepalive is set.  This usually
+   results in a broken pipe error message.
+
+\item [Client Connect Wait = \lt{}time-interval\gt{}]
+   \index[sd]{Connect Wait}
+   \index[sd]{Directive!Connect Wait}
+   \index[general]{Client Connect Wait}
+   This directive defines an interval of time in seconds that
+   the Storage daemon will wait for a Client (the File daemon)
+   to connect.  The default is 30 minutes.  Be aware that the
+   longer the Storage daemon waits for a Client, the more
+   resources will be tied up.
+
+\item [Maximum Concurrent Jobs = \lt{}number\gt{}]
+   \index[sd]{Maximum Concurrent Jobs}
+   \index[sd]{Directive!Maximum Concurrent Jobs}
+   where \lt{}number\gt{} is the maximum number of Jobs that may run
+   concurrently.  The default is set to 10, but you may set it to a larger
+   number.  Each contact from the Director (e.g.  status request, job start
+   request) is considered as a Job, so if you want to be able to do a {\bf
+   status} request in the console at the same time as a Job is running, you
+   will need to set this value greater than 1.  To run simultaneous Jobs,
+   you will need to set a number of other directives in the Director's
+   configuration file.  Which ones you set depend on what you want, but you
+   will almost certainly need to set the {\bf Maximum Concurrent Jobs} in
+   the Storage resource in the Director's configuration file and possibly
+   those in the Job and Client resources.
+
+\item [SDAddresses = \lt{}IP-address-specification\gt{}]
+   \index[sd]{SDAddresses}
+   \index[sd]{Directive!SDAddresses}
+   Specify the ports and addresses on which the Storage daemon will listen
+   for Director connections.  Normally, the default is sufficient and you
+   do not need to specify this directive.  Probably the simplest way to
+   explain how this directive works is to show an example:
+
+\footnotesize
+\begin{verbatim}
+ SDAddresses  = { ip = {
+        addr = 1.2.3.4; port = 1205; }
+    ipv4 = {
+        addr = 1.2.3.4; port = http; }
+    ipv6 = {
+        addr = 1.2.3.4;
+        port = 1205;
+    }
+    ip = {
+        addr = 1.2.3.4
+        port = 1205
+    }
+    ip = {
+        addr = 1.2.3.4
+    }
+    ip = {
+        addr = 201:220:222::2
+    }
+    ip = {
+        addr = bluedot.thun.net
+    }
+}
+\end{verbatim}
+\normalsize
+
+where ip, ip4, ip6, addr, and port are all keywords. Note, that  the address
+can be specified as either a dotted quadruple, or  IPv6 colon notation, or as
+a symbolic name (only in the ip specification).  Also, port can be specified
+as a number or as the mnemonic value from  the /etc/services file.  If a port
+is not specified, the default will be used. If an ip  section is specified,
+the resolution can be made either by IPv4 or  IPv6. If ip4 is specified, then
+only IPv4 resolutions will be permitted,  and likewise with ip6.  
+
+Using this directive, you can replace both the SDPort and SDAddress 
+directives shown below. 
+
+\item [SDPort = \lt{}port-number\gt{}]
+   \index[sd]{SDPort}
+   \index[sd]{Directive!SDPort}
+   Specifies port number on which the Storage daemon  listens for Director
+   connections. The default is 9103.  
+   
+\item [SDAddress = \lt{}IP-Address\gt{}]
+   \index[sd]{SDAddress}
+   \index[sd]{Directive!SDAddress}
+   This directive is optional, and if it is specified, it will cause the
+   Storage daemon server (for Director and File daemon connections) to bind
+   to the specified {\bf IP-Address}, which is either a domain name or an
+   IP address specified as a dotted quadruple.  If this directive is not
+   specified, the Storage daemon will bind to any available address (the
+   default).
+
+\end{description}
+
+The following is a typical Storage daemon Storage definition. 
+
+\footnotesize
+\begin{verbatim}
+#
+# "Global" Storage daemon configuration specifications appear
+# under the Storage resource.
+#
+Storage {
+  Name = "Storage daemon"
+  Address = localhost
+  WorkingDirectory = "~/bacula/working"
+  Pid    Directory = "~/bacula/working"
+}
+\end{verbatim}
+\normalsize
+
+\section{Director Resource}
+\label{DirectorResource1}
+\index[general]{Director Resource}
+\index[general]{Resource!Director}
+
+The Director resource specifies the Name of the Director which is permitted
+to use the services of the Storage daemon.  There may be multiple Director
+resources.  The Director Name and Password must match the corresponding
+values in the Director's configuration file.
+
+\begin{description}
+
+\item [Name = \lt{}Director-Name\gt{}]
+   \index[sd]{Name}
+   \index[sd]{Directive!Name}
+   Specifies the Name of the Director allowed to connect  to the Storage daemon.
+   This directive is required.  
+
+\item [Password = \lt{}Director-password\gt{}]
+   \index[sd]{Password}
+   \index[sd]{Directive!Password}
+   Specifies the password that must be supplied by the above named  Director.
+   This directive is required.  
+
+\item [Monitor = \lt{}yes\vb{}no\gt{}]
+   \index[sd]{Monitor}
+   \index[sd]{Directive!Monitor}
+   If Monitor is set to {\bf no} (default), this director will have full
+   access to this Storage daemon.  If Monitor is set to {\bf yes}, this
+   director will only be able to fetch the current status of this Storage
+   daemon.
+
+   Please note that if this director is being used by a Monitor, we highly 
+   recommend to set this directive to {\bf yes} to avoid serious security 
+   problems. 
+
+\end{description}
+
+The following is an example of a valid Director resource definition: 
+
+\footnotesize
+\begin{verbatim}
+Director {
+  Name = MainDirector
+  Password = my_secret_password
+}
+\end{verbatim}
+\normalsize
+
+\label{DeviceResource}
+\section{Device Resource}
+\index[general]{Resource!Device}
+\index[general]{Device Resource}
+
+The Device Resource specifies the details of each device (normally a tape
+drive) that can be used by the Storage daemon.  There may be multiple
+Device resources for a single Storage daemon.  In general, the properties
+specified within the Device resource are specific to the Device.
+
+\begin{description}
+
+\item [Name = {\it Device-Name}]
+   \index[sd]{Name}
+   \index[sd]{Directive!Name}
+   Specifies the Name that the Director will use when asking to backup or
+   restore to or from to this device. This is the logical  Device name, and may
+   be any string up to 127 characters in length.  It is generally a good idea to
+   make it correspond to the English  name of the backup device. The physical
+   name of the device is  specified on the {\bf Archive Device} directive
+   described below.  The name you specify here is also used in your Director's
+   conf  file on the 
+   \ilink{Device directive}{StorageResource2}  in its Storage
+   resource. 
+
+\item [Archive Device = {\it name-string}]
+   \index[sd]{Archive Device}
+   \index[sd]{Directive!Archive Device}
+   The specified {\bf name-string} gives the system file name of the  storage
+   device managed by this storage daemon. This will usually be  the device file
+   name of a removable storage device (tape drive),  for example "{\bf
+   /dev/nst0}" or "{\bf /dev/rmt/0mbn}".  For a DVD-writer, it will be for
+   example {\bf /dev/hdc}.  It may also be a directory name if you are archiving
+   to disk storage.  In this case, you must supply the full absolute path to the
+   directory.  When specifying a tape device, it is preferable that the 
+   "non-rewind" variant of the device file name be given.  In addition, on
+   systems such as Sun, which have multiple tape  access methods, you must be
+   sure to specify to use  Berkeley I/O conventions with the device. The {\bf b}
+   in the Solaris (Sun)  archive specification {\bf /dev/rmt/0mbn} is what is
+   needed in  this case. Bacula does not support SysV tape drive behavior.  
+   
+   As noted above, normally the Archive Device is the name of a tape drive, but
+   you may also specify an absolute path to an existing directory. If the
+   Device is a directory Bacula will write to file storage in the specified
+   directory, and the filename used will be the Volume name as specified in the
+   Catalog.  If you want to write into more than one directory (i.e.  to spread
+   the load to different disk drives), you will need to define two Device
+   resources, each containing an Archive Device with a different directory.
+   \label{SetupFifo}
+   In addition to a tape device name or a directory name, Bacula will  accept the
+   name of a FIFO. A FIFO is a special kind of file that  connects two programs
+   via kernel memory. If a FIFO device is specified  for a backup operation, you
+   must have a program that reads what Bacula  writes into the FIFO. When the
+   Storage daemon starts the job, it  will wait for {\bf MaximumOpenWait} seconds
+   for the read program to start reading, and then time it out and  terminate
+   the job. As a consequence, it is best to start the read  program at the
+   beginning of the job perhaps with the {\bf RunBeforeJob}  directive. For this
+   kind of device, you never want to specify  {\bf AlwaysOpen}, because you want
+   the Storage daemon to open it only  when a job starts, so you must explicitly
+   set it to {\bf No}.  Since a FIFO is a one way device, Bacula will not attempt
+   to read  a label of a FIFO device, but will simply write on it. To create a 
+   FIFO Volume in the catalog, use the {\bf add} command rather than the {\bf
+   label} command to avoid attempting to write a label.
+
+\footnotesize
+\begin{verbatim}
+Device {
+  Name = FifoStorage
+  Media Type = Fifo
+  Device Type = Fifo
+  Archive Device = /tmp/fifo
+  LabelMedia = yes
+  Random Access = no
+  AutomaticMount = no
+  RemovableMedia = no
+  MaximumOpenWait = 60
+  AlwaysOpen = no
+}
+\end{verbatim}
+\normalsize
+
+   During a restore operation, if the Archive Device is a FIFO, Bacula  will
+   attempt to read from the FIFO, so you must have an external program  that
+   writes into the FIFO. Bacula will wait {\bf MaximumOpenWait} seconds  for the
+   program to begin writing and will then time it out and  terminate the job. As
+   noted above, you may use the {\bf RunBeforeJob}  to start the writer program
+   at the beginning of the job.  
+   
+   The Archive Device directive is required. 
+
+\item [Device Type = {\it type-specification}]
+   \index[sd]{Device Type}
+   \index[sd]{Directive!Device Type}
+   The Device Type specification allows you to explicitly tell Bacula
+   what kind of device you are defining. It the {\it type-specification}
+   may be one of the following:
+   \begin{description}
+   \item [File]
+     Tells Bacula that the device is a file. It may either be a
+     file defined on fixed medium or a removable filesystem such as
+     USB.  All files must be random access devices.
+   \item [Tape]
+     The device is a tape device and thus is sequential access. Tape devices
+     are controlled using ioctl() calls.
+   \item [Fifo]
+     The device is a first-in-first out sequential access read-only 
+     or write-only device.
+   \item [DVD]
+     The device is a DVD. DVDs are sequential access for writing, but
+     random access for reading.
+  \end{description}
+  
+  The Device Type directive is not required, and if not specified, Bacula
+  will attempt to guess what kind of device has been specified using the
+  Archive Device specification supplied. There are several advantages to
+  explicitly specifying the Device Type. First, on some systems, block and
+  character devices have the same type, which means that on those systems,
+  Bacula is unlikely to be able to correctly guess that a device is a DVD.
+  Secondly, if you explicitly specify the Device Type, the mount point
+  need not be defined until the device is opened. This is the case with
+  most removable devices such as USB that are mounted by the HAL daemon.
+  If the Device Type is not explicitly specified, then the mount point
+  must exist when the Storage daemon starts.
+
+  This directive was implemented in Bacula version 1.38.6.
+
+
+\item [Media Type = {\it name-string}]
+   \index[sd]{Media Type}
+   \index[sd]{Directive!Media Type}
+   The specified {\bf name-string} names the type of media supported by this
+   device, for example, "DLT7000".  Media type names are arbitrary in that you
+   set them to anything you want, but they must be known to the volume
+   database to keep track of which storage daemons can read which volumes.  In
+   general, each different storage type should have a unique Media Type
+   associated with it.  The same {\bf name-string} must appear in the
+   appropriate Storage resource definition in the Director's configuration
+   file.
+   
+   Even though the names you assign are arbitrary (i.e.  you choose the name
+   you want), you should take care in specifying them because the Media Type
+   is used to determine which storage device Bacula will select during
+   restore.  Thus you should probably use the same Media Type specification
+   for all drives where the Media can be freely interchanged.  This is not
+   generally an issue if you have a single Storage daemon, but it is with
+   multiple Storage daemons, especially if they have incompatible media.
+   
+   For example, if you specify a Media Type of "DDS-4" then during the
+   restore, Bacula will be able to choose any Storage Daemon that handles
+   "DDS-4".  If you have an autochanger, you might want to name the Media Type
+   in a way that is unique to the autochanger, unless you wish to possibly use
+   the Volumes in other drives.  You should also ensure to have unique Media
+   Type names if the Media is not compatible between drives.  This
+   specification is required for all devices.
+
+   In addition, if you are using disk storage, each Device resource will
+   generally have a different mount point or directory. In order for
+   Bacula to select the correct Device resource, each one must have a
+   unique Media Type.
+
+\label{Autochanger}
+\item [Autochanger = {\it yes\vb{}no}]
+   \index[sd]{Autochanger}
+   \index[sd]{Directive!Autochanger}
+   If {\bf Yes}, this device belongs to an automatic tape changer, and you
+   must specify an {\bf Autochanger} resource that points to the {\bf
+   Device} resources.  You must also specify a 
+   {\bf Changer Device}.  If the Autochanger directive is set to {\bf
+   No} (default), the volume must be manually changed.  You should also
+   have an identical directive to the  
+   \ilink{Storage resource}{Autochanger1}  in the Director's
+   configuration file so that  when labeling tapes you are prompted for the slot.
+
+\item [Changer Device = {\it name-string}]
+   \index[sd]{Changer Device}
+   \index[sd]{Directive!Changer Device}
+   The specified {\bf name-string} must be the {\bf generic SCSI} device
+   name of the autochanger that corresponds to the normal read/write
+   {\bf Archive Device}  specified in the Device resource. This
+   generic SCSI device name should be specified if you have an autochanger 
+   or if you have a standard tape drive and want to use the
+   {\bf Alert Command} (see below). For example, on Linux systems, for 
+   an Archive Device name of {\bf /dev/nst0}, you would specify {\bf
+   /dev/sg0} for the Changer Device name. Depending on your exact
+   configuration, and the number of autochangers or the type of
+   autochanger, what you specify here can vary.  This directive is
+   optional.  See the \ilink{ Using Autochangers}{AutochangersChapter} chapter
+   of this manual for more details of using this and the following
+   autochanger directives.
+
+\item [Changer Command = {\it name-string}]
+   \index[sd]{Changer Command}
+   \index[sd]{Directive!Changer Command}
+   The {\bf name-string} specifies an external program to be called  that will
+   automatically change volumes as required by {\bf Bacula}.  Normally,
+   this directive will be specified only in the {\bf AutoChanger} resource,
+   which is then used for all devices.  However, you may also specify
+   the different {\bf Changer Command} in each Device resource.
+   Most frequently,
+   you will specify the Bacula supplied {\bf mtx-changer}  script as follows:  
+
+\footnotesize
+\begin{verbatim}
+Changer Command = "/path/mtx-changer %c %o %S %a %d"
+\end{verbatim}
+\normalsize
+
+   and you will install the {\bf mtx} on your system (found  in the {\bf depkgs}
+   release). An example of this command is in the default bacula-sd.conf file. 
+   For more details on the substitution characters that may be specified  to
+   configure your autochanger please see  the 
+   \ilink{Autochangers}{AutochangersChapter} chapter of this  manual.
+   For FreeBSD users, you might want to see one of the  several {\bf chio}
+   scripts in {\bf examples/autochangers}.  
+
+\item [Alert Command = {\it name-string}]
+   \index[sd]{Alert Command}
+   The {\bf name-string} specifies an external program to be called at the
+   completion of each Job after the device is released.  The purpose of this
+   command is to check for Tape Alerts, which are present when something is
+   wrong with your tape drive (at least for most modern tape drives).  The same
+   substitution characters that may be specified in the Changer Command may
+   also be used in this string.  For more information, please see the
+   \ilink{Autochangers}{AutochangersChapter} chapter of this manual.
+   
+   
+   Note, it is not necessary to have an autochanger to use this command. The
+   example below uses the {\bf tapeinfo} program that comes with the {\bf mtx}
+   package, but it can be used on any tape drive. However, you will need to
+   specify a {\bf Changer Device} directive in your Device resource (see above)
+   so that the generic SCSI device name can be edited into the command (with
+   the \%c).
+   
+   An example of the use of this command to print Tape Alerts  in the Job report
+   is:  
+
+\footnotesize
+\begin{verbatim}
+Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
+      
+\end{verbatim}
+\normalsize
+
+and an example output when there is a problem could be:  
+
+\footnotesize
+\begin{verbatim}
+bacula-sd  Alert: TapeAlert[32]: Interface: Problem with SCSI interface
+                  between tape drive and initiator.
+      
+\end{verbatim}
+\normalsize
+
+\item [Drive Index = {\it number}]
+   \index[sd]{Drive Index}
+   \index[sd]{Directive!Drive Index}
+   The {\bf Drive Index} that you specify is passed to the {\bf
+   mtx-changer} script and is thus passed to the {\bf mtx} program.  By
+   default, the Drive Index is zero, so if you have only one drive in your
+   autochanger, everything will work normally.  However, if you have
+   multiple drives, you must specify multiple Bacula Device resources (one
+   for each drive).  The first Device should have the Drive Index set to 0,
+   and the second Device Resource should contain a Drive Index set to 1,
+   and so on.  This will then permit you to use two or more drives in your
+   autochanger.  As of Bacula version 1.38.0, using the {\bf Autochanger}
+   resource, Bacula will automatically ensure that only one drive at a time
+   uses the autochanger script, so you no longer need locking scripts as in
+   the past -- the default mtx-changer script works for any number of
+   drives.
+
+\item [Autoselect = {\it yes\vb{}no}]
+   \index[sd]{Autoselect}
+   \index[sd]{Directive!Autoselect}
+   If this directive is set to {\bf yes} (default), and the Device
+   belongs to an autochanger, then when the Autochanger is referenced
+   by the Director, this device can automatically be selected. If this
+   directive is set to {\bf no}, then the Device can only be referenced
+   by directly using the Device name in the Director. This is useful
+   for reserving a drive for something special such as a high priority
+   backup or restore operations.
+
+\item[Maximum Concurent Jobs = {\it num}]
+\index[sd]{MaximumConcurentJobs}
+
+{\bf Maximum Concurrent Jobs} is a directive that permits setting the maximum
+number of Jobs that can run concurrently on a specified Device.  Using this
+directive, it is possible to have different Jobs using multiple drives, because
+when the Maximum Concurrent Jobs limit is reached, the Storage Daemon will
+start new Jobs on any other available compatible drive.  This facilitates
+writing to multiple drives with multiple Jobs that all use the same Pool.
+
+\item [Maximum Changer Wait = {\it time}]
+   \index[sd]{Maximum Changer Wait}
+   \index[sd]{Directive!Maximum Changer Wait}
+   This directive specifies the maximum time in seconds for Bacula to wait
+   for an autochanger to change the volume.  If this time is exceeded,
+   Bacula will invalidate the Volume slot number stored in the catalog and
+   try again.  If no additional changer volumes exist, Bacula will ask the
+   operator to intervene.  The default is 5 minutes.      
+% TODO: if this is the format, then maybe "5 minutes" should be in
+% TODO: quotes? define style. see others.
+
+\item [Maximum Rewind Wait = {\it time}]
+   \index[sd]{Maximum Rewind Wait}
+   \index[sd]{Directive!Maximum Rewind Wait}
+   This directive specifies the maximum time in seconds for Bacula to wait
+   for a rewind before timing out.  If this time is exceeded,
+   Bacula will cancel the job.  The default is 5 minutes.
+
+\item [Maximum Open Wait = {\it time}]
+   \index[sd]{Maximum Open Wait}
+   \index[sd]{Directive!Maximum Open Wait}
+   This directive specifies the maximum time in seconds for Bacula to wait
+   for a open before timing out.  If this time is exceeded,
+   Bacula will cancel the job.  The default is 5 minutes.
+
+\item [Always Open = {\it yes\vb{}no}]
+   \index[sd]{Always Open}
+   \index[sd]{Directive!Always Open}
+   If {\bf Yes} (default), Bacula will always keep the device open unless
+   specifically {\bf unmounted} by the Console program.  This permits
+   Bacula to ensure that the tape drive is always available, and properly
+   positioned. If you set
+   {\bf AlwaysOpen} to {\bf no} {\bf Bacula} will only open the drive when
+   necessary, and at the end of the Job if no other Jobs are using the
+   drive, it will be freed.  The next time Bacula wants to append to a tape
+   on a drive that was freed, Bacula will rewind the tape and position it to
+   the end.  To avoid unnecessary tape positioning and to minimize
+   unnecessary operator intervention, it is highly recommended that {\bf
+   Always Open = yes}.  This also ensures that the drive is available when
+   Bacula needs it.
+   
+   If you have {\bf Always Open = yes} (recommended) and you want to use the
+   drive for something else, simply use the {\bf unmount} command in the
+   Console program to release the drive. However, don't forget to remount the
+   drive with {\bf mount} when the drive is available or the next Bacula job
+   will block.
+   
+   For File storage, this directive is ignored. For a FIFO storage  device, you
+   must set this to {\bf No}.  
+   
+   Please note that if you set this directive to {\bf No} Bacula  will release
+   the tape drive between each job, and thus the next job  will rewind the tape
+   and position it to the end of the data. This  can be a very time consuming
+   operation. In addition, with this directive set to no, certain multiple
+   drive autochanger operations will fail.  We strongly recommend to keep
+   {\bf Always Open} set to {\bf Yes}
+
+\item [Volume Poll Interval = {\it time}]
+   \index[sd]{Volume Poll Interval}
+   \index[sd]{Directive!Volume Poll Interval}
+   If the time  specified on this directive is non-zero, after  asking the
+   operator to mount a new volume Bacula will  periodically poll (or read) the
+   drive at the specified  interval to see if a new volume has been mounted. If
+   the  time interval is zero (the default), no polling will occur.  This
+   directive can be useful if you want to avoid operator  intervention via the
+   console. Instead, the operator can  simply remove the old volume and insert
+   the requested one,  and Bacula on the next poll will recognize the new tape
+   and  continue. Please be aware that if you set this interval  too small, you
+   may excessively wear your tape drive if the  old tape remains in the drive,
+   since Bacula will read it on  each poll. This can be avoided by ejecting the
+   tape using  the {\bf Offline On Unmount} and the {\bf Close on Poll} 
+   directives. 
+   However, if you are using a Linux 2.6 kernel or other OSes
+   such as FreeBSD or Solaris, the Offline On Unmount will leave the drive
+   with no tape, and Bacula will not be able to properly open the drive and
+   may fail the job.  For more information on this problem, please see the
+   \ilink{description of Offline On Unmount}{NoTapeInDrive} in the Tape
+   Testing chapter.
+
+\item [Close on Poll= {\it yes\vb{}no}]
+   \index[sd]{Close on Poll}
+   \index[sd]{Directive!Close on Poll}
+   If {\bf Yes}, Bacula close the device (equivalent to  an unmount except no
+   mount is required) and reopen it at each  poll. Normally this is not too
+   useful unless you have the  {\bf Offline on Unmount} directive set, in which
+   case the  drive will be taken offline preventing wear on the tape  during any
+   future polling. Once the operator inserts a new  tape, Bacula will recognize
+   the drive on the next poll and  automatically continue with the backup. 
+   Please see above more more details.
+
+\item [Maximum Open Wait = {\it time}]
+   \index[sd]{Maximum Open Wait}
+   \index[sd]{Directive!Maximum Open Wait}
+   This directive specifies the maximum amount of time in seconds that
+   Bacula will wait for a device that is busy.  The default is 5 minutes.
+   If the device cannot be obtained, the current Job will be terminated in
+   error.  Bacula will re-attempt to open the drive the next time a Job
+   starts that needs the the drive.
+
+\label{removablemedia}
+\item [Removable media = {\it yes\vb{}no}]
+   \index[sd]{Removable media}
+   \index[sd]{Directive!Removable media}
+   If {\bf Yes}, this device supports removable media (for example, tapes
+   or CDs).  If {\bf No}, media cannot be removed (for example, an
+   intermediate backup area on a hard disk). If {\bf Removable media} is
+   enabled on a File device (as opposed to a tape) the Storage daemon will
+   assume that device may be something like a USB device that can be
+   removed or a simply a removable harddisk. When attempting to open
+   such a device, if the Volume is not found (for File devices, the Volume
+   name is the same as the Filename), then the Storage daemon will search
+   the entire device looking for likely Volume names, and for each one 
+   found, it will ask the Director if the Volume can be used.  If so,
+   the Storage daemon will use the first such Volume found.  Thus it
+   acts somewhat like a tape drive -- if the correct Volume is not found,
+   it looks at what actually is found, and if it is an appendable Volume,
+   it will use it.
+
+   If the removable medium is not automatically mounted (e.g. udev), then
+   you might consider using additional Storage daemon device directives
+   such as {\bf Requires Mount}, {\bf Mount Point}, {\bf Mount Command},
+   and {\bf Unmount Command}, all of which can be used in conjunction with
+   {\bf Removable Media}.    
+
+
+\item [Random access = {\it yes\vb{}no}]
+   \index[sd]{Random access}
+   \index[sd]{Directive!Random access}
+   If {\bf Yes}, the archive device is assumed to be a random access medium
+   which supports the {\bf lseek} (or {\bf lseek64} if Largefile is enabled
+   during configuration) facility. This should be set to {\bf Yes} for all
+   file systems such as DVD, USB, and fixed files.  It should be set to
+   {\bf No} for non-random access devices such as tapes and named pipes.
+
+
+\item [Requires Mount = {\it yes\vb{}no}]
+   \index[sd]{Requires Mount  }
+   When this directive is enabled, the Storage daemon will submit
+   a {\bf Mount Command} before attempting to open the device.
+   You must set this directive to {\bf yes} for DVD-writers and removable
+   file systems such as USB devices that are not automatically mounted
+   by the operating system when plugged in or opened by Bacula.
+   It should be set to {\bf no} for
+   all other devices such as tapes and fixed filesystems. It should also
+   be set to {\bf no} for any removable device that is automatically
+   mounted by the operating system when opened (e.g. USB devices mounted
+   by udev or hotplug). This directive
+   indicates if the device requires to be mounted using the {\bf Mount
+   Command}.  To be able to write a DVD, the following directives must also
+   be defined: {\bf Mount Point}, {\bf Mount Command}, {\bf Unmount
+   Command} and {\bf Write Part Command}.
+
+\item [Mount Point = {\it directory}]
+   \index[sd]{Mount Point}
+   Directory where the device can be mounted. 
+   This directive is used only
+   for devices that have {\bf Requires Mount} enabled such as DVD or 
+   USB file devices.
+
+\item [Mount Command = {\it name-string}]
+   \index[sd]{Mount Command}
+   This directive specifies the command that must be executed to mount 
+   devices such as DVDs and many USB devices. For DVDs, the
+   device is written directly, but the mount command is necessary in
+   order to determine the free space left on the DVD. Before the command is 
+   executed, \%a is replaced with the Archive Device, and \%m with the Mount 
+   Point.
+
+   Most frequently, for a DVD, you will define it as follows:  
+
+\footnotesize
+\begin{verbatim}
+  Mount Command = "/bin/mount -t iso9660 -o ro %a %m"
+\end{verbatim}
+\normalsize
+
+However, if you have defined a mount point in /etc/fstab, you might be
+able to use a mount command such as:
+
+\footnotesize
+\begin{verbatim}
+  Mount Command = "/bin/mount /media/dvd"
+\end{verbatim}
+\normalsize
+
+See the \ilink {Edit Codes}{mountcodes} section below for more details of
+the editing codes that can be used in this directive.
+
+  If you need to specify multiple commands, create a shell script.
+
+\item [Unmount Command = {\it name-string}]
+   \index[sd]{Unmount Command}
+   This directive specifies the command that must be executed to unmount 
+   devices such as DVDs and many USB devices. Before the command  is
+   executed, \%a is replaced with the Archive Device, and \%m with the  Mount
+   Point.
+
+   Most frequently, you will define it as follows:  
+
+\footnotesize
+\begin{verbatim}
+  Unmount Command = "/bin/umount %m"
+\end{verbatim}
+\normalsize
+
+See the \ilink {Edit Codes}{mountcodes} section below for more details of
+the editing codes that can be used in this directive.
+
+  If you need to specify multiple commands, create a shell script.
+
+\item[Block Checksum = {\it yes/no}]
+
+  You may turn off the Block Checksum (CRC32) code that Bacula uses when
+  writing blocks to a Volume. Doing so can reduce the Storage daemon CPU usage
+  slightly.  It will also permit Bacula to read a Volume that has corrupted
+  data.
+
+  The default is {\bf yes} -- i.e. the checksum is computed on write and
+  checked on read.
+
+  \textbf{We do not recommend to turn this off} particularly on older tape
+  drives or for disk Volumes where doing so may allow corrupted data to go
+  undetected.
+
+\item [Minimum block size = {\it size-in-bytes}]
+   \index[sd]{Minimum block size}
+   \index[sd]{Directive!Minimum block size}
+   On most modern tape drives, you will not need or want to specify this
+   directive, and if you do so, it will be to make Bacula use fixed block
+   sizes.  This statement applies only to non-random access devices (e.g.
+   tape drives).  Blocks written by the storage daemon to a non-random
+   archive device will never be smaller than the given {\bf size-in-bytes}.
+   The Storage daemon will attempt to efficiently fill blocks with data
+   received from active sessions but will, if necessary, add padding to a
+   block to achieve the required minimum size.
+   
+   To force the block size to be fixed, as is the case for some non-random
+   access devices (tape drives), set the {\bf Minimum block size} and the
+   {\bf Maximum block size} to the same value (zero included).  The default
+   is that both the minimum and maximum block size are zero and the default
+   block size is 64,512 bytes. 
+   
+   For  example, suppose you want a fixed block size of 100K bytes, then you 
+   would specify:  
+
+\footnotesize
+\begin{verbatim}
+    Minimum block size = 100K
+    Maximum block size = 100K
+    
+\end{verbatim}
+\normalsize
+
+   Please note that if you specify a fixed block size as shown above,  the tape
+   drive must either be in variable block size mode, or  if it is in fixed block
+   size mode, the block size (generally  defined by {\bf mt}) {\bf must} be
+   identical to the size specified  in Bacula -- otherwise when you attempt to
+   re-read your Volumes,  you will get an error.  
+   
+   If you want the  block size to be variable but with a 64K minimum and 200K
+   maximum (and  default as well), you would specify:  
+
+\footnotesize
+\begin{verbatim}
+    Minimum block size = 64K
+    Maximum blocksize = 200K
+   
+\end{verbatim}
+\normalsize
+
+\item [Maximum block size = {\it size-in-bytes}]
+   \index[sd]{Maximum block size}
+   \index[sd]{Directive!Maximum block size}
+   On most modern tape drives, you will not need to specify this directive.
+   If you do so, it will most likely be to use fixed block sizes (see
+   Minimum block size above).  The Storage daemon will always attempt to
+   write blocks of the specified {\bf size-in-bytes} to the archive device.
+   As a consequence, this statement specifies both the default block size
+   and the maximum block size.  The size written never exceed the given
+   {\bf size-in-bytes}.  If adding data to a block would cause it to exceed
+   the given maximum size, the block will be written to the archive device,
+   and the new data will begin a new block.
+   
+   If no value is specified or zero is specified, the Storage daemon will
+   use a default block size of 64,512 bytes (126 * 512).
+
+   The maximum {\bf size-in-bytes} possible is 2,000,000.
+
+\item [Hardware End of Medium = {\it yes\vb{}no}]
+   \index[sd]{Hardware End of Medium}
+   \index[sd]{Directive!Hardware End of Medium}
+   If {\bf No}, the archive device is not required to support end of medium
+   ioctl request, and the storage daemon will use the forward space file
+   function to find the end of the recorded data. If {\bf Yes}, the archive
+   device must support the {\tt ioctl} {\tt MTEOM} call, which will position
+   the tape to the end of the recorded data. In addition, your SCSI driver must
+   keep track of the file number on the tape and report it back correctly by
+   the {\bf MTIOCGET} ioctl. Note, some SCSI drivers will correctly forward
+   space to the end of the recorded data, but they do not keep track of the
+   file number.  On Linux machines, the SCSI driver has a {\bf fast-eod}
+   option, which if set will cause the driver to lose track of the file
+   number. You should ensure that this option is always turned off using the
+   {\bf mt} program.
+   
+   Default setting for Hardware End of Medium is {\bf Yes}. This  function is
+   used before appending to a tape to ensure that no  previously written data is
+   lost. We recommend if you have a non-standard or unusual tape drive that you
+   use the {\bf btape} program  to test your drive to see whether or not it
+   supports this function.  All modern (after 1998) tape drives support this
+   feature.  
+   
+\item [Fast Forward Space File = {\it yes\vb{}no}]
+   \index[sd]{Fast Forward Space File}
+   \index[sd]{Directive!Fast Forward Space File}
+   If {\bf No}, the archive device is not required to support  keeping track of
+   the file number ({\bf MTIOCGET} ioctl) during  forward space file. If {\bf
+   Yes}, the archive device must support  the {\tt ioctl} {\tt MTFSF} call, which
+   virtually all drivers  support, but in addition, your SCSI driver must keep
+   track of the  file number on the tape and report it back correctly by the 
+   {\bf MTIOCGET} ioctl. Note, some SCSI drivers will correctly  forward space,
+   but they do not keep track of the file number or more  seriously, they do not
+   report end of medium.  
+   
+   Default setting for Fast Forward Space File is {\bf Yes}.
+   
+\item [Use MTIOCGET = {\it yes\vb{}no}]
+   \index[sd]{Use MTIOCGET}
+   \index[sd]{Directive!Use MTIOCGET}
+   If {\bf No}, the operating system is not required to support keeping track of
+   the file number and reporting it in the ({\bf MTIOCGET} ioctl). The default
+   is {\bf Yes}. If you must set this to No, Bacula will do the proper file
+   position determination, but it is very unfortunate because it means that 
+   tape movement is very inefficient.
+   Fortunately, this operation system deficiency seems to be the case only
+   on a few *BSD systems.  Operating systems known to work correctly are
+   Solaris, Linux and FreeBSD.
+
+\item [BSF at EOM = {\it yes\vb{}no}]
+   \index[sd]{BSF at EOM}
+   \index[sd]{Directive!BSF at EOM}
+   If {\bf No}, the default, no special action is taken by Bacula with the End
+   of Medium (end of tape) is reached because the tape will be positioned after
+   the last EOF tape mark, and Bacula can append to the tape as desired.
+   However, on some systems, such as FreeBSD, when Bacula reads the End of
+   Medium (end of tape), the tape will be positioned after the second EOF tape
+   mark (two successive EOF marks indicated End of Medium). If Bacula appends
+   from that point, all the appended data will be lost. The solution for such
+   systems is to specify {\bf BSF at EOM} which causes Bacula to backspace over
+   the second EOF mark. Determination of whether or not you need this directive
+   is done using the {\bf test} command in the {\bf btape} program.
+
+\item [TWO EOF = {\it yes\vb{}no}]
+   \index[sd]{TWO EOF}
+   \index[sd]{Directive!TWO EOF}
+   If {\bf Yes}, Bacula will write two end of file marks when terminating a
+   tape -- i.e. after the last job or at the end of the medium. If {\bf No},
+   the default, Bacula will only write one end of file to terminate the tape.
+
+\item [Backward Space Record = {\it yes\vb{}no}]
+   \index[sd]{Backward Space Record}
+   \index[sd]{Directive!Backward Space Record}
+   If {\it Yes}, the archive device supports the {\tt MTBSR ioctl} to backspace
+   records. If {\it No}, this call is not used and the device must be rewound
+   and advanced forward to the desired position. Default is {\bf Yes} for non
+   random-access devices. This function if enabled is used at the end of a
+   Volume after writing the end of file and any ANSI/IBM labels to determine
+   whether or not the last block was written correctly. If you turn this
+   function off, the test will not be done. This causes no harm as the re-read
+   process is precautionary rather than required.
+
+\item [Backward Space File = {\it yes\vb{}no}]
+   \index[sd]{Backward Space File}
+   \index[sd]{Directive!Backward Space File}
+   If {\it Yes}, the archive device supports the {\bf MTBSF} and  {\bf MTBSF
+  ioctl}s to backspace over an end of file mark and to the  start of a file. If
+  {\it No}, these calls are not used and the  device must be rewound and
+  advanced forward to the desired position.  Default is {\bf Yes} for non
+  random-access devices. 
+
+\item [Forward Space Record = {\it yes\vb{}no}]
+   \index[sd]{Forward Space Record}
+   \index[sd]{Directive!Forward Space Record}
+   If {\it Yes}, the archive device must support the {\bf MTFSR  ioctl} to
+   forward space over records. If {\bf No}, data must  be read in order to
+   advance the position on the device. Default is  {\bf Yes} for non
+   random-access devices. 
+
+\item [Forward Space File = {\it yes\vb{}no}]
+   \index[sd]{Forward Space File}
+   \index[sd]{Directive!Forward Space File}
+   If {\bf Yes}, the archive device must support the {\tt MTFSF  ioctl} to
+   forward space by file marks. If {\it No}, data  must be read to advance the
+   position on the device. Default is  {\bf Yes} for non random-access devices. 
+
+\item [Offline On Unmount = {\it yes\vb{}no}]
+   \index[sd]{Offline On Unmount}
+   \index[sd]{Directive!Offline On Unmount}
+   The default for this directive is {\bf No}. If {\bf Yes} the  archive device
+   must support the {\tt MTOFFL ioctl} to rewind and  take the volume offline. In
+   this case, Bacula will issue the  offline (eject) request before closing the
+   device during the {\bf unmount}  command. If {\bf No} Bacula will not attempt
+   to offline the  device before unmounting it. After an offline is issued,  the
+   cassette will be ejected thus {\bf requiring operator intervention}  to
+   continue, and on some systems require an explicit load command  to be issued
+   ({\bf mt -f /dev/xxx load}) before the system will recognize  the tape. If you
+   are using an autochanger, some devices  require an offline to be issued prior
+   to changing the volume. However,  most devices do not and may get very
+   confused.  
+
+   If you are using a Linux 2.6 kernel or other OSes
+   such as FreeBSD or Solaris, the Offline On Unmount will leave the drive
+   with no tape, and Bacula will not be able to properly open the drive and
+   may fail the job.  For more information on this problem, please see the
+   \ilink{description of Offline On Unmount}{NoTapeInDrive} in the Tape
+   Testing chapter.
+
+\item [Maximum Concurrent Jobs = \lt{}number\gt{}]
+   \index[sd]{Device Maximum Concurrent Jobs}
+   \index[sd]{Directive!Device Maximum Concurrent Jobs}
+   \index[sd]{Directive!New in 3.0.3}
+   where \lt{}number\gt{} is the maximum number of Jobs that can run
+   concurrently on a specified Device.  Using this directive, it is possible
+   to have different Jobs using multiple drives, because when 
+   the Maximum Concurrent Jobs limit is
+   reached, the Storage Daemon will start new Jobs on any other available
+   compatible drive.  This facilitates writing to multiple drives with
+   multiple Jobs that all use the same Pool.
+
+\item [Maximum Volume Size = {\it size}]
+   \index[sd]{Maximum Volume Size}
+   \index[sd]{Directive!Maximum Volume Size}
+   No more than {\bf size} bytes will be written onto a given volume on the
+   archive device.  This directive is used mainly in testing Bacula to
+   simulate a small Volume.  It can also be useful if you wish to limit the
+   size of a File Volume to say less than 2GB of data.  In some rare cases
+   of really antiquated tape drives that do not properly indicate when the
+   end of a tape is reached during writing (though I have read about such
+   drives, I have never personally encountered one).  Please note, this
+   directive is deprecated (being phased out) in favor of the {\bf Maximum
+   Volume Bytes} defined in the Director's configuration file.
+
+\item [Maximum File Size = {\it size}]
+   \index[sd]{Maximum File Size}
+   \index[sd]{Directive!Maximum File Size}
+   No more than {\bf size} bytes will be written into a given logical file
+   on the volume.  Once this size is reached, an end of file mark is
+   written on the volume and subsequent data are written into the next
+   file.  Breaking long sequences of data blocks with file marks permits
+   quicker positioning to the start of a given stream of data and can
+   improve recovery from read errors on the volume.  The default is one
+   Gigabyte.  This directive creates EOF marks only on tape media.
+   However, regardless of the medium type (tape, disk, DVD, ...) each time
+   a the Maximum File Size is exceeded, a record is put into the catalog
+   database that permits seeking to that position on the medium for
+   restore operations. If you set this to a small value (e.g. 1MB),
+   you will generate lots of database records (JobMedia) and may
+   significantly increase CPU/disk overhead.
+
+   If you are configuring an LTO-3 or LTO-4 tape, you probably will
+   want to set the {\bf Maximum File Size} to 2GB to avoid making
+   the drive stop to write an EOF mark.
+
+   Note, this directive does not limit the size of Volumes that Bacula
+   will create regardless of whether they are tape or disk volumes. It
+   changes only the number of EOF marks on a tape and the number of
+   block positioning records (see below) that are generated. If you
+   want to limit the size of all Volumes for a particular device, use
+   the {\bf Maximum Volume Size} directive (above), or use the
+   {\bf Maximum Volume Bytes} directive in the Director's Pool resource,
+   which does the same thing but on a Pool (Volume) basis.
+
+\item [Block Positioning = {\it yes\vb{}no}]
+   \index[sd]{Block Positioning}
+   \index[sd]{Directive!Block Positioning}
+   This directive tells Bacula not to use block positioning when doing restores.
+   Turning this directive off can cause Bacula to be {\bf extremely} slow
+   when restoring files.  You might use this directive if you wrote your
+   tapes with Bacula in variable block mode (the default), but your drive
+   was in fixed block mode. The default is {\bf yes}.
+
+\item [Maximum Network Buffer Size = {\it bytes}]
+   \index[sd]{Maximum Network Buffer Size}
+   \index[sd]{Directive!Maximum Network Buffer Size}
+   where {\it bytes} specifies the initial network buffer  size to use with the
+   File daemon.  This size will be adjusted down if it is too large until
+   it is accepted by the OS. Please use care in setting this value since if
+   it is too large, it will be trimmed by 512 bytes until the OS is happy,
+   which may require a large number of system calls.  The default value is
+   32,768 bytes.
+
+   The default size was chosen to be relatively large but not too big in
+   the case that you are transmitting data over Internet.  It is clear that
+   on a high speed local network, you can increase this number and improve
+   performance. For example, some users have found that if you use a value
+   of 65,536 bytes they get five to ten times the throughput.  Larger values for
+   most users don't seem to improve performance. If you are interested
+   in improving your backup speeds, this is definitely a place to
+   experiment. You will probably also want to make the corresponding change
+   in each of your File daemons conf files.
+
+
+\item [Maximum Spool Size = {\it bytes}]
+   \index[sd]{Maximum Spool Size}
+   \index[sd]{Directive!Maximum Spool Size}
+   where the bytes specify the maximum spool size for all jobs that are
+   running.  The default is no limit.
+
+\item [Maximum Job Spool Size = {\it bytes}]
+   \index[sd]{Maximum Job Spool Size}
+   \index[sd]{Directive!Maximum Job Spool Size}
+   where the bytes specify the maximum spool size for any one job  that is
+   running. The default is no limit. 
+   This directive is implemented only in version 1.37 and later.
+
+\item [Spool Directory = {\it directory}]
+   \index[sd]{Spool Directory}
+   \index[sd]{Directive!Spool Directory}
+   specifies the name of the directory to be used to store  the spool files for
+   this device. This directory is also used to store  temporary part files when
+   writing to a device that requires mount (DVD).  The default is to use the
+   working directory. 
+
+\item [Maximum Part Size = {\it bytes}]
+   \index[sd]{Maximum Part Size}
+   \index[sd]{Directive!Maximum Part Size}
+   This is the maximum size of a volume part file. The default is no limit.
+   This directive is implemented only in version 1.37 and later.
+
+   If the device requires  mount, it is transferred to the device when this size
+   is reached.  In this case, you must take care to have enough disk space left
+   in  the spool directory.  
+
+   Otherwise, it is left on the hard disk.  
+
+   It is ignored for tape and FIFO devices.  
+
+
+\end{description}
+
+\label{mountcodes}
+\section{Edit Codes for Mount and Unmount Directives} 
+\index[general]{Directives!Edit Codes}
+\index[general]{Edit Codes for Mount and Unmount Directives }
+
+Before submitting the {\bf Mount Command}, {\bf Unmount Command}, 
+{\bf Write Part Command}, or {\bf Free Space Command} directives 
+to the operating system, Bacula performs character substitution of the
+following characters:
+
+\footnotesize
+\begin{verbatim}
+    %% = %
+    %a = Archive device name
+    %e = erase (set if cannot mount and first part)
+    %n = part number
+    %m = mount point
+    %v = last part name (i.e. filename)
+\end{verbatim}
+\normalsize
+
+
+\section{Devices that require a mount (DVD)}
+\index[general]{Devices that require a mount (DVD)}
+\index[general]{DVD!Devices that require a mount}
+
+All the directives in this section are implemented only in
+Bacula version 1.37 and later and hence are available in version 1.38.6.
+
+As of version 1.39.5, the directives
+"Requires Mount", "Mount Point", "Mount Command", and "Unmount Command"
+apply to removable filesystems such as USB in addition to DVD.
+
+\begin{description}
+
+\item [Requires Mount = {\it yes\vb{}no}]
+   \index[sd]{Requires Mount}
+   \index[sd]{Directive!Requires Mount}
+   You must set this directive to {\bf yes} for DVD-writers,  and to {\bf no} for
+   all other devices (tapes/files).  This directive indicates if the device
+   requires to be mounted to be read,  and if it must be written in a special way.
+   If it set, {\bf Mount Point},  {\bf Mount Command}, {\bf Unmount Command} and
+   {\bf Write Part Command}  directives must also be defined. 
+
+\item [Mount Point = {\it directory}]
+   \index[sd]{Mount Point}
+   \index[sd]{Directive!Mount Point}
+   Directory where the device can be mounted. 
+
+\item [Mount Command = {\it name-string}]
+   \index[sd]{Mount Command}
+   \index[sd]{Directive!Mount Command}
+   Command that must be executed to mount the device. Before the command is 
+   executed, \%a is replaced with the Archive Device, and \%m with the Mount 
+   Point.
+
+   Most frequently, you will define it as follows:  
+
+\footnotesize
+\begin{verbatim}
+  Mount Command = "/bin/mount -t iso9660 -o ro %a %m"
+\end{verbatim}
+\normalsize
+
+For some media, you may need multiple commands.  If so, it is recommended
+that you use a shell script instead of putting them all into the Mount
+Command.  For example, instead of this:
+
+\footnotesize
+\begin{verbatim}
+  Mount Command = "/usr/local/bin/mymount"
+\end{verbatim}
+\normalsize
+
+Where that script contains:
+
+\footnotesize
+\begin{verbatim}
+#!/bin/sh
+ndasadmin enable -s 1 -o w
+sleep 2
+mount /dev/ndas-00323794-0p1 /backup
+\end{verbatim}
+\normalsize
+
+Similar consideration should be given to all other Command parameters.
+
+\item [Unmount Command = {\it name-string}]
+   \index[sd]{Unmount Command}
+   \index[sd]{Directive!Unmount Command}
+   Command that must be executed to unmount the device. Before the command  is
+   executed, \%a is replaced with the Archive Device, and \%m with the  Mount
+   Point.
+
+   Most frequently, you will define it as follows:  
+
+\footnotesize
+\begin{verbatim}
+  Unmount Command = "/bin/umount %m"
+\end{verbatim}
+\normalsize
+
+  If you need to specify multiple commands, create a shell script.
+
+\item [Write Part Command = {\it name-string}]
+   \index[sd]{Write Part Command}
+   \index[sd]{Directive!Write Part Command}
+   Command that must be executed to write a part to the device. Before the 
+   command is executed, \%a is replaced with the Archive Device, \%m with the 
+   Mount Point, \%e is replaced with 1 if we are writing the first part,
+   and with 0 otherwise, and \%v with the current part filename.
+
+   For a DVD, you will most frequently specify the Bacula supplied  {\bf
+   dvd-handler} script as follows:  
+
+\footnotesize
+\begin{verbatim}
+  Write Part Command = "/path/dvd-handler %a write %e %v"
+\end{verbatim}
+\normalsize
+
+  Where {\bf /path} is the path to your scripts install directory, and
+  dvd-handler is the Bacula supplied script file.  
+  This command will already be present, but commented out,
+  in the default bacula-sd.conf file. To use it, simply remove
+  the comment (\#) symbol.
+
+  If you need to specify multiple commands, create a shell script.
+
+
+\item [Free Space Command = {\it name-string}]
+   \index[sd]{Free Space Command}
+   \index[sd]{Directive!Free Space Command}
+   Command that must be executed to check how much free space is left on the 
+   device. Before the command is executed,\%a is replaced with the Archive
+   Device, \%m with the Mount Point, \%e is replaced with 1 if we are writing
+   the first part, and with 0 otherwise, and \%v with the current part filename.
+
+   For a DVD, you will most frequently specify the Bacula supplied  {\bf
+   dvd-handler} script as follows:  
+
+\footnotesize
+\begin{verbatim}
+  Free Space Command = "/path/dvd-handler %a free"
+\end{verbatim}
+\normalsize
+
+  Where {\bf /path} is the path to your scripts install directory, and
+  dvd-handler is the Bacula supplied script file.
+  If you want to specify your own command, please look at the code of
+  dvd-handler to see what output Bacula expects from this command.
+  This command will already be present, but commented out,
+  in the default bacula-sd.conf file. To use it, simply remove
+  the comment (\#) symbol.
+
+  If you do not set it, Bacula will expect there is always free space on the
+  device. 
+
+  If you need to specify multiple commands, create a shell script.
+
+\end{description}
+
+%% This pulls in the Autochanger resource from another file.
+\label{AutochangerRes}
+\label{AutochangerResource1}
+\input{autochangerres-en}
+
+
+
+
+\section{Capabilities}
+\index[general]{Capabilities}
+
+\begin{description}
+
+\item [Label media = {\it yes\vb{}no}]
+   \index[sd]{Label media}
+   \index[sd]{Directive!Label media}
+   If {\bf Yes}, permits this device to automatically label blank media
+   without an explicit operator command.  It does so by using an internal
+   algorithm as defined on the \ilink{Label Format}{Label} record in each
+   Pool resource.  If this is {\bf No} as by default, Bacula will label
+   tapes only by specific operator command ({\bf label} in the Console) or
+   when the tape has been recycled.  The automatic labeling feature is most
+   useful when writing to disk rather than tape volumes.
+
+\item [Automatic mount = {\it yes\vb{}no}]
+   \index[sd]{Automatic mount}
+   \index[sd]{Directive!Automatic mount}
+   If {\bf Yes} (the default), permits the daemon to examine the device to
+   determine if it contains a Bacula labeled volume.  This is done
+   initially when the daemon is started, and then at the beginning of each
+   job.  This directive is particularly important if you have set
+   {\bf Always Open = no} because it permits Bacula to attempt to read the
+   device before asking the system operator to mount a tape.  However,
+   please note that the tape must be mounted before the job begins.
+
+\end{description}
+
+\section{Messages Resource}
+\label{MessagesResource1}
+\index[general]{Resource!Messages}
+\index[general]{Messages Resource}
+
+For a description of the Messages Resource, please see the 
+\ilink{Messages Resource}{MessagesChapter} Chapter of this
+manual. 
+
+\section{Sample Storage Daemon Configuration File}
+\label{SampleConfiguration}
+\index[general]{File!Sample Storage Daemon Configuration}
+\index[general]{Sample Storage Daemon Configuration File}
+
+A example Storage Daemon configuration file might be the following: 
+
+\footnotesize
+\begin{verbatim}
+#
+# Default Bacula Storage Daemon Configuration file
+#
+#  For Bacula release 1.37.2 (07 July 2005) -- gentoo 1.4.16
+#
+# You may need to change the name of your tape drive
+#   on the "Archive Device" directive in the Device
+#   resource.  If you change the Name and/or the
+#   "Media Type" in the Device resource, please ensure
+#   that bacula-dir.conf has corresponding changes.
+#
+Storage {                               # definition of myself
+  Name = rufus-sd
+  Address = rufus
+  WorkingDirectory = "$HOME/bacula/bin/working"
+  Pid Directory = "$HOME/bacula/bin/working"
+  Maximum Concurrent Jobs = 20
+}
+#
+# List Directors who are permitted to contact Storage daemon
+#
+Director {
+  Name = rufus-dir
+  Password = "ZF9Ctf5PQoWCPkmR3s4atCB0usUPg+vWWyIo2VS5ti6k"
+}
+#
+# Restricted Director, used by tray-monitor to get the
+#   status of the storage daemon
+#
+Director {
+  Name = rufus-mon
+  Password = "9usxgc307dMbe7jbD16v0PXlhD64UVasIDD0DH2WAujcDsc6"
+  Monitor = yes
+}
+#
+# Devices supported by this Storage daemon
+# To connect, the Director's bacula-dir.conf must have the
+#  same Name and MediaType.
+#
+Autochanger {
+  Name = Autochanger
+  Device = Drive-1
+  Device = Drive-2
+  Changer Command = "/home/kern/bacula/bin/mtx-changer %c %o %S %a %d"
+  Changer Device = /dev/sg0
+}
+
+Device {
+  Name = Drive-1                      #
+  Drive Index = 0 
+  Media Type = DLT-8000
+  Archive Device = /dev/nst0
+  AutomaticMount = yes;               # when device opened, read it
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  RandomAccess = no;
+  AutoChanger = yes
+  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
+}
+
+Device {
+  Name = Drive-2                      #
+  Drive Index = 1
+  Media Type = DLT-8000
+  Archive Device = /dev/nst1
+  AutomaticMount = yes;               # when device opened, read it
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  RandomAccess = no;
+  AutoChanger = yes
+  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
+}
+
+Device {
+  Name = "HP DLT 80"
+  Media Type = DLT8000
+  Archive Device = /dev/nst0
+  AutomaticMount = yes;                 # when device opened, read it
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+}
+#Device {
+#  Name = SDT-7000                     #
+#  Media Type = DDS-2
+#  Archive Device = /dev/nst0
+#  AutomaticMount = yes;               # when device opened, read it
+#  AlwaysOpen = yes;
+#  RemovableMedia = yes;
+#}
+#Device {
+#  Name = Floppy
+#  Media Type = Floppy
+#  Archive Device = /mnt/floppy
+#  RemovableMedia = yes;
+#  Random Access = Yes;
+#  AutomaticMount = yes;               # when device opened, read it
+#  AlwaysOpen = no;
+#}
+#Device {
+#  Name = FileStorage
+#  Media Type = File
+#  Archive Device = /tmp
+#  LabelMedia = yes;                   # lets Bacula label unlabeled media
+#  Random Access = Yes;
+#  AutomaticMount = yes;               # when device opened, read it
+#  RemovableMedia = no;
+#  AlwaysOpen = no;
+#}
+#Device {
+#  Name = "NEC ND-1300A"
+#  Media Type = DVD
+#  Archive Device = /dev/hda
+#  LabelMedia = yes;                   # lets Bacula label unlabeled media
+#  Random Access = Yes;
+#  AutomaticMount = yes;               # when device opened, read it
+#  RemovableMedia = yes;
+#  AlwaysOpen = no;
+#  MaximumPartSize = 800M;
+#  RequiresMount = yes;
+#  MountPoint = /mnt/cdrom;
+#  MountCommand = "/bin/mount -t iso9660 -o ro %a %m";
+#  UnmountCommand = "/bin/umount %m";
+#  SpoolDirectory = /tmp/backup;
+#  WritePartCommand = "/etc/bacula/dvd-handler %a write %e %v"
+#  FreeSpaceCommand = "/etc/bacula/dvd-handler %a free"
+#}
+#
+# A very old Exabyte with no end of media detection
+#
+#Device {
+#  Name = "Exabyte 8mm"
+#  Media Type = "8mm"
+#  Archive Device = /dev/nst0
+#  Hardware end of medium = No;
+#  AutomaticMount = yes;               # when device opened, read it
+#  AlwaysOpen = Yes;
+#  RemovableMedia = yes;
+#}
+#
+# Send all messages to the Director,
+# mount messages also are sent to the email address
+#
+Messages {
+  Name = Standard
+  director = rufus-dir = all
+  operator = root = mount
+}
+\end{verbatim}
+\normalsize