web-dev-qa-db-ja.com

バキュラ。 1つのLinuxボックスから同時ジョブを実行する

こんにちはすべて私は奇妙な問題を抱えています。Baculaのドキュメントとして、「最大同時ジョブ」を1以上に設定すると、2つ以上の同時ジョブを実行できます。

そして、これは異なるサーバーからのジョブには問題なく機能します。しかし、1つのLinuxサーバーから実行される2つのジョブがある場合、2番目のジョブは最初のジョブが終了したときに待機します。ジョブの優先度は同じです(10)。すべてのジョブには、個別のプール、ボリューム、およびストレージデバイスがあります。

異なるLinuxサーバーで実行されているBacula-dirとBacula-sd。

OS Ubuntu 14.04、Baculaバージョン5.2.6

bconsoleからのレポート

Running Jobs:
Console connected at 03-Apr-16 09:12
 JobId Level   Name                       Status
======================================================================
  4094 Full    arkive03_Share.2016-04-02_22.00.00_06 is running
  4106 Full    BackupCatalog.2016-04-02_23.10.00_19 is waiting for higher priority jobs to finish
  4112 Full    arkive03EtcBackup.2016-04-03_06.00.00_25 is waiting on max Client jobs
====

bacula-dir.conf

Director {                            # define myself
  Name = bacula.tumo.lab-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 10
  Password = "WDT0OAXCx57U"         # Console password
  Messages = Daemon
  DirAddress = bacula.tumo.lab
}

bacula-fd.conf

FileDaemon {                          # this is me
  Name = arkive03.tumo.lab-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
  FDAddress = 10.44.20.137
}

bacula-sd.conf

Storage {                             # definition of myself
  Name = arkive03.tumo.lab-sd
  SDPort = 9103                  # Director's port      
  WorkingDirectory = "/var/lib/bacula"
  Pid Directory = "/var/run/bacula"
  Maximum Concurrent Jobs = 20
  SDAddress = 10.44.20.137
}

Device {
  Name = Arkive03_other               # device for arkive03EtcBackup
  Media Type = File
  Archive Device = /local/bacula/backup/other
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

Device {
  Name = Arkive03_Share               # device for arkive03_Share       
  Media Type = File
  Archive Device = /local/bacula/backup/Share
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

デバイスセクションに「最大同時ジョブ」を追加しようとしましたが、役に立ちませんでした。

pools.conf

Pool {
  Name = File                         # pool for arkive03EtcBackup
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Action On Purge = Truncate
  Volume Retention = 21 days         # 21 days
  Maximum Volume Bytes = 10G          # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
  Label Format = "Vol-"
}

Pool {
  Name = ark_share                    # pool for arkive03_Share
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Action On Purge = Truncate
  Volume Retention = 21 days         # 21 days
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
  Maximum Volumes = 400               # Limit number of Volumes in Pool
  Label Format = "Ark_share-"
}

jobdef.conf

JobDefs {
  Name = "ark_Share"
  Type = Backup
  Level = Incremental
  Client = arkive03.tumo.lab-fd
  Storage = Arkive03_Share
  Messages = Standard
  Pool = ark_share
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/arkive03_share.bsr"
}

JobDefs {
  Name = "EtcBackup"
  Type = Backup
  Level = Incremental
  Schedule = "Dayly"
  Storage = Arkive03_other
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/etc.bsr"
}

クライアントarkive03.conf

Client {
  Name = arkive03.tumo.lab-fd
  Address = 10.44.20.137
  FDPort = 9102
  Catalog = MyCatalog
  Password = "WDT0OAXCx57U"          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Job {
  Name = "arkive03_Share"
  Schedule = "arkbackup"
  FileSet = "Share"
  JobDefs = "ark_Share"
  Client = "arkive03.tumo.lab-fd"
}

Job {
  Name = "arkive03EtcBackup"
  JobDefs = "EtcBackup"
  FileSet = "etc"
  Client = "arkive03.tumo.lab-fd"
}

私は何をすべきかわかりません。私の "share" = 10tb、 "etc" = 4mb、そしてbaculaが10tbのバックアップを終了し、4mbのバックアップを開始するまで待つ必要があります。それはクレイジーです。

3
antimion

BaduladirectorのStorages.confのストレージ定義とbacula-sdのデバイス定義に「MaximumConcurrentJobs」を追加すると、この問題が解決します。

Baculaディレクターのstorages.conf

Storage {
  Name = Arkive03_other
  Address = arkive03.tumo.lab                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "SomePassword"
  Device = Arkive03_other
  Media Type = File
  Maximum Concurrent Jobs = 5
}

bacula-sd.conf

Device {
  Name = Arkive03_other
  Media Type = File
  Archive Device = /local/bacula/backup/other
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}
1
antimion