LINUX.ORG.RU
решено ФорумAdmin

Bacula job is waiting for a mount request

 ,


0

0

Здравствуйте. Имеется сервер на CentOS 7 с bacula 7.0.5-1. Планируется делать резервные копии с достаточно большого количества машин. На данный момент столкнулся с такой проблемой: при запуске заданий по расписанию bacula ожидает пока не смонтируют storage. Конфигурация предполагает, что для каждого задания/клиента используется отдельный storage, но bacula ожидает пока смонтируют storage не для своего клиента. У меня настроено использование одного тома для одного задания. Статусы storage:

Device "wiki" (/mnt/backup/wiki) is not open.
    Device is BLOCKED waiting for mount of volume "Dif-n001-srv-ov-2015_4_22",
       Pool:        Dif
       Media type:  File
==
Device "city-exch-alpha" (/mnt/backup/city-exch-alpha) is not open.
    Device is BLOCKED waiting for mount of volume "Dif-n001-srv-ov-2015_4_22",
       Pool:        Dif
       Media type:  File
==
Т.е. bacula ждет, пока ей не смонтируют volume от другого клиента(если я правильно понимаю) В логах:
bacula-sd JobId 118: Warning: mount.c:212 Open of file device "wiki" (/mnt/backup/wiki) Volume "Dif-n001-srv-ov-2015_4_22" failed: ERR=file_dev.c:172 Could not open(/mnt/backup/wiki/Dif-n001-srv-ov-2015_4_22,OPEN_READ_WRITE,0640): ERR=No such file or directory
bacula-sd JobId 90: Warning: mount.c:212 Open of file device "city-exch-alpha" (/mnt/backup/city-exch-alpha) Volume "Dif-n001-srv-ov-2015_4_22" failed: ERR=file_dev.c:172 Could not open(/mnt/backup/city-exch-alpha/Dif-n001-srv-ov-2015_4_22,OPEN_READ_WRITE,0640): ERR=No such file or directory

23-Apr 06:00 bacula-sd JobId 118: Please mount append Volume "Dif-n001-srv-ov-2015_4_22" or label a new one for:
    Job:          wiki.2015-04-22_23.00.00_42
    Storage:      "wiki" (/mnt/backup/wiki)
    Pool:         Dif
    Media type:   File
Конфиг bacula-dir:
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 = 30
  Password = "bacula"         # Console password
  Messages = Daemon
}
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=bacula-fd
  FileSet="Full Linux"
  Storage = File
  Pool = Full
  Messages = Standard
  Where = /tmp/bacula-restores
}
Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 23:05
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sat at 23:05
}
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 23:10
}
FileSet {
  Name = "Catalog"
  Include {
    Options {
      signature = MD5
    }
    File = "/var/spool/bacula/bacula.sql"
  }
}
Storage {
  Name = wiki
# Do not use "localhost" here
  Address = 10.0.249.74
  SDPort = 9103
  Password = bacula
  Device = wiki
  Media Type = File
  Maximum Concurrent Jobs = 30
}
Storage {
  Name = city-exch-alpha
# Do not use "localhost" here
  Address = 10.0.249.74
  SDPort = 9103
  Password = bacula
  Device = city-exch-alpha
  Media Type = File
  Maximum Concurrent Jobs = 30
}
Catalog {
  Name = MyCatalog
  dbname = "bacula"; dbuser = "bacula"; dbpassword = "bacula"
}
Pool {
  Name = Full
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  Purge Oldest Volume = yes                       # Prune expired volumes
  Volume Retention = 15 days         # one year
  Maximum Volume Jobs = 1
  LabelFormat = "${Pool}-${Job}-${Hour:p/2/0/r}:${Minute:p/2/0/r}"
}
Pool {
  Name = Dif
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  Purge Oldest Volume = yes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 2 days         # one year
  Maximum Volume Jobs = 1
  LabelFormat = "${Pool}-${Job}-${Year}_${Month}_${Day}"
}

Client {
  Name = exch-alpha
  Password = bacula
  Address = 10.0.249.16
  FDPort = 9102
  Catalog = MyCatalog
  AutoPrune = yes
  File Retention = 30 days
  Job Retention = 1 months
}
Client {
  Name = wiki
  Password = bacula
  Address = 10.0.249.226
  FDPort = 9102
  Catalog = MyCatalog
  AutoPrune = yes
  File Retention = 30 days
  Job Retention = 1 months
}

Job {
  Name = city-exch-alpha
  Type = Backup
  Level = Full
  Client = exch-alpha
  FileSet = "Disks CD"
  Schedule = main
  Storage = city-exch-alpha
  Pool = Full
  Messages = Standard
}
Job {
  Name = wiki
  Type = Backup
  Level = Full
  Client = wiki
  FileSet = "Full Linux"
  Schedule = main2
  Storage = wiki
  Pool = Full
  Messages = Standard
}
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 = 30
}
Director {
  Name = bacula-dir
  Password = "bacula"
}
Director {
  Name = bacula-mon
  Password = "bacula"
  Monitor = yes
}
Device {
  Name = wiki
  Media Type = File
  Archive Device = /mnt/backup/wiki
  LabelMedia = yes
  Random Access = yes
  Automatic Mount = yes
  RemovableMedia = no
  AlwaysOpen = no
  Maximum Concurrent Jobs = 30
}
Device {
  Name = city-exch-alpha
  Media Type = File
  Archive Device = /mnt/backup/city-exch-alpha
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
  AlwaysOpen = no
  Maximum Concurrent Jobs = 30
}
Messages {
  Name = Standard
  director = bacula-dir = all
}
Подскажите пожалуйста, почему такое может происходить?


Ответ на: комментарий от vanoc

Could not open(/mnt/backup/city-exch-alpha/Dif-n001-srv-ov-2015_4_22 Bacula пытается открыть файл которого там быть не должно, этот volume находится в /mnt/backup/n001-srv-ov/Dif-n001-srv-ov-2015_4_22 и если бы проблема была в отсутствии каталогов, тогда не проходили бы задания, запущенные вручную. Ну и в подтверждении:

[root@backup ~]# ls -l /mnt/backup/wiki
total 22333176
-rw-r-----. 1 bacula tape    80361318 Apr 22 10:35 Dif-wiki-2015_4_22
-rw-r-----. 1 bacula tape    80440836 Apr 23 09:56 Full-wiki-09:56
-rw-r-----. 1 bacula tape 11354139183 Apr 23 10:08 Full-wiki-10:03
-rw-r-----. 1 bacula tape 11354222718 Apr 21 21:02 Full-wiki-20:00

Imex
() автор топика
Ответ на: комментарий от BOOBLIK

Я её вообще закомментировал... Сейчас раскомментировал...

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = bacula-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = File
  SpoolAttributes = yes
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}

Imex
() автор топика
Ответ на: комментарий от Imex

Выложи все же полный конфиг куда-нибудь на pastebin. Глаза цепляются за шэдулеры, указанные в джобах, но не приведенные в конфигах.

BOOBLIK ★★★
()
Последнее исправление: BOOBLIK (всего исправлений: 1)

Ну и чисто из спортивного интереса — чем обусловлен выбор архитектуры в несколько файловых девайсов хранения? Только ради того, чтобы разные тома от разных хостов были в отдельных директориях?

BOOBLIK ★★★
()
Ответ на: комментарий от BOOBLIK

bacula-dir.conf: http://paste.fedoraproject.org/214626/14297777 bacula-sd.conf: http://paste.fedoraproject.org/214628/14297777

Нет, это все ради параллельного запуска нескольких заданий. Если я выставляю Maximum Concurent Jobs = 20, тогда происходит ожидание пока хранилище освободится, ну и где-то на просторах как вариант решения было предложено использовать для каждого клиента свое хранилище.

Imex
() автор топика
Ответ на: комментарий от Imex

Я бы попробовал сделать отдельные Volume Pools для разных клиентов и указать в них нужный тебе Storage. Т.е. что-то в духе:

Pool {
  Name = Full-wiki
  Pool Type = Backup
  Storage = wiki
  Recycle = yes    
  Purge Oldest Volume = yes         
  Volume Retention = 15 days     
  Maximum Volume Jobs = 1
  LabelFormat = "${Pool}-${Job}-${Hour:p/2/0/r}:${Minute:p/2/0/r}"
}

Job {
  Name = wiki
  Type = Backup
  Level = Full
  Client = wiki
  FileSet = "Full Linux"
  Schedule = main2
  #Storage = wiki
  Pool = Full-wiki
  Messages = Standard
}

BOOBLIK ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.