
|
 |
Backing Up to Disk Volumes
|
Index
|
Data Spooling
|
|
|
Data Spooling
Bacula allows you to specify that you want the Storage
daemon to initially write your data to disk and then
subsequently to tape. This serves several important purposes.
First it can take a long time for data to come in from the
File daemon during an Incremental backup. If it is directly written
to tape, the tape will start and stop or shoe-shine as it is often
called causing tape wear. By first writing the data to disk, then
writing it to tape, the tape can be kept in continual motion.
The second major purpose is that while the spooled data is
being written to the tape, the despooling process has exclusive
use of the tape. This means that you can spool multiple simultaneous
jobs to disk, then have them very efficiently despooled one at
a time without having the data blocks from several jobs
intermingled, thus substantially improving the time needed
to restore files.
The remainder of this chapter explains the various directives
that you can use in the spooling process.
Data Spooling Directives
The following directives can be used to control data spooling.
- To turn on/off data spooling at the Job level in
the Job resource in the Director's conf file (default
no.
SpoolData = yes/no
- To override the Job specification in a Schedule Run
directive in the Director's conf file.
SpoolData = yes/no
- To limit the maximum total size of the spooled data
for a particular device. Specified in the Device
resource of the Storage daemon's conf file (default
unlimited).
Maximum Spool Size = size
Where size is a the maximum spool size for all jobs
specified in bytes.
- To limit the maximum total size of the spooled data
for a particular device for a single job. Specified
in the Device Resource of the Storage daemon's conf
file (default unlimited).
Maximum Job Spool Size = size
Where size is the maximum spool file size for a single
job specified in bytes.
- To specify the spool directory for a particular device.
Specified in the Device Resource of the Storage daemon's conf
file (default, the working directory).
Spool Directory = directory
!!! MAJOR WARNING !!!
Please be very careful to exclude the spool directory from
any backup, otherwise, your job will write enormous amounts
of data to the Volume, and most probably terminate in error.
This is simply because in attempting to backup the spool file,
the backup data will be written a second time to the spool
file, and so on ad infinum.
Another advice is to always specify the maximum spool size
so that your disk doesn't completely fill up. In principle,
data spooling will properly detect a full disk, and despool
data allowing the job to continue. However, attribute spooling
is not so kind to the user. If the disk on which attributes
are being spooled fills, the job will be canceled.
Other Points
- When data spooling is enabled, Bacula automatically
turns on attribute spooling. In other words, it also
spools the catalog entries to disk. This is done so
that in case the job fails, there will be no catalog
entries pointing to non-existent tape backups.
- Attribute spooling is done at the end of the job, as
a consequence, after Bacula stops writing the data to
the tape, there may be a pause while the attributes are sent
to the Directory and entered into the catalog before
the job terminates.
- Attribute spool files are always placed in the
working directory.
- When Bacula begins despooling data spooled to disk, it
takes exclusive use of the tape. This has the major
advantage that in running multiple simultaneous jobs at
the same time, the blocks of several jobs will not be
intermingled.
- It probably does not make a lot of sense to enable data
spooling if you are writing to disk files.
Backing Up to Disk Volumes
|
Index
|
Data Spooling
|
|
 |
|
|