4 \chapter{Storage Daemon Configuration}
5 \label{StoredConfChapter}
6 \index[general]{Storage Daemon Configuration}
7 \index[general]{Configuration!Storage Daemon}
9 The Storage Daemon configuration file has relatively few resource definitions.
10 However, due to the great variation in backup media and system capabilities,
11 the storage daemon must be highly configurable. As a consequence, there are
12 quite a large number of directives in the Device Resource definition that
13 allow you to define all the characteristics of your Storage device (normally a
14 tape drive). Fortunately, with modern storage devices, the defaults are
15 sufficient, and very few directives are actually needed.
17 Examples of {\bf Device} resource directives that are known to work for a
18 number of common tape drives can be found in the {\bf
19 \lt{}bacula-src\gt{}/examples/devices} directory, and most will also be listed
22 For a general discussion of configuration file and resources including the
23 data types recognized by {\bf Bacula}, please see the
24 \ilink{Configuration}{ConfigureChapter} chapter of this manual. The
25 following Storage Resource definitions must be defined:
29 \ilink{Storage}{StorageResource2} -- to define the name of the
32 \ilink{Director}{DirectorResource1} -- to define the Director's
33 name and his access password.
35 \ilink{Device}{DeviceResource} -- to define the
36 characteristics of your storage device (tape drive).
38 \ilink{Messages}{MessagesChapter} -- to define where error and
39 information messages are to be sent.
42 \section{Storage Resource}
43 \label{StorageResource2}
44 \index[general]{Resource!Storage}
45 \index[general]{Storage Resource}
47 In general, the properties specified under the Storage resource define global
48 properties of the Storage daemon. Each Storage daemon configuration file must
49 have one and only one Storage resource definition.
53 \label{Storage:Storage:Name}
54 \item [Name = \lt{}Storage-Daemon-Name\gt{}]
56 \index[sd]{Directive!Name}
57 Specifies the Name of the Storage daemon. This directive is required.
59 \label{Storage:Storage:WorkingDirectory}
60 \item [Working Directory = \lt{}Directory\gt{}]
61 \index[sd]{Working Directory}
62 \index[sd]{Directive!Working Directory}
63 This directive is mandatory and specifies a directory in which the Storage
64 daemon may put its status files. This directory should be used only by {\bf
65 Bacula}, but may be shared by other Bacula daemons provided the names
66 given to each daemon are unique. This directive is
69 \label{Storage:Storage:PidDirectory}
70 \item [Pid Directory = \lt{}Directory\gt{}]
71 \index[sd]{Pid Directory}
72 \index[sd]{Directive!Pid Directory}
73 This directive is mandatory and specifies a directory in which the Director
74 may put its process Id file files. The process Id file is used to shutdown
75 Bacula and to prevent multiple copies of Bacula from running simultaneously.
76 This directive is required. Standard shell expansion of the {\bf Directory}
77 is done when the configuration file is read so that values such as {\bf
78 \$HOME} will be properly expanded.
80 Typically on Linux systems, you will set this to: {\bf /var/run}. If you are
81 not installing Bacula in the system directories, you can use the {\bf Working
82 Directory} as defined above.
84 \label{Storage:Storage:HeartbeatInterval}
85 \item [Heartbeat Interval = \lt{}time-interval\gt{}]
86 \index[sd]{Heartbeat Interval}
87 \index[sd]{Directive!Heartbeat Interval}
88 \index[general]{Heartbeat Interval}
89 \index[general]{Broken pipe}
90 This directive defines an interval of time in seconds. When
91 the Storage daemon is waiting for the operator to mount a
92 tape, each time interval, it will send a heartbeat signal to
93 the File daemon. The default interval is zero which disables
94 the heartbeat. This feature is particularly useful if you
95 have a router such as 3Com that does not follow Internet
96 standards and times out an valid connection after a short
97 duration despite the fact that keepalive is set. This usually
98 results in a broken pipe error message.
100 \label{Storage:Storage:ClientConnectWait}
101 \item [Client Connect Wait = \lt{}time-interval\gt{}]
102 \index[sd]{Connect Wait}
103 \index[sd]{Directive!Connect Wait}
104 \index[general]{Client Connect Wait}
105 This directive defines an interval of time in seconds that
106 the Storage daemon will wait for a Client (the File daemon)
107 to connect. The default is 30 minutes. Be aware that the
108 longer the Storage daemon waits for a Client, the more
109 resources will be tied up.
111 \label{Storage:Storage:MaximumConcurrentJobs}
112 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
113 \index[sd]{Maximum Concurrent Jobs}
114 \index[sd]{Directive!Maximum Concurrent Jobs}
115 where \lt{}number\gt{} is the maximum number of Jobs that may run
116 concurrently. The default is set to 10, but you may set it to a larger
117 number. Each contact from the Director (e.g. status request, job start
118 request) is considered as a Job, so if you want to be able to do a {\bf
119 status} request in the console at the same time as a Job is running, you
120 will need to set this value greater than 1. To run simultaneous Jobs,
121 you will need to set a number of other directives in the Director's
122 configuration file. Which ones you set depend on what you want, but you
123 will almost certainly need to set the {\bf Maximum Concurrent Jobs} in
124 the Storage resource in the Director's configuration file and possibly
125 those in the Job and Client resources.
127 \label{Storage:Storage:SDAddresses}
128 \item [SDAddresses = \lt{}IP-address-specification\gt{}]
129 \index[sd]{SDAddresses}
130 \index[sd]{Directive!SDAddresses}
131 Specify the ports and addresses on which the Storage daemon will listen
132 for Director connections. Normally, the default is sufficient and you
133 do not need to specify this directive. Probably the simplest way to
134 explain how this directive works is to show an example:
138 SDAddresses = { ip = {
139 addr = 1.2.3.4; port = 1205; }
141 addr = 1.2.3.4; port = http; }
154 addr = 201:220:222::2
157 addr = bluedot.thun.net
163 where ip, ip4, ip6, addr, and port are all keywords. Note, that the address
164 can be specified as either a dotted quadruple, or IPv6 colon notation, or as
165 a symbolic name (only in the ip specification). Also, port can be specified
166 as a number or as the mnemonic value from the /etc/services file. If a port
167 is not specified, the default will be used. If an ip section is specified,
168 the resolution can be made either by IPv4 or IPv6. If ip4 is specified, then
169 only IPv4 resolutions will be permitted, and likewise with ip6.
171 Using this directive, you can replace both the SDPort and SDAddress
172 directives shown below.
174 \label{Storage:Storage:SdPort}
175 \item [SDPort = \lt{}port-number\gt{}]
177 \index[sd]{Directive!SDPort}
178 Specifies port number on which the Storage daemon listens for Director
179 connections. The default is 9103.
181 \label{Storage:Storage:SdAddress}
182 \item [SDAddress = \lt{}IP-Address\gt{}]
183 \index[sd]{SDAddress}
184 \index[sd]{Directive!SDAddress}
185 This directive is optional, and if it is specified, it will cause the
186 Storage daemon server (for Director and File daemon connections) to bind
187 to the specified {\bf IP-Address}, which is either a domain name or an
188 IP address specified as a dotted quadruple. If this directive is not
189 specified, the Storage daemon will bind to any available address (the
192 \label{Storage:Storage:End}
195 The following is a typical Storage daemon Storage definition.
200 # "Global" Storage daemon configuration specifications appear
201 # under the Storage resource.
204 Name = "Storage daemon"
206 WorkingDirectory = "~/bacula/working"
207 Pid Directory = "~/bacula/working"
212 \section{Director Resource}
213 \label{DirectorResource1}
214 \index[general]{Director Resource}
215 \index[general]{Resource!Director}
217 The Director resource specifies the Name of the Director which is permitted
218 to use the services of the Storage daemon. There may be multiple Director
219 resources. The Director Name and Password must match the corresponding
220 values in the Director's configuration file.
224 \label{Storage:Director:Name}
225 \item [Name = \lt{}Director-Name\gt{}]
227 \index[sd]{Directive!Name}
228 Specifies the Name of the Director allowed to connect to the Storage daemon.
229 This directive is required.
231 \label{Storage:Director:Password}
232 \item [Password = \lt{}Director-password\gt{}]
234 \index[sd]{Directive!Password}
235 Specifies the password that must be supplied by the above named Director.
236 This directive is required.
238 \label{Storage:Director:Monitor}
239 \item [Monitor = \lt{}yes\vb{}no\gt{}]
241 \index[sd]{Directive!Monitor}
242 If Monitor is set to {\bf no} (default), this director will have full
243 access to this Storage daemon. If Monitor is set to {\bf yes}, this
244 director will only be able to fetch the current status of this Storage
247 Please note that if this director is being used by a Monitor, we highly
248 recommend to set this directive to {\bf yes} to avoid serious security
253 The following is an example of a valid Director resource definition:
259 Password = my_secret_password
264 \label{DeviceResource}
265 \section{Device Resource}
266 \index[general]{Resource!Device}
267 \index[general]{Device Resource}
269 The Device Resource specifies the details of each device (normally a tape
270 drive) that can be used by the Storage daemon. There may be multiple
271 Device resources for a single Storage daemon. In general, the properties
272 specified within the Device resource are specific to the Device.
276 \label{Storage:Device:Name}
277 \item [Name = {\it Device-Name}]
279 \index[sd]{Directive!Name}
280 Specifies the Name that the Director will use when asking to backup or
281 restore to or from to this device. This is the logical Device name, and may
282 be any string up to 127 characters in length. It is generally a good idea to
283 make it correspond to the English name of the backup device. The physical
284 name of the device is specified on the {\bf Archive Device} directive
285 described below. The name you specify here is also used in your Director's
287 \ilink{Device directive}{StorageResource2} in its Storage
290 \label{Storage:Device:ArchiveDevice}
291 \item [Archive Device = {\it name-string}]
292 \index[sd]{Archive Device}
293 \index[sd]{Directive!Archive Device}
294 The specified {\bf name-string} gives the system file name of the storage
295 device managed by this storage daemon. This will usually be the device file
296 name of a removable storage device (tape drive), for example "{\bf
297 /dev/nst0}" or "{\bf /dev/rmt/0mbn}". It may also be a directory name
298 if you are archiving to disk storage. In this case, you must supply the
299 full absolute path to the directory. When specifying a tape device, it
300 is preferable that the "non-rewind" variant of the device file name be
301 given. In addition, on systems such as Sun, which have multiple tape
302 access methods, you must be sure to specify to use Berkeley I/O
303 conventions with the device. The {\bf b} in the Solaris (Sun) archive
304 specification {\bf /dev/rmt/0mbn} is what is needed in this case.
305 Bacula does not support SysV tape drive behavior.
307 As noted above, normally the Archive Device is the name of a tape drive, but
308 you may also specify an absolute path to an existing directory. If the
309 Device is a directory Bacula will write to file storage in the specified
310 directory, and the filename used will be the Volume name as specified in the
311 Catalog. If you want to write into more than one directory (i.e. to spread
312 the load to different disk drives), you will need to define two Device
313 resources, each containing an Archive Device with a different directory.
315 In addition to a tape device name or a directory name, Bacula will accept the
316 name of a FIFO. A FIFO is a special kind of file that connects two programs
317 via kernel memory. If a FIFO device is specified for a backup operation, you
318 must have a program that reads what Bacula writes into the FIFO. When the
319 Storage daemon starts the job, it will wait for {\bf MaximumOpenWait} seconds
320 for the read program to start reading, and then time it out and terminate
321 the job. As a consequence, it is best to start the read program at the
322 beginning of the job perhaps with the {\bf RunBeforeJob} directive. For this
323 kind of device, you never want to specify {\bf AlwaysOpen}, because you want
324 the Storage daemon to open it only when a job starts, so you must explicitly
325 set it to {\bf No}. Since a FIFO is a one way device, Bacula will not attempt
326 to read a label of a FIFO device, but will simply write on it. To create a
327 FIFO Volume in the catalog, use the {\bf add} command rather than the {\bf
328 label} command to avoid attempting to write a label.
336 Archive Device = /tmp/fifo
347 During a restore operation, if the Archive Device is a FIFO, Bacula will
348 attempt to read from the FIFO, so you must have an external program that
349 writes into the FIFO. Bacula will wait {\bf MaximumOpenWait} seconds for the
350 program to begin writing and will then time it out and terminate the job. As
351 noted above, you may use the {\bf RunBeforeJob} to start the writer program
352 at the beginning of the job.
354 The Archive Device directive is required.
356 \label{Storage:Device:DeviceType}
357 \item [Device Type = {\it type-specification}]
358 \index[sd]{Device Type}
359 \index[sd]{Directive!Device Type}
360 The Device Type specification allows you to explicitly tell Bacula
361 what kind of device you are defining. It the {\it type-specification}
362 may be one of the following:
365 Tells Bacula that the device is a file. It may either be a
366 file defined on fixed medium or a removable filesystem such as
367 USB. All files must be random access devices.
369 The device is a tape device and thus is sequential access. Tape devices
370 are controlled using ioctl() calls.
372 The device is a first-in-first out sequential access read-only
373 or write-only device.
376 The Device Type directive is not required, and if not specified, Bacula
377 will attempt to guess what kind of device has been specified using the
378 Archive Device specification supplied. There are several advantages to
379 explicitly specifying the Device Type. First, on some systems, block and
380 character devices have the same type.
381 Secondly, if you explicitly specify the Device Type, the mount point
382 need not be defined until the device is opened. This is the case with
383 most removable devices such as USB that are mounted by the HAL daemon.
384 If the Device Type is not explicitly specified, then the mount point
385 must exist when the Storage daemon starts.
387 This directive was implemented in Bacula version 1.38.6.
390 \label{Storage:Device:MediaType}
391 \item [Media Type = {\it name-string}]
392 \index[sd]{Media Type}
393 \index[sd]{Directive!Media Type}
394 The specified {\bf name-string} names the type of media supported by this
395 device, for example, "DLT7000". Media type names are arbitrary in that you
396 set them to anything you want, but they must be known to the volume
397 database to keep track of which storage daemons can read which volumes. In
398 general, each different storage type should have a unique Media Type
399 associated with it. The same {\bf name-string} must appear in the
400 appropriate Storage resource definition in the Director's configuration
403 Even though the names you assign are arbitrary (i.e. you choose the name
404 you want), you should take care in specifying them because the Media Type
405 is used to determine which storage device Bacula will select during
406 restore. Thus you should probably use the same Media Type specification
407 for all drives where the Media can be freely interchanged. This is not
408 generally an issue if you have a single Storage daemon, but it is with
409 multiple Storage daemons, especially if they have incompatible media.
411 For example, if you specify a Media Type of "DDS-4" then during the
412 restore, Bacula will be able to choose any Storage Daemon that handles
413 "DDS-4". If you have an autochanger, you might want to name the Media Type
414 in a way that is unique to the autochanger, unless you wish to possibly use
415 the Volumes in other drives. You should also ensure to have unique Media
416 Type names if the Media is not compatible between drives. This
417 specification is required for all devices.
419 In addition, if you are using disk storage, each Device resource will
420 generally have a different mount point or directory. In order for
421 Bacula to select the correct Device resource, each one must have a
425 \label{Storage:Device:Autochanger}
427 \item [Autochanger = {\it yes\vb{}no}]
428 \index[sd]{Autochanger}
429 \index[sd]{Directive!Autochanger}
430 If {\bf Yes}, this device belongs to an automatic tape changer, and you
431 must specify an {\bf Autochanger} resource that points to the {\bf
432 Device} resources. You must also specify a
433 {\bf Changer Device}. If the Autochanger directive is set to {\bf
434 No} (default), the volume must be manually changed. You should also
435 have an identical directive to the
436 \ilink{Storage resource}{Autochanger1} in the Director's
437 configuration file so that when labeling tapes you are prompted for the slot.
439 \label{Storage:Device:ChangerDevice}
440 \item [Changer Device = {\it name-string}]
441 \index[sd]{Changer Device}
442 \index[sd]{Directive!Changer Device}
443 The specified {\bf name-string} must be the {\bf generic SCSI} device
444 name of the autochanger that corresponds to the normal read/write
445 {\bf Archive Device} specified in the Device resource. This
446 generic SCSI device name should be specified if you have an autochanger
447 or if you have a standard tape drive and want to use the
448 {\bf Alert Command} (see below). For example, on Linux systems, for
449 an Archive Device name of {\bf /dev/nst0}, you would specify {\bf
450 /dev/sg0} for the Changer Device name. Depending on your exact
451 configuration, and the number of autochangers or the type of
452 autochanger, what you specify here can vary. This directive is
453 optional. See the \ilink{ Using Autochangers}{AutochangersChapter} chapter
454 of this manual for more details of using this and the following
455 autochanger directives.
457 \label{Storage:Device:ChangerCommand}
458 \item [Changer Command = {\it name-string}]
459 \index[sd]{Changer Command}
460 \index[sd]{Directive!Changer Command}
461 The {\bf name-string} specifies an external program to be called that will
462 automatically change volumes as required by {\bf Bacula}. Normally,
463 this directive will be specified only in the {\bf AutoChanger} resource,
464 which is then used for all devices. However, you may also specify
465 the different {\bf Changer Command} in each Device resource.
467 you will specify the Bacula supplied {\bf mtx-changer} script as follows:
471 Changer Command = "/path/mtx-changer %c %o %S %a %d"
475 and you will install the {\bf mtx} on your system (found in the {\bf depkgs}
476 release). An example of this command is in the default bacula-sd.conf file.
477 For more details on the substitution characters that may be specified to
478 configure your autochanger please see the
479 \ilink{Autochangers}{AutochangersChapter} chapter of this manual.
480 For FreeBSD users, you might want to see one of the several {\bf chio}
481 scripts in {\bf examples/autochangers}.
483 \label{Storage:Device:AlertCommand}
484 \item [Alert Command = {\it name-string}]
485 \index[sd]{Alert Command}
486 The {\bf name-string} specifies an external program to be called at the
487 completion of each Job after the device is released. The purpose of this
488 command is to check for Tape Alerts, which are present when something is
489 wrong with your tape drive (at least for most modern tape drives). The same
490 substitution characters that may be specified in the Changer Command may
491 also be used in this string. For more information, please see the
492 \ilink{Autochangers}{AutochangersChapter} chapter of this manual.
495 Note, it is not necessary to have an autochanger to use this command. The
496 example below uses the {\bf tapeinfo} program that comes with the {\bf mtx}
497 package, but it can be used on any tape drive. However, you will need to
498 specify a {\bf Changer Device} directive in your Device resource (see above)
499 so that the generic SCSI device name can be edited into the command (with
502 An example of the use of this command to print Tape Alerts in the Job report
507 Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
512 and an example output when there is a problem could be:
516 bacula-sd Alert: TapeAlert[32]: Interface: Problem with SCSI interface
517 between tape drive and initiator.
522 \label{Storage:Device:DriveIndex}
523 \item [Drive Index = {\it number}]
524 \index[sd]{Drive Index}
525 \index[sd]{Directive!Drive Index}
526 The {\bf Drive Index} that you specify is passed to the {\bf
527 mtx-changer} script and is thus passed to the {\bf mtx} program. By
528 default, the Drive Index is zero, so if you have only one drive in your
529 autochanger, everything will work normally. However, if you have
530 multiple drives, you must specify multiple Bacula Device resources (one
531 for each drive). The first Device should have the Drive Index set to 0,
532 and the second Device Resource should contain a Drive Index set to 1,
533 and so on. This will then permit you to use two or more drives in your
534 autochanger. As of Bacula version 1.38.0, using the {\bf Autochanger}
535 resource, Bacula will automatically ensure that only one drive at a time
536 uses the autochanger script, so you no longer need locking scripts as in
537 the past -- the default mtx-changer script works for any number of
540 \label{Storage:Device:Autoselect}
541 \item [Autoselect = {\it yes\vb{}no}]
542 \index[sd]{Autoselect}
543 \index[sd]{Directive!Autoselect}
544 If this directive is set to {\bf yes} (default), and the Device
545 belongs to an autochanger, then when the Autochanger is referenced
546 by the Director, this device can automatically be selected. If this
547 directive is set to {\bf no}, then the Device can only be referenced
548 by directly using the Device name in the Director. This is useful
549 for reserving a drive for something special such as a high priority
550 backup or restore operations.
552 \item[Maximum Concurrent Jobs = {\it num}]
553 \index[sd]{MaximumConcurrentJobs}
555 {\bf Maximum Concurrent Jobs} is a directive that permits setting the maximum
556 number of Jobs that can run concurrently on a specified Device. Using this
557 directive, it is possible to have different Jobs using multiple drives, because
558 when the Maximum Concurrent Jobs limit is reached, the Storage Daemon will
559 start new Jobs on any other available compatible drive. This facilitates
560 writing to multiple drives with multiple Jobs that all use the same Pool.
562 \label{Storage:Device:MaximumChangerWait}
563 \item [Maximum Changer Wait = {\it time}]
564 \index[sd]{Maximum Changer Wait}
565 \index[sd]{Directive!Maximum Changer Wait}
566 This directive specifies the maximum time in seconds for Bacula to wait
567 for an autochanger to change the volume. If this time is exceeded,
568 Bacula will invalidate the Volume slot number stored in the catalog and
569 try again. If no additional changer volumes exist, Bacula will ask the
570 operator to intervene. The default is 5 minutes.
571 % TODO: if this is the format, then maybe "5 minutes" should be in
572 % TODO: quotes? define style. see others.
574 \label{Storage:Device:MaximumRewindWait}
575 \item [Maximum Rewind Wait = {\it time}]
576 \index[sd]{Maximum Rewind Wait}
577 \index[sd]{Directive!Maximum Rewind Wait}
578 This directive specifies the maximum time in seconds for Bacula to wait
579 for a rewind before timing out. If this time is exceeded,
580 Bacula will cancel the job. The default is 5 minutes.
582 \label{Storage:Device:MaximumOpenWait}
583 \item [Maximum Open Wait = {\it time}]
584 \index[sd]{Maximum Open Wait}
585 \index[sd]{Directive!Maximum Open Wait}
586 This directive specifies the maximum time in seconds for Bacula to wait
587 for a open before timing out. If this time is exceeded,
588 Bacula will cancel the job. The default is 5 minutes.
590 \label{Storage:Device:AlwaysOpen}
591 \item [Always Open = {\it yes\vb{}no}]
592 \index[sd]{Always Open}
593 \index[sd]{Directive!Always Open}
594 If {\bf Yes}, Bacula will always keep the device open unless
595 specifically {\bf unmounted} by the Console program. This permits
596 Bacula to ensure that the tape drive is always available, and properly
597 positioned. If you set
598 {\bf AlwaysOpen} to {\bf no} (default) {\bf Bacula} will only open the
599 drive when necessary, and at the end of the Job if no other Jobs are
600 using the drive, it will be freed. The next time Bacula wants to append
601 to a tape on a drive that was freed, Bacula will rewind the tape and
602 position it to the end. To avoid unnecessary tape positioning and to
603 minimize unnecessary operator intervention, it is highly recommended
604 that {\bf Always Open = yes}. This also ensures that the drive is
605 available when Bacula needs it.
607 If you have {\bf Always Open = yes} (recommended) and you want to use the
608 drive for something else, simply use the {\bf unmount} command in the
609 Console program to release the drive. However, don't forget to remount the
610 drive with {\bf mount} when the drive is available or the next Bacula job
613 For File storage, this directive is ignored. For a FIFO storage device, you
614 must set this to {\bf No}.
616 Please note that if you set this directive to {\bf No} Bacula will release
617 the tape drive between each job, and thus the next job will rewind the tape
618 and position it to the end of the data. This can be a very time consuming
619 operation. In addition, with this directive set to no, certain multiple
620 drive autochanger operations will fail. We strongly recommend to keep
621 {\bf Always Open} set to {\bf Yes}
623 \label{Storage:Device:VolumePollInterval}
624 \item [Volume Poll Interval = {\it time}]
625 \index[sd]{Volume Poll Interval}
626 \index[sd]{Directive!Volume Poll Interval}
627 If the time specified on this directive is non-zero, after asking the
628 operator to mount a new volume Bacula will periodically poll (or read) the
629 drive at the specified interval to see if a new volume has been mounted. If
630 the time interval is zero (the default), no polling will occur. This
631 directive can be useful if you want to avoid operator intervention via the
632 console. Instead, the operator can simply remove the old volume and insert
633 the requested one, and Bacula on the next poll will recognize the new tape
634 and continue. Please be aware that if you set this interval too small, you
635 may excessively wear your tape drive if the old tape remains in the drive,
636 since Bacula will read it on each poll. This can be avoided by ejecting the
637 tape using the {\bf Offline On Unmount} and the {\bf Close on Poll}
639 However, if you are using a Linux 2.6 kernel or other OSes
640 such as FreeBSD or Solaris, the Offline On Unmount will leave the drive
641 with no tape, and Bacula will not be able to properly open the drive and
642 may fail the job. For more information on this problem, please see the
643 \bsysxrlink{description of Offline On Unmount}{NoTapeInDrive}{problems}{subsection}
644 in the \bsysxrlink{Tape Testing}{TapeTestingChapter}{problems}{chapter} of the \problemsman{}.
646 \label{Storage:Device:CloseOnPoll}
647 \item [Close on Poll = {\it yes\vb{}no}]
648 \index[sd]{Close on Poll}
649 \index[sd]{Directive!Close on Poll}
650 If {\bf Yes}, Bacula close the device (equivalent to an unmount except no
651 mount is required) and reopen it at each poll. Normally this is not too
652 useful unless you have the {\bf Offline on Unmount} directive set, in which
653 case the drive will be taken offline preventing wear on the tape during any
654 future polling. Once the operator inserts a new tape, Bacula will recognize
655 the drive on the next poll and automatically continue with the backup.
656 Please see above more more details.
658 \label{Storage:Device:MaximumOpenWait}
659 \item [Maximum Open Wait = {\it time}]
660 \index[sd]{Maximum Open Wait}
661 \index[sd]{Directive!Maximum Open Wait}
662 This directive specifies the maximum amount of time in seconds that
663 Bacula will wait for a device that is busy. The default is 5 minutes.
664 If the device cannot be obtained, the current Job will be terminated in
665 error. Bacula will re-attempt to open the drive the next time a Job
666 starts that needs the the drive.
669 \label{Storage:Device:RemovableMedia}
670 \label{removablemedia}
671 \item [Removable Media = {\it yes\vb{}no}]
672 \index[sd]{Removable media}
673 \index[sd]{Directive!Removable media}
674 If {\bf Yes}, this device supports removable media (for example, tapes
675 or CDs). If {\bf No}, media cannot be removed (for example, an
676 intermediate backup area on a hard disk). If {\bf Removable media} is
677 enabled on a File device (as opposed to a tape) the Storage daemon will
678 assume that device may be something like a USB device that can be
679 removed or a simply a removable harddisk. When attempting to open
680 such a device, if the Volume is not found (for File devices, the Volume
681 name is the same as the Filename), then the Storage daemon will search
682 the entire device looking for likely Volume names, and for each one
683 found, it will ask the Director if the Volume can be used. If so,
684 the Storage daemon will use the first such Volume found. Thus it
685 acts somewhat like a tape drive -- if the correct Volume is not found,
686 it looks at what actually is found, and if it is an appendable Volume,
689 If the removable medium is not automatically mounted (e.g. udev), then
690 you might consider using additional Storage daemon device directives
691 such as {\bf Requires Mount}, {\bf Mount Point}, {\bf Mount Command},
692 and {\bf Unmount Command}, all of which can be used in conjunction with
693 {\bf Removable Media}.
696 \label{Storage:Device:RandomAccess}
697 \item [Random Access = {\it yes\vb{}no}]
698 \index[sd]{Random access}
699 \index[sd]{Directive!Random access}
700 If {\bf Yes}, the archive device is assumed to be a random access medium
701 which supports the {\bf lseek} (or {\bf lseek64} if Largefile is enabled
702 during configuration) facility. This should be set to {\bf Yes} for all
703 file systems such as USB, and fixed files. It should be set to
704 {\bf No} for non-random access devices such as tapes and named pipes.
707 \label{Storage:Device:RequiresMount}
708 \item [Requires Mount = {\it yes\vb{}no}]
709 \index[sd]{Requires Mount }
710 When this directive is enabled, the Storage daemon will submit
711 a {\bf Mount Command} before attempting to open the device.
712 You must set this directive to {\bf yes} for removable
713 file systems such as USB devices that are not automatically mounted
714 by the operating system when plugged in or opened by Bacula.
715 It should be set to {\bf no} for
716 all other devices such as tapes and fixed filesystems. It should also
717 be set to {\bf no} for any removable device that is automatically
718 mounted by the operating system when opened (e.g. USB devices mounted
719 by udev or hotplug). This directive
720 indicates if the device requires to be mounted using the {\bf Mount
721 Command}. To be able to write devices need a mount, the following
722 directives must also be defined: {\bf Mount Point}, {\bf Mount Command},
723 and {\bf Unmount Command}.
725 \label{Storage:Device:MountPoint}
726 \item [Mount Point = {\it directory}]
727 \index[sd]{Mount Point}
728 Directory where the device can be mounted.
729 This directive is used only
730 for devices that have {\bf Requires Mount} enabled such as
733 \label{Storage:Device:MountCommand}
734 \item [Mount Command = {\it name-string}]
735 \index[sd]{Mount Command}
736 This directive specifies the command that must be executed to mount
737 devices such as many USB devices. Before the command is
738 executed, \%a is replaced with the Archive Device, and \%m with the Mount
741 See the \ilink {Edit Codes}{mountcodes} section below for more details of
742 the editing codes that can be used in this directive.
744 If you need to specify multiple commands, create a shell script.
746 \label{Storage:Device:UnmountCommand}
747 \item [Unmount Command = {\it name-string}]
748 \index[sd]{Unmount Command}
749 This directive specifies the command that must be executed to unmount
750 devices such as many USB devices. Before the command is
751 executed, \%a is replaced with the Archive Device, and \%m with the Mount
754 Most frequently, you will define it as follows:
758 Unmount Command = "/bin/umount %m"
762 See the \ilink {Edit Codes}{mountcodes} section below for more details of
763 the editing codes that can be used in this directive.
765 If you need to specify multiple commands, create a shell script.
767 \item[Block Checksum = {\it yes/no}]
769 You may turn off the Block Checksum (CRC32) code that Bacula uses when
770 writing blocks to a Volume. Doing so can reduce the Storage daemon CPU usage
771 slightly. It will also permit Bacula to read a Volume that has corrupted
774 The default is {\bf yes} -- i.e. the checksum is computed on write and
777 \textbf{We do not recommend to turn this off} particularly on older tape
778 drives or for disk Volumes where doing so may allow corrupted data to go
781 \label{Storage:Device:MinimumBlockSize}
782 \item [Minimum block size = {\it size-in-bytes}]
783 \index[sd]{Minimum block size}
784 \index[sd]{Directive!Minimum block size}
785 On most modern tape drives, you will not need or want to specify this
786 directive, and if you do so, it will be to make Bacula use fixed block
787 sizes. This statement applies only to non-random access devices (e.g.
788 tape drives). Blocks written by the storage daemon to a non-random
789 archive device will never be smaller than the given {\bf size-in-bytes}.
790 The Storage daemon will attempt to efficiently fill blocks with data
791 received from active sessions but will, if necessary, add padding to a
792 block to achieve the required minimum size.
794 To force the block size to be fixed, as is the case for some non-random
795 access devices (tape drives), set the {\bf Minimum block size} and the
796 {\bf Maximum block size} to the same value (zero included). The default
797 is that both the minimum and maximum block size are zero and the default
798 block size is 64,512 bytes.
800 For example, suppose you want a fixed block size of 100K bytes, then you
806 Minimum block size = 100K
807 Maximum block size = 100K
812 Please note that if you specify a fixed block size as shown above, the tape
813 drive must either be in variable block size mode, or if it is in fixed block
814 size mode, the block size (generally defined by {\bf mt}) {\bf must} be
815 identical to the size specified in Bacula -- otherwise when you attempt to
816 re-read your Volumes, you will get an error.
818 If you want the block size to be variable but with a 64K minimum and 200K
819 maximum (and default as well), you would specify:
824 Minimum block size = 64K
825 Maximum blocksize = 200K
830 \label{Storage:Device:MaximumBlockSize}
831 \item [Maximum block size = {\it size-in-bytes}]
832 \index[sd]{Maximum block size}
833 \index[sd]{Directive!Maximum block size}
834 On most modern tape drives, you will not need to specify this directive.
835 If you do so, it will most likely be to use fixed block sizes (see
836 Minimum block size above). The Storage daemon will always attempt to
837 write blocks of the specified {\bf size-in-bytes} to the archive device.
838 As a consequence, this statement specifies both the default block size
839 and the maximum block size. The size written never exceed the given
840 {\bf size-in-bytes}. If adding data to a block would cause it to exceed
841 the given maximum size, the block will be written to the archive device,
842 and the new data will begin a new block.
844 If no value is specified or zero is specified, the Storage daemon will
845 use a default block size of 64,512 bytes (126 * 512).
847 The maximum {\bf size-in-bytes} possible is 2,000,000.
849 \label{Storage:Device:HardwareEndOfMedium}
850 \item [Hardware End of Medium = {\it yes\vb{}no}]
851 \index[sd]{Hardware End of Medium}
852 \index[sd]{Directive!Hardware End of Medium}
853 If {\bf No}, the archive device is not required to support end of medium
854 ioctl request, and the storage daemon will use the forward space file
855 function to find the end of the recorded data. If {\bf Yes}, the archive
856 device must support the {\tt ioctl} {\tt MTEOM} call, which will position
857 the tape to the end of the recorded data. In addition, your SCSI driver must
858 keep track of the file number on the tape and report it back correctly by
859 the {\bf MTIOCGET} ioctl. Note, some SCSI drivers will correctly forward
860 space to the end of the recorded data, but they do not keep track of the
861 file number. On Linux machines, the SCSI driver has a {\bf fast-eod}
862 option, which if set will cause the driver to lose track of the file
863 number. You should ensure that this option is always turned off using the
866 Default setting for Hardware End of Medium is {\bf Yes}. This function is
867 used before appending to a tape to ensure that no previously written data is
868 lost. We recommend if you have a non-standard or unusual tape drive that you
869 use the {\bf btape} program to test your drive to see whether or not it
870 supports this function. All modern (after 1998) tape drives support this
873 \label{Storage:Device:FastForwardSpaceFile}
874 \item [Fast Forward Space File = {\it yes\vb{}no}]
875 \index[sd]{Fast Forward Space File}
876 \index[sd]{Directive!Fast Forward Space File}
877 If {\bf No}, the archive device is not required to support keeping track of
878 the file number ({\bf MTIOCGET} ioctl) during forward space file. If {\bf
879 Yes}, the archive device must support the {\tt ioctl} {\tt MTFSF} call, which
880 virtually all drivers support, but in addition, your SCSI driver must keep
881 track of the file number on the tape and report it back correctly by the
882 {\bf MTIOCGET} ioctl. Note, some SCSI drivers will correctly forward space,
883 but they do not keep track of the file number or more seriously, they do not
884 report end of medium.
886 Default setting for Fast Forward Space File is {\bf Yes}.
888 \label{Storage:Device:UseMtiocget}
889 \item [Use MTIOCGET = {\it yes\vb{}no}]
890 \index[sd]{Use MTIOCGET}
891 \index[sd]{Directive!Use MTIOCGET}
892 If {\bf No}, the operating system is not required to support keeping track of
893 the file number and reporting it in the ({\bf MTIOCGET} ioctl). The default
894 is {\bf Yes}. If you must set this to No, Bacula will do the proper file
895 position determination, but it is very unfortunate because it means that
896 tape movement is very inefficient.
897 Fortunately, this operation system deficiency seems to be the case only
898 on a few *BSD systems. Operating systems known to work correctly are
899 Solaris, Linux and FreeBSD.
901 \label{Storage:Device:BsfAtEom}
902 \item [BSF at EOM = {\it yes\vb{}no}]
903 \index[sd]{BSF at EOM}
904 \index[sd]{Directive!BSF at EOM}
905 If {\bf No}, the default, no special action is taken by Bacula with the End
906 of Medium (end of tape) is reached because the tape will be positioned after
907 the last EOF tape mark, and Bacula can append to the tape as desired.
908 However, on some systems, such as FreeBSD, when Bacula reads the End of
909 Medium (end of tape), the tape will be positioned after the second EOF tape
910 mark (two successive EOF marks indicated End of Medium). If Bacula appends
911 from that point, all the appended data will be lost. The solution for such
912 systems is to specify {\bf BSF at EOM} which causes Bacula to backspace over
913 the second EOF mark. Determination of whether or not you need this directive
914 is done using the {\bf test} command in the {\bf btape} program.
917 \label{Storage:Device:TwoEof}
918 \item [TWO EOF = {\it yes\vb{}no}]
920 \index[sd]{Directive!TWO EOF}
921 If {\bf Yes}, Bacula will write two end of file marks when terminating a
922 tape -- i.e. after the last job or at the end of the medium. If {\bf No},
923 the default, Bacula will only write one end of file to terminate the tape.
925 \label{Storage:Device:BackwardSpaceRecord}
926 \item [Backward Space Record = {\it yes\vb{}no}]
927 \index[sd]{Backward Space Record}
928 \index[sd]{Directive!Backward Space Record}
929 If {\it Yes}, the archive device supports the {\tt MTBSR ioctl} to backspace
930 records. If {\it No}, this call is not used and the device must be rewound
931 and advanced forward to the desired position. Default is {\bf Yes} for non
932 random-access devices. This function if enabled is used at the end of a
933 Volume after writing the end of file and any ANSI/IBM labels to determine
934 whether or not the last block was written correctly. If you turn this
935 function off, the test will not be done. This causes no harm as the re-read
936 process is precautionary rather than required.
938 \label{Storage:Device:BackwardSpaceFile}
939 \item [Backward Space File = {\it yes\vb{}no}]
940 \index[sd]{Backward Space File}
941 \index[sd]{Directive!Backward Space File}
942 If {\it Yes}, the archive device supports the {\bf MTBSF} and {\bf MTBSF
943 ioctl}s to backspace over an end of file mark and to the start of a file. If
944 {\it No}, these calls are not used and the device must be rewound and
945 advanced forward to the desired position. Default is {\bf Yes} for non
946 random-access devices.
948 \label{Storage:Device:ForwardSpaceRecord}
949 \item [Forward Space Record = {\it yes\vb{}no}]
950 \index[sd]{Forward Space Record}
951 \index[sd]{Directive!Forward Space Record}
952 If {\it Yes}, the archive device must support the {\bf MTFSR ioctl} to
953 forward space over records. If {\bf No}, data must be read in order to
954 advance the position on the device. Default is {\bf Yes} for non
955 random-access devices.
957 \label{Storage:Device:ForwardSpaceFile}
958 \item [Forward Space File = {\it yes\vb{}no}]
959 \index[sd]{Forward Space File}
960 \index[sd]{Directive!Forward Space File}
961 If {\bf Yes}, the archive device must support the {\tt MTFSF ioctl} to
962 forward space by file marks. If {\it No}, data must be read to advance the
963 position on the device. Default is {\bf Yes} for non random-access devices.
965 \label{Storage:Device:OfflineOnUnmount}
966 \item [Offline On Unmount = {\it yes\vb{}no}]
967 \index[sd]{Offline On Unmount}
968 \index[sd]{Directive!Offline On Unmount}
969 The default for this directive is {\bf No}. If {\bf Yes} the archive device
970 must support the {\tt MTOFFL ioctl} to rewind and take the volume offline. In
971 this case, Bacula will issue the offline (eject) request before closing the
972 device during the {\bf unmount} command. If {\bf No} Bacula will not attempt
973 to offline the device before unmounting it. After an offline is issued, the
974 cassette will be ejected thus {\bf requiring operator intervention} to
975 continue, and on some systems require an explicit load command to be issued
976 ({\bf mt -f /dev/xxx load}) before the system will recognize the tape. If you
977 are using an autochanger, some devices require an offline to be issued prior
978 to changing the volume. However, most devices do not and may get very
981 If you are using a Linux 2.6 kernel or other OSes
982 such as FreeBSD or Solaris, the Offline On Unmount will leave the drive
983 with no tape, and Bacula will not be able to properly open the drive and
984 may fail the job. For more information on this problem, please see the
985 \bsysxrlink{description of Offline On Unmount}{NoTapeInDrive}{problems}{subsection}
986 in the \bsysxrlink{Tape Testing}{TapeTestingChapter}{problems}{chapter} of the \problemsman{}.
989 \label{Storage:Device:MaximumConcurrentJobs}
990 \item [Maximum Concurrent Jobs = \lt{}number\gt{}]
991 \index[sd]{Device Maximum Concurrent Jobs}
992 \index[sd]{Directive!Device Maximum Concurrent Jobs}
993 \index[sd]{Directive!New in 3.0.3}
994 where \lt{}number\gt{} is the maximum number of Jobs that can run
995 concurrently on a specified Device. Using this directive, it is possible
996 to have different Jobs using multiple drives, because when
997 the Maximum Concurrent Jobs limit is
998 reached, the Storage Daemon will start new Jobs on any other available
999 compatible drive. This facilitates writing to multiple drives with
1000 multiple Jobs that all use the same Pool.
1002 \label{Storage:Device:MaximumVolumeSize}
1003 \item [Maximum Volume Size = {\it size}]
1004 \index[sd]{Maximum Volume Size}
1005 \index[sd]{Directive!Maximum Volume Size}
1006 No more than {\bf size} bytes will be written onto a given volume on the
1007 archive device. This directive is used mainly in testing Bacula to
1008 simulate a small Volume. It can also be useful if you wish to limit the
1009 size of a File Volume to say less than 2GB of data. In some rare cases
1010 of really antiquated tape drives that do not properly indicate when the
1011 end of a tape is reached during writing (though I have read about such
1012 drives, I have never personally encountered one). Please note, this
1013 directive is deprecated (being phased out) in favor of the {\bf Maximum
1014 Volume Bytes} defined in the Director's configuration file.
1016 \label{Storage:Device:MaximumFileSize}
1017 \item [Maximum File Size = {\it size}]
1018 \index[sd]{Maximum File Size}
1019 \index[sd]{Directive!Maximum File Size}
1020 No more than {\bf size} bytes will be written into a given logical file
1021 on the volume. Once this size is reached, an end of file mark is
1022 written on the volume and subsequent data are written into the next
1023 file. Breaking long sequences of data blocks with file marks permits
1024 quicker positioning to the start of a given stream of data and can
1025 improve recovery from read errors on the volume. The default is one
1026 Gigabyte. This directive creates EOF marks only on tape media.
1027 However, regardless of the medium type (tape, disk, USB ...) each time
1028 a the Maximum File Size is exceeded, a record is put into the catalog
1029 database that permits seeking to that position on the medium for
1030 restore operations. If you set this to a small value (e.g. 1MB),
1031 you will generate lots of database records (JobMedia) and may
1032 significantly increase CPU/disk overhead.
1034 If you are configuring an LTO-3 or LTO-4 tape, you probably will
1035 want to set the {\bf Maximum File Size} to 2GB to avoid making
1036 the drive stop to write an EOF mark.
1038 Note, this directive does not limit the size of Volumes that Bacula
1039 will create regardless of whether they are tape or disk volumes. It
1040 changes only the number of EOF marks on a tape and the number of
1041 block positioning records (see below) that are generated. If you
1042 want to limit the size of all Volumes for a particular device, use
1043 the {\bf Maximum Volume Size} directive (above), or use the
1044 {\bf Maximum Volume Bytes} directive in the Director's Pool resource,
1045 which does the same thing but on a Pool (Volume) basis.
1047 \label{Storage:Device:BlockPositioning}
1048 \item [Block Positioning = {\it yes\vb{}no}]
1049 \index[sd]{Block Positioning}
1050 \index[sd]{Directive!Block Positioning}
1051 This directive tells Bacula not to use block positioning when doing restores.
1052 Turning this directive off can cause Bacula to be {\bf extremely} slow
1053 when restoring files. You might use this directive if you wrote your
1054 tapes with Bacula in variable block mode (the default), but your drive
1055 was in fixed block mode. The default is {\bf yes}.
1057 \label{Storage:Device:MaximumNetworkBufferSize}
1058 \item [Maximum Network Buffer Size = {\it bytes}]
1059 \index[sd]{Maximum Network Buffer Size}
1060 \index[sd]{Directive!Maximum Network Buffer Size}
1061 where {\it bytes} specifies the initial network buffer size to use with the
1062 File daemon. This size will be adjusted down if it is too large until
1063 it is accepted by the OS. Please use care in setting this value since if
1064 it is too large, it will be trimmed by 512 bytes until the OS is happy,
1065 which may require a large number of system calls. The default value is
1068 The default size was chosen to be relatively large but not too big in
1069 the case that you are transmitting data over Internet. It is clear that
1070 on a high speed local network, you can increase this number and improve
1071 performance. For example, some users have found that if you use a value
1072 of 65,536 bytes they get five to ten times the throughput. Larger values for
1073 most users don't seem to improve performance. If you are interested
1074 in improving your backup speeds, this is definitely a place to
1075 experiment. You will probably also want to make the corresponding change
1076 in each of your File daemons conf files.
1079 \label{Storage:Device:MaximumSpoolSize}
1080 \item [Maximum Spool Size = {\it bytes}]
1081 \index[sd]{Maximum Spool Size}
1082 \index[sd]{Directive!Maximum Spool Size}
1083 where the bytes specify the maximum spool size for all jobs that are
1084 running. The default is no limit.
1086 \label{Storage:Device:MaximumJobSpoolSize}
1087 \item [Maximum Job Spool Size = {\it bytes}]
1088 \index[sd]{Maximum Job Spool Size}
1089 \index[sd]{Directive!Maximum Job Spool Size}
1090 where the bytes specify the maximum spool size for any one job that is
1091 running. The default is no limit.
1092 This directive is implemented only in version 1.37 and later.
1094 \label{Storage:Device:SpoolDirectory}
1095 \item [Spool Directory = {\it directory}]
1096 \index[sd]{Spool Directory}
1097 \index[sd]{Directive!Spool Directory}
1098 specifies the name of the directory to be used to store the spool files for
1099 this device. This directory is also used to store temporary part files when
1100 writing to a device that requires mount (USB). The default is to use the
1103 \label{Storage:Device:MaximumPartSize}
1104 \item [Maximum Part Size = {\it bytes}]
1105 \index[sd]{Maximum Part Size}
1106 \index[sd]{Directive!Maximum Part Size}
1107 This is the maximum size of a volume part file. The default is no limit.
1108 This directive is implemented only in version 1.37 and later.
1110 If the device requires mount, it is transferred to the device when this size
1111 is reached. In this case, you must take care to have enough disk space left
1112 in the spool directory.
1114 Otherwise, it is left on the hard disk.
1116 It is ignored for tape and FIFO devices.
1122 \section{Edit Codes for Mount and Unmount Directives}
1123 \index[general]{Directives!Edit Codes}
1124 \index[general]{Edit Codes for Mount and Unmount Directives }
1126 Before submitting the {\bf Mount Command}, {\bf Unmount Command},
1127 {\bf Write Part Command}, or {\bf Free Space Command} directives
1128 to the operating system, Bacula performs character substitution of the
1129 following characters:
1134 %a = Archive device name
1135 %e = erase (set if cannot mount and first part)
1138 %v = last part name (i.e. filename)
1143 \section{Devices that require a mount (USB)}
1144 \index[general]{Devices that require a mount (USB)}
1146 All the directives in this section are implemented only in
1147 Bacula version 1.37 and later and hence are available in version 1.38.6.
1149 As of version 1.39.5, the directives
1150 "Requires Mount", "Mount Point", "Mount Command", and "Unmount Command"
1151 apply to removable filesystems such as USB.
1155 \label{Storage:Device:RequiresMount}
1156 \item [Requires Mount = {\it yes\vb{}no}]
1157 \index[sd]{Requires Mount}
1158 \index[sd]{Directive!Requires Mount}
1159 You must set this directive to {\bf yes} for removable devices such as
1160 USB unless they are automounted, and to {\bf no} for all other devices
1161 (tapes/files). This directive indicates if the device requires to be
1162 mounted to be read, and if it must be written in a special way. If it
1163 set, {\bf Mount Point}, {\bf Mount Command}, {\bf Unmount Command} and
1164 {\bf Write Part Command} directives must also be defined.
1166 \label{Storage:Device:MountPoint}
1167 \item [Mount Point = {\it directory}]
1168 \index[sd]{Mount Point}
1169 \index[sd]{Directive!Mount Point}
1170 Directory where the device can be mounted.
1172 \label{Storage:Device:MountCommand}
1173 \item [Mount Command = {\it name-string}]
1174 \index[sd]{Mount Command}
1175 \index[sd]{Directive!Mount Command}
1176 Command that must be executed to mount the device. Before the command is
1177 executed, \%a is replaced with the Archive Device, and \%m with the Mount
1180 Most frequently, you will define it as follows:
1184 Mount Command = "/bin/mount -t iso9660 -o ro %a %m"
1188 For some media, you may need multiple commands. If so, it is recommended
1189 that you use a shell script instead of putting them all into the Mount
1190 Command. For example, instead of this:
1194 Mount Command = "/usr/local/bin/mymount"
1198 Where that script contains:
1203 ndasadmin enable -s 1 -o w
1205 mount /dev/ndas-00323794-0p1 /backup
1209 Similar consideration should be given to all other Command parameters.
1211 \label{Storage:Device:UnmountCommand}
1212 \item [Unmount Command = {\it name-string}]
1213 \index[sd]{Unmount Command}
1214 \index[sd]{Directive!Unmount Command}
1215 Command that must be executed to unmount the device. Before the command is
1216 executed, \%a is replaced with the Archive Device, and \%m with the Mount
1219 Most frequently, you will define it as follows:
1223 Unmount Command = "/bin/umount %m"
1227 If you need to specify multiple commands, create a shell script.
1231 %% This pulls in the Autochanger resource from another file.
1232 \label{AutochangerRes}
1233 \label{AutochangerResource1}
1234 \input{autochangerres}
1236 \section{Capabilities}
1237 \index[general]{Capabilities}
1241 \label{Storage:Device:LabelMedia}
1242 \item [Label Media = {\it yes\vb{}no}]
1243 \index[general]{Label Media}
1244 \index[sd]{Label Media}
1245 \index[sd]{Directive!Label Media}
1246 If {\bf Yes}, permits this device to automatically label blank media
1247 without an explicit operator command. It does so by using an internal
1248 algorithm as defined on the \ilink{Label Format}{Label} record in each
1249 Pool resource. If this is {\bf No} as by default, Bacula will label
1250 tapes only by specific operator command ({\bf label} in the Console) or
1251 when the tape has been recycled. The automatic labeling feature is most
1252 useful when writing to disk rather than tape volumes.
1254 \label{Storage:Device:AutomaticMount}
1255 \item [Automatic mount = {\it yes\vb{}no}]
1256 \index[sd]{Automatic mount}
1257 \index[sd]{Directive!Automatic mount}
1258 If {\bf Yes} (the default), permits the daemon to examine the device to
1259 determine if it contains a Bacula labeled volume. This is done
1260 initially when the daemon is started, and then at the beginning of each
1261 job. This directive is particularly important if you have set
1262 {\bf Always Open = no} because it permits Bacula to attempt to read the
1263 device before asking the system operator to mount a tape. However,
1264 please note that the tape must be mounted before the job begins.
1268 \section{Messages Resource}
1269 \label{MessagesResource1}
1270 \index[general]{Resource!Messages}
1271 \index[general]{Messages Resource}
1273 For a description of the Messages Resource, please see the
1274 \ilink{Messages Resource}{MessagesChapter} Chapter of this
1277 \section{Sample Storage Daemon Configuration File}
1278 \label{SampleConfiguration}
1279 \index[general]{File!Sample Storage Daemon Configuration}
1280 \index[general]{Sample Storage Daemon Configuration File}
1282 A example Storage Daemon configuration file might be the following:
1287 # Default Bacula Storage Daemon Configuration file
1289 # For Bacula release 1.37.2 (07 July 2005) -- gentoo 1.4.16
1291 # You may need to change the name of your tape drive
1292 # on the "Archive Device" directive in the Device
1293 # resource. If you change the Name and/or the
1294 # "Media Type" in the Device resource, please ensure
1295 # that bacula-dir.conf has corresponding changes.
1297 Storage { # definition of myself
1300 WorkingDirectory = "$HOME/bacula/bin/working"
1301 Pid Directory = "$HOME/bacula/bin/working"
1302 Maximum Concurrent Jobs = 20
1305 # List Directors who are permitted to contact Storage daemon
1309 Password = "ZF9Ctf5PQoWCPkmR3s4atCB0usUPg+vWWyIo2VS5ti6k"
1312 # Restricted Director, used by tray-monitor to get the
1313 # status of the storage daemon
1317 Password = "9usxgc307dMbe7jbD16v0PXlhD64UVasIDD0DH2WAujcDsc6"
1321 # Devices supported by this Storage daemon
1322 # To connect, the Director's bacula-dir.conf must have the
1323 # same Name and MediaType.
1329 Changer Command = "/home/kern/bacula/bin/mtx-changer %c %o %S %a %d"
1330 Changer Device = /dev/sg0
1336 Media Type = DLT-8000
1337 Archive Device = /dev/nst0
1338 AutomaticMount = yes; # when device opened, read it
1340 RemovableMedia = yes;
1343 Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
1349 Media Type = DLT-8000
1350 Archive Device = /dev/nst1
1351 AutomaticMount = yes; # when device opened, read it
1353 RemovableMedia = yes;
1356 Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
1361 Media Type = DLT8000
1362 Archive Device = /dev/nst0
1363 AutomaticMount = yes; # when device opened, read it
1365 RemovableMedia = yes;
1369 # Media Type = DDS-2
1370 # Archive Device = /dev/nst0
1371 # AutomaticMount = yes; # when device opened, read it
1373 # RemovableMedia = yes;
1377 # Media Type = Floppy
1378 # Archive Device = /mnt/floppy
1379 # RemovableMedia = yes;
1380 # Random Access = Yes;
1381 # AutomaticMount = yes; # when device opened, read it
1385 # Name = FileStorage
1387 # Archive Device = /tmp
1388 # LabelMedia = yes; # lets Bacula label unlabeled media
1389 # Random Access = Yes;
1390 # AutomaticMount = yes; # when device opened, read it
1391 # RemovableMedia = no;
1395 # A very old Exabyte with no end of media detection
1398 # Name = "Exabyte 8mm"
1399 # Media Type = "8mm"
1400 # Archive Device = /dev/nst0
1401 # Hardware end of medium = No;
1402 # AutomaticMount = yes; # when device opened, read it
1404 # RemovableMedia = yes;
1407 # Send all messages to the Director,
1408 # mount messages also are sent to the email address
1412 director = rufus-dir = all
1413 operator = root = mount