Bacula-users

Re: [Bacula-users] Max Wait Time not respected, Max Run Time exceedes with 0s run time

2011-06-14 05:53:11
Subject: Re: [Bacula-users] Max Wait Time not respected, Max Run Time exceedes with 0s run time
From: Harald Schmalzbauer <h.schmalzbauer AT omnilan DOT de>
To: jma AT schaubroeck DOT be
Date: Tue, 14 Jun 2011 11:50:03 +0200
schrieb Jeremy Maes am 14.06.2011 11:43 (localtime):
> Op 14/06/2011 11:23, Harald Schmalzbauer schreef:
>> schrieb Jeremy Maes am 14.06.2011 10:46 (localtime):
>>>   Op 14/06/2011 9:52, Harald Schmalzbauer schreef:
>>>> Hello bacula list,
>>>>
>>>> I'm trying to setup a small backup concept with bacula 5.0.3
>>>> Unfortunately I ran into the same problem about one year ago with 5.0.1
>>>> I'm using file based SD.
>>>> I had one job running, accessing SD1 running, so the next scheduled job
>>>> had to wait. But it didn't wait "Max Wait Time" of 2 hours, instead it
>>>> started "Max Run Time" after the scheduled start and terminated with 0
>>>> seconds runtime because "Max Run Time" exceeded.
>>>>
>>>> Can somebody help?
>>> This is because you are probably using the wrong kind of wait times for
>>> your job, or wrong values for them. A picture from the manual should
>>> show this clearly:
>>>
>>>
>>> The Max Run Time will start counting the moment the job tries to get a
>>> hold of a storage volume. Max Wait Time does NOT get added to this time,
>> Thanks a lot for your help.
>> I had looked at the illustration from the manual and together with the
>> status report, I understand it as the job "start time" is not the
>> schedule time.
>> Here's the excerpt of the status report:
>> Scheduled time:         13-Jun-2011 22:31:01
>> Start time:             13-Jun-2011 23:01:15
>>
>> So corresponding to the illustration, this should be the period "Wait
>> time", limited by "Max Start Delay".
>> The report states "Elapsed time: 0 secs". The definition of "Run Time"
>> in the manual makes clear that "Elapsed time" should be the same:
> Before I make any more assumptions etc, could you show us your configs
> for the given job? What settings related to this have you set or not set?

Thanks, of course I can give you all the details:

JobDefs {
  Name = "WindowsDefault"
  Type = Backup
  Level = Incremental
  Messages = Standard
  Pool = Temp
#  Full Backup Pool = Weekly
#  Incremental Backup Pool = Daily
  Priority = 10
  Schedule = "ServerCompleteBackup"
  Write Bootstrap = "/data/bacula-storage/BaculaFD/BootStrapRecords/%c.bsr"
  Max Start Delay = 14400 # 4h to wait after scheduled start
  Max Run Time = 14400 # s42 hours to run after beeing really started
  Differential Max Run Time = 7200 # 2 hour for incrementals after
beeing started
  Incremental Max Run Time = 3600 # 1 hour for incrementals after beeing
started
  Max Run Sched Time = 36000 # 10 hours to wait to start job as planned
  Max Wait Time = 7200 # 2h to wait for resources after job really started
#  Max Full Interval = # If Full is older thatn this, alwas full will be
performed!
}

# Client (File Services) to backup
Client {
  Name = wts2b-fd
  Address =
  FDPort = 9102
  Catalog = UrubaCatalog
  Password = ""
  File Retention = 30 days            # 30 days
  Job Retention = 12 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Job {
  Name = "WTS2-Complete"
  Enabled = yes
  Client = wts2b-fd
  JobDefs = "WindowsDefault"
  Full Backup Pool = Monthly
  Differential Backup Pool = Weekly
  Incremental Backup Pool = Daily
  Storage = ZFS2
  FileSet = "Win2008_VSS_C_Drive"
  Schedule = "ServerCompleteBackup"
}

Schedule {
  Name = "ServerCompleteBackup"
  Run = Level=Full 1st sun at 21:01
  Run = Level=Differential 2nd-5th sun at 21:01
  Run = Level=Incremental mon-sat at 22:31
}

-----------------------
bacula-dir.conf
Director {                            # define myself
  Name = uruba-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/usr/local/share/bacula/query.sql"
  WorkingDirectory = "/var/db/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 4
  Password = ""         # Console password
  Messages = Daemon
}

# Include subfiles associated with configuration of clients.
# They define the bulk of the Clients, Jobs, and FileSets.
# Remember to "reload" the Director after adding a client file.
@|"sh -c 'for f in /usr/local/etc/bacula/*.conf ; do echo @${f} ; done'"

# Generic catalog service
Catalog {
  Name = UrubaCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport =
  dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}

# Definition of file storage device
Storage {
  Name = ZFS1
# Do not use "localhost" here
  Address = uruba                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ""
  Device = raidzP1_datadir1
  Media Type = dev1file
  AllowCompression = no
}


Storage {
  Name = ZFS2
# Do not use "localhost" here
  Address = uruba                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ""
  Device = raidzP1_datadir2
  Media Type = dev2file
  AllowCompression = no
}


Storage {
  Name = ZFS3
# Do not use "localhost" here
  Address = uruba                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ""
  Device = raidzP1_datadir3
  Media Type = dev3file
  AllowCompression = no
}

# Definition of DDS tape storage device
Storage {
  Name = HP-DAT72
  Address = uruba                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ""          # password for Storage daemon
  Device = HP-DAT72                      # must be same as Device in
Storage daemon
  Media Type = dds5-tape                  # must be same as MediaType in
Storage daemon
}

# Definition of DVD storage device
#Storage {
#  Name = "DVD"
#  Do not use "localhost" here
#  Address = builder                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = ""
#  Device = "DVD Writer"
#  MediaType = "DVD"
#}

Pool {
  Name = Archive
  Pool Type = Backup
  AutoPrune = yes
  Recycle = yes
  RecyclePool = Scratch
  Action On Purge = Truncate
  Next Pool = DAT72-Archive
  LabelFormat = "${Client}-${Level}${Type}-${Pool}.${MediaType}${JobId}"
  Maximum Volumes = 100
  Volume Retention = 30 years
  Use Volume Once = yes
}

Pool {
  Name = Monthly
  Pool Type = Backup
  AutoPrune = yes
  Recycle = yes
  RecyclePool = Scratch
  Action On Purge = Truncate
  Recycle Oldest Volume = yes
  Next Pool = DAT72-Archive
  LabelFormat =
"${Pool}-${Year}${Month:p/2/0/r}-${Level}${Type}.${MediaType}${JobId}"
  Maximum Volumes = 13
  Volume Retention = 12 Months
  Volume Use Duration = 13 day
  Migration Time = 2 Months
}

Pool {
  Name = Weekly
  Pool Type = Backup
  AutoPrune = yes
  Recycle = yes
  RecyclePool = Scratch
  Action On Purge = Truncate
  Recycle Oldest Volume = yes
  LabelFormat =
"${Pool}-${Month:p/2/0/r}${Day:p/2/0/r}-${Level}${Type}.${MediaType}${JobId}"
  Maximum Volumes = 5
  Volume Retention = 31 day
  Volume Use Duration = 2 day
}

Pool {
  Name = Daily
  Pool Type = Backup
  AutoPrune = yes
  Recycle = yes
  RecyclePool = Scratch
  Action On Purge = Truncate
  Recycle Oldest Volume = yes
  LabelFormat = "${Pool}-${WeekDay}-${Level}${Type}.${MediaType}${JobId}"
  Maximum Volumes = 15
  Volume Retention = 14 days
  Volume Use Duration = 6 hours
}

Pool {
  Name = Temp
  Pool Type = Backup
  AutoPrune = yes
  Recycle = yes
  RecyclePool = Scratch
  Action On Purge = Truncate
  Next Pool = DAT72-Archive
  LabelFormat = "${Client}-${Level}${Type}-${Pool}.${MediaType}${JobId}"
#  LabelFormat =
"${Client}-${Level}${Type}-${Pool}.${MediaType}${NumVols:p/2/0/r}"
  Maximum Volumes = 20
  Volume Retention = 4 days
  Use Volume Once = yes
}

Pool {
  Name = Scratch
  Pool Type = Backup
}

Pool {
  Name = DAT72-Archive
  Pool Type = Backup
  AutoPrune = yes
  Recycle = yes
  Storage = HP-DAT72
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = uruba-mon
  Password = "aok0fswibPjA0sQPZOHwdQJhcaz3SiyPhP6z3kyTly6Y"
  CommandACL = status, .status
}

# 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.
#  What this does is, it sets the email address that emails would display
#  in the FROM field, which is by default the same email as they're being
#  sent to.  However, if you send email to more than one address, then
#  you'll have to set the FROM address manually, to a single address.
#  for example, a 'no-reply AT mydomain DOT com', is better since that tends to
#  tell (most) people that its coming from an automated source.

#
  mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\)
\<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\)
\<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = root@localhost = all, !skipped
  operator = root@localhost = 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/db/bacula/log" = all, !skipped
  catalog = all
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\)
\<%r\>\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped
  console = all, !skipped, !saved
  append = "/var/db/bacula/log" = all, !skipped
}

Thanks,

-Harry

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users