Bacula-users

Re: [Bacula-users] bacula can't make use of multi drives

2014-11-20 05:58:12
Subject: Re: [Bacula-users] bacula can't make use of multi drives
From: Kern Sibbald <kern AT sibbald DOT com>
To: Süleyman Kuran <skuran AT ayk.gov DOT tr>, bacula-users <bacula-users AT lists.sourceforge DOT net>
Date: Thu, 20 Nov 2014 11:54:47 +0100
On 11/20/2014 11:48 AM, Süleyman Kuran wrote:

On 20-11-2014 12:28, Kern Sibbald wrote:
Hello,

There are a number of different ways to write to several drives at the same time.  They are listed with the preferred solution (for most cases) first and the worst solution last.

1. This is probably the simplest and best.  Simply limit the number of simultaneous jobs by putting a Maximum Simultaneous Jobs = nn inside each Device resource in your bacula-sd.conf file.  Bacula version 7.0.x comes with this directive in the Device resources as a default.

For multi-drive configs, Maximum Concurrent Jobs = nn setting is recommended in Storage and Director resource in bacula-dir.conf and storage resource in bacula-sd.conf. Do you suggest to use it in only Device resource in bacula-sd.conf omitting the others?

No.  As I wrote in my previous response, they must all be consistent, and they all have slightly different ways of limiting concurrency (i.e. maximum jobs a director can run, maximum jobs for a Storage definition in the Director, maximum jobs a storage daemon can run, maximum jobs for a given drive, maximum jobs for a client, maximum jobs for a given job name, ...)  Some you set to a big (but not too big) number; others you need to fine tune (Device), a few others you can ignore (i.e. one usually does not want more than one simultaneous job running on a given client, though there *are* cases where this is desirable).

Best regards,
Kern



2. As other people have pointed out, direct the output of different jobs to different Pools.  This is very good for separating backups by say department, but is not an ideal way to limit concurrency.

3. Set Prefer Mounted Volumes = no.  I *strongly* recommend against using this directive. It will inevitably lead to problems.

Best regards,
Kern

On 11/18/2014 10:39 AM, Süleyman Kuran wrote:
Hi,

I am trying to make bacula use multi drives in a Fujitsu Tape Library with no success. Recently I added 3 more drives to bacula configuration to reduce backup time. But bacula insists on using only the first drive. Backup jobs are not sent to other suitable tape drives. Jobs are started at the same time and queued. Jobs in the queue is waiting for the previous job to finish even if there is a valid media (tape) for the pool and other drives are idle. I can mount other drives manually. Is there any other setting I'm missing to make use of multi-drives? Please advise.

Regards,

Suleyman

==================================================================================
CentOS release 6.5 (Final)
Bacula version 5.0.0-12.el6

Config files:

bacula-sd.conf
==================================================================================
Storage {                             # definition of myself
  Name = bacula-sd
  SDPort = 9103                  # Director's port     
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 2
}
....
Autochanger {
  Name = AYKAutochanger
  Device = Drive-1
  Device = Drive-2
  Device = Drive-3
  Device = Drive-4
  Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
  Changer Device = /dev/sg9
}
Device {
  Name = Drive-1
  Drive Index = 0
  Media Type = LTO-5
  Archive Device = /dev/nst0
  AutomaticMount = yes
  AlwaysOpen = yes
  RemovableMedia = yes
  Random Access = no
  Maximum File Size = 10GB
  Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
  Changer Device = /dev/sg9
  AutoChanger = yes
}
Device {
  Name = Drive-2
  Drive Index = 1
  Media Type = LTO-5
  Archive Device = /dev/nst1
  AutomaticMount = yes
  AlwaysOpen = yes
  RemovableMedia = yes
  Random Access = no
  Maximum File Size = 10GB
  Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
  Changer Device = /dev/sg9
  AutoChanger = yes
  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}
Device {
  Name = Drive-3
  Drive Index = 2
  Media Type = LTO-5
  Archive Device = /dev/nst2
  AutomaticMount = yes
  AlwaysOpen = yes
  RemovableMedia = yes
  Random Access = no
  Maximum File Size = 10GB
  Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
#  Changer Device = /dev/changer
  Changer Device = /dev/sg9
  AutoChanger = yes
  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}
Device {
  Name = Drive-4
  Drive Index = 3
  Media Type = LTO-5
  Archive Device = /dev/nst3
  AutomaticMount = yes
  AlwaysOpen = yes
  RemovableMedia = yes
  Random Access = no
  Maximum File Size = 10GB
  Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
  Changer Device = /dev/sg9
  AutoChanger = yes
  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}
...
===========================================================================
bacula-dir.conf

Director {                            # define myself
  Name = bacula-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/spool/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 2
  Password = "mypassword"         # Console password
  Messages = Daemon
}
JobDefs {
  Name = "MyJobDefs"
  Type = Backup
  Storage = "Fujitsu ETERNUS LT60"
  Max Start Delay = 36000 #do not start jobs after 10 hours
  Messages = Standard
  Pool = Default # will be overwritten by MultipleRUN Schedule
  #Write Bootstrap = "/var/spool/bacula/%c.bsr"
  Prefer Mounted Volumes = no
}
Job {
  Name = "EbysFileBackup"
  JobDefs = "MyJobDefs"
  Client = bacula-fd
  FileSet="EbysFiles"
  Schedule = "MultipleRUN"
  Priority = 10
}
Job {
  Name = "LoggerBackup"
  JobDefs = "MyJobDefs"
  Client = logger-fd
  FileSet="Logger"
  Schedule = "MultipleRUN"
  Priority = 15
}
Job {
  Name = "RadiusBackup"
  JobDefs = "MyJobDefs"
  Client = radius-fd
  FileSet="RadiusFiles"
  Schedule = "MultipleRUN"
  Priority = 20
}
Schedule {
  Name = "MultipleRUN"
  Run = Level=Full Pool=Daily mon-thu at 2:17
  Run = Level=Full Pool=Daily 2nd-5th fri at 2:17
  Run = Level=Full Pool=Daily 2nd-5th sat at 2:17
  #never run Daily on 1st
  Run = Level=Full Pool=Weekly sun at 2:17
  #Run = Level=Incremental Pool=Weekly mon-sat at 19:05
  Run = Level=Full Pool=Monthly 1st sat at 2:17
  #Run = Level=Incremental Pool=Monthly sun-fri at 2:05
  Run = Level=Full Pool=Offsite 1st fri at 2:17
}
Client {
  Name = radius-fd
  Address = client-address
  FDPort = 9102
  Catalog = MyCatalog
  Password = "mypassword"         # password for FileDaemon 2
}
Storage {
  Name = "Fujitsu ETERNUS LT60"
  Address = sd-FQDN-address                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "mypassword"          # password for Storage daemon
  Device = AYKAutochanger
  Media Type = LTO-5                  # must be same as MediaType in Storage daemon
  Autochanger = yes                   # enable for autochanger device
  Maximum Concurrent Jobs = 2
}
Pool {
  Name = Daily
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 7 days
  Cleaning Prefix = "CLN"
  Maximum Volume Bytes = 4924983103488
}
Pool {
  Name = Weekly
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 30 days
  Cleaning Prefix = "CLN"
  Maximum Volume Bytes = 4924983103488
}

#fileset definitions and some unrelated config snipped
============================================================
bacula-fd.conf

FileDaemon {                          # this is me
  Name = bacula-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/spool/bacula
  Pid Directory = /var/run
  Maximum Concurrent Jobs = 2
}
....
snipped

=========================================================







------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk


_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
<Prev in Thread] Current Thread [Next in Thread>