OK, so now that brings up another question which I think another user is
having recently.
How can I get my jobs to not sit in "waiting for max storage jobs" status?
Here is my config is attached.
BTW, I'm having this trouble in 1.36.2 and 1.36.3-pre1
Thanks, Tom
Kern Sibbald wrote:
On Thursday 21 April 2005 04:16, Thomas E. Ruth wrote:
Hello, I have the following Device resource set in bacula-sd.conf:
Device {
Name = "VXAPL"
Media Type = "X23"
Archive Device = "/dev/nst0"
Autochanger = Yes
Changer Device = "/dev/sg1"
Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
Removable Media = Yes
Random Access = No
Maximum Concurrent Jobs = 20
Always Open = yes
Automatic Mount = yes
Alert Command = "sh -c '/usr/local/sbin/tapeinfo -f %c |grep
TapeAlert|cat'"
Spool Directory = "/var/bacula/spool"
Maximum Job Spool Size = 2000000000
Maximum Spool Size = 15000000000
}
According to the documentation on the web site, which states:
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.
*Name = /Device-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
....
Parallelism
*Maximum Concurrent Jobs = /positive integer/ * The storage daemon
will accept no more than the given *positive integer* of
simultaneous connections. The default is 10. It is best to set this
number fairly large (e.g. 10 or 20) and control how many Jobs are
running with the *Maximum Concurrent Jobs* in the Storage resource
in the Director's configuration file.
I can use Maximum Concurrent Jobs here, but alas I get the following
when trying to start bacula-sd:
Starting the Bacula Storage daemon
20-Apr 20:06 bacula-sd: ERROR TERMINATION at parse_conf.c:821
Config error: Keyword "MaximumConcurrentJobs" not permitted in this
resource.
Perhaps you left the trailing brace off of the previous resource.
: line 65, col 26 of file /etc/bacula/bacula-sd.conf
Maximum Concurrent Jobs = 20
Commenting this line out will cause the daemon to start, but my jobs all
(except one) run in status "Waiting for max Storage jobs".
Is this a bug in Bacula, or a problem with the docs?
It was a "bug" (artifact from the original doc) in the manual. I have fixed
it.
Thanks,
Tom
-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime
info, new features, or free trial, at:
http://www.businessobjects.com/devxi/728
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users
# Client (File Services) to backup
Client {
Name = voyager-fd
Address = voyager
FDPort = 9102
Catalog = MainCatalog
Password = "pass" # password for FileDaemon
File Retention = 60 days
Job Retention = 6 months
AutoPrune = yes
Maximum Concurrent Jobs = 5
}
Job {
Name = "voyager-backup"
JobDefs = "DailyJob"
Write bootstrap = "/var/bacula/voyager.bst"
Client = "voyager-fd"
FileSet = "Full Set"
}
Job {
Name = "voayger-archive"
JobDefs = "DailyJob"
Schedule = "Monthly Archive"
Priority = 5
Level = Full
Pool = Monthly
Client = "voyager-fd"
FileSet = "Full Set"
}
#
# Default Bacula Director Configuration file
#
# The only thing that MUST be changed is to add one or more
# file or directory names in the Include directive of the
# FileSet resource.
#
# For Bacula release 1.36.2 (28 February 2005) -- suse 9
#
# You might also want to change the default email address
# from root to your address. See the "mail" and "operator"
# directives in the Messages resource.
#
Director { # define myself
Name = Gimli-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/bacula/working"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 5
Password = "pass" # Console password
Messages = Daemon
}
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = Gimli-fd
FileSet = "Full Set"
Schedule = "Monthly Archive"
Storage = File
Messages = Standard
Pool = Default
Priority = 10
Maximum Concurrent Jobs = 4
}
JobDefs {
Name = "DailyJob"
Type = "Backup"
Level = "Incremental"
Pool = "Daily"
Full Backup Pool = "Weekly"
FileSet = "Full Set"
Messages = "Standard"
Schedule = "Weekly Full"
Storage = "VXAPL"
Priority = 10
# Spool Data = Yes
Maximum Concurrent Jobs = 5
}
#
# Define the main nightly save backup job
# By default, this job will back up to disk in /tmp
#Job {
# Name = "Client1"
# JobDefs = "DefaultJob"
# Write Bootstrap = "/var/bacula/working/Client1.bsr"
#}
# Backup the catalog database (after the nightly save)
Job {
Name = "BackupCatalog"
Client = Gimli-fd
JobDefs = "DailyJob"
Level = Full
FileSet="Catalog"
Schedule = "WeeklyCycleAfterBackup"
# This creates an ASCII copy of the catalog
RunBeforeJob = "/etc/bacula/make_catalog_backup bacula bacula"
# This deletes the copy of the catalog
RunAfterJob = "/etc/bacula/delete_catalog_backup"
Write Bootstrap = "/var/bacula/BackupCatalog.bsr"
Priority = 11 # run after main backup
}
# Standard Restore template, to be changed by Console program
Job {
Name = "RestoreFiles"
Type = Restore
Client=Gimli-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /tmp/bacula-restores
}
#
# When to do the backups, full backup on first sunday of the month,
# differential (i.e. incremental since full) every other sunday,
# and incremental backups other days
#Schedule {
# Name = "WeeklyCycle"
# Run = Full 1st sun at 1:05
# Run = Differential 2nd-5th sun at 1:05
# Run = Incremental mon-sat at 1:05
#}
# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Level=Full Pool=Monthly on 1 at 6:05
Run = Level=Full Pool=Weekly on 2-31 sat at 6:05
Run = Level=Incremental Pool=Daily FullPool=Weekly on 2-31 sun-fri at 6:05
}
Schedule {
Name = "Monthly Archive"
Run = on 1 at 5:59
}
Schedule {
Name = "Weekly Full"
Run = Level=Full Pool=Weekly sat at 6:00
Run = Level=Incremental Pool=Daily FullPool=Weekly sun-fri at 6:00
}
# List of files to be backed up
FileSet {
Name = "Full Set"
Include {
Options { signature=MD5; onefs=yes }
File = "\\|bash -c \"df -PklF ext3 | tail +2 | awk '{print \$6}'\""
}
Exclude {
File = /tmp
}
}
#
# Put your list of files here, preceded by 'File =', one per line
# or include an external list with:
#
# File = <file-name
#
# Note: / backs up everything on the root partition.
# if you have other partitons such as /usr or /home
# you will probably want to add them too.
#
# By default this is defined to point to the Bacula build
# directory to give a reasonable FileSet to backup to
# disk storage during initial testing.
#
# File = /home/truth/src/bacula-1.36.2
#
# If you backup the root directory, the following two excluded
# files can be useful
#
# Exclude {
# File = /proc
# File = /tmp
# File = /.journal
# File = /.fsck
# }
# This is the backup of the catalog
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = /var/bacula/working/bacula.sql
}
}
# Definiton of file storage device
Storage {
Name = File
# Do not use "localhost" here
Address = Gimli # N.B. Use a fully qualified name here
SDPort = 9103
Password = "pass"
Device = FileStorage
Media Type = File
}
Storage {
Name = "VXAPL"
Address = "Gimli"
SDPort = 9103
Password = "pass"
Device = VXAPL
Media Type = X23
Autochanger = yes
Maximum Concurrent Jobs = 4
}
# Definition of DDS tape storage device
#Storage {
# Name = DDS-4
# Do not use "localhost" here
# Address = Gimli # N.B. Use a fully qualified name here
# SDPort = 9103
# Password = "pass" # password for Storage daemon
# Device = DDS-4 # must be same as Device in Storage
daemon
# Media Type = DDS-4 # must be same as MediaType in Storage
daemon
#}
# Definition of 8mm tape storage device
#Storage {
# Name = "8mmDrive"
# Do not use "localhost" here
# Address = Gimli # N.B. Use a fully qualified name here
# SDPort = 9103
# Password = "pass"
# Device = "Exabyte 8mm"
# MediaType = "8mm"
#}
# Generic catalog service
Catalog {
Name = MainCatalog
dbname = bacula; user = bacula; password = "banechin"
Multiple Connections = yes
}
# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard
#
# NOTE! If you send to two email or more email addresses, you will need
# to replace the %r in the from field (-f part) with a single valid
# email address in both the mailcommand and the operatorcommand.
#
mailcommand = "/sbin/bsmtp -h mail.united-securities.com -f \"\(Bacula\)
[EMAIL PROTECTED]" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/sbin/bsmtp -h mail.united-securities.com -f \"\(Bacula\)
[EMAIL PROTECTED]" -s \"Bacula: Intervention needed for %j\" %r"
mail = [EMAIL PROTECTED] = all, !skipped
operator = [EMAIL PROTECTED] = mount
console = all, !skipped, !saved
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if they scroll off the console.
#
append = "/var/bacula/working/log" = all, !skipped
}
#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/sbin/bsmtp -h mail.united-securities.com -f \"\(Bacula\)
[EMAIL PROTECTED]" -s \"Bacula daemon message\" %r"
mail = [EMAIL PROTECTED] = all, !skipped
console = all, !skipped, !saved
append = "/var/bacula/working/log" = all, !skipped
}
# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Accept Any Volume = yes # write on any volume in the pool
Cleaning Prefix = "CLN"
}
Pool {
Name = Monthly
Pool Type = Backup
Volume Use Duration = 1 day
Volume Retention = 7 years
Recycle = no
Auto Prune = yes
Cleaning Prefix = "CLN"
Accept Any Volume = yes
}
Pool {
Name = Weekly
Pool Type = Backup
Volume Use Duration = 1 day
Volume Retention = 1 month
Recycle = yes
Auto Prune = yes
Recycle Oldest Volume = yes
Cleaning Prefix = "CLN"
Accept Any Volume = yes
}
Pool {
Name = Daily
Pool Type = Backup
Volume Use Duration = 6 days
Volume Retention = 2 weeks
Recycle = yes
Auto Prune = yes
Recycle Oldest Volume = yes
Cleaning Prefix = "CLN"
Accept Any Volume = yes
}
Pool {
Name = Cleaning
Pool Type = Backup
Cleaning Prefix = "CLN"
}
#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = Gimli-mon
Password = "pass"
CommandACL = status, .status
}
#
# Clients
#
@/etc/bacula/gimli.conf
@/etc/bacula/telstar.conf
@/etc/bacula/voyager.conf
#
# Default Bacula Storage Daemon Configuration file
#
# For Bacula release 1.36.2 (28 February 2005) -- suse 9
#
# 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 dird.conf has corresponding changes.
#
Storage { # definition of myself
Name = Gimli-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/bacula/working"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
}
#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = Gimli-dir
Password = "pass"
}
#
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
#
Director {
Name = Gimli-mon
Password = "pass"
Monitor = yes
}
#
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
# same Name and MediaType.
#
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 = "VXAPL"
Media Type = "X23"
Archive Device = "/dev/nst0"
Autochanger = Yes
Changer Device = "/dev/sg1"
Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
Removable Media = Yes
Random Access = No
# Maximum Concurrent Jobs = 20
Always Open = yes
Automatic Mount = yes
Alert Command = "sh -c '/usr/local/sbin/tapeinfo -f %c |grep TapeAlert|cat'"
Spool Directory = "/var/bacula/spool"
Maximum Job Spool Size = 2000000000
Maximum Spool Size = 15000000000
}
#
# A Linux or Solaris tape drive
#
#Device {
# Name = DDS-4 #
# Media Type = DDS-4
# Archive Device = /dev/nst0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
## Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#}
#
# A FreeBSD tape drive
#
#Device {
# Name = DDS-4
# Description = "DDS-4 for FreeBSD"
# Media Type = DDS-4
# Archive Device = /dev/nsa1
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes
# Offline On Unmount = no
# Hardware End of Medium = no
# BSF at EOM = yes
# Backward Space Record = no
# Fast Forward Space File = no
# TWO EOF = yes
#}
#
# A OnStream tape drive.
# You need the kernel osst driver 0.9.14 or later, and
# do "mt -f /dev/nosst0 defblksize 32768" once as root.
#
#Device {
# Name = OnStream
# Description = "OnStream drive on Linux"
# Media Type = OnStream
# Archive Device = /dev/nst0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes
# Offline On Unmount = no
## The min/max blocksizes of 32768 are *required*
# Minimum Block Size = 32768
# Maximum Block Size = 32768
#}
#
# 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;
# RandomAccess = no;
#}
#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = Gimli-dir = all
}
# Client (File Services) to backup
Client {
Name = Gimli-fd
Address = Gimli
FDPort = 9102
Catalog = MainCatalog
Password = "pass" # password for FileDaemon
File Retention = 60 days
Job Retention = 6 months
AutoPrune = yes
Maximum Concurrent Jobs = 5
}
Job {
Name = "Gimli-backup"
JobDefs = "DailyJob"
Write bootstrap = "/var/bacula/gimli.bst"
Client = "Gimli-fd"
FileSet = "Full Set"
}
Job {
Name = "Gimli-archive"
JobDefs = "DailyJob"
Schedule = "Monthly Archive"
Priority = 5
Level = Full
Pool = Monthly
Client = "Gimli-fd"
FileSet = "Full Set"
}
# Client (File Services) to backup
Client {
Name = telstar-fd
Address = telstar
FDPort = 9102
Catalog = MainCatalog
Password = "pass" # password for FileDaemon
File Retention = 60 days
Job Retention = 6 months
AutoPrune = yes
Maximum Concurrent Jobs = 5
}
Job {
Name = "telstar-backup"
JobDefs = "DailyJob"
Write bootstrap = "/var/bacula/telstar.bst"
Client = "telstar-fd"
FileSet = "Full Set"
}
Job {
Name = "telstar-archive"
JobDefs = "DailyJob"
Schedule = "Monthly Archive"
Priority = 5
Level = Full
Pool = Monthly
Client = "telstar-fd"
FileSet = "Full Set"
}