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

Bacula каждый раз перезаписывает один и тот же том

 ,


0

1

Hi, folks!

Bacula 5.0.0 из CentOS 6.6

Проблема в следующем, пытаюсь понять как использовать Bacula для создания полного бекапа каталога. Возникает проблема с ротацией: при каждом запуске задания по расписанию Bacula не создает новый том а перезаписывает существующий. На время тестирования полный бекап выполняется каждые 2 минуты.

pool {
  name = pool_test_full
  pool type = backup
  maximum volumes = 5
  maximum volume jobs = 1
  recycle = yes
  recycle oldest volume = yes
  auto prune = yes
  volume retention = 10 min
  label format = "test-full-"
}

job {

  name = b_test_full
  enabled = yes
  type = backup
  level = full
  pool = pool_test_full
  client = carrier
  file set = set_test
  storage = stor_test
  schedule = sch_test_full
  messages = common_messages
}

schedule {
  name = sch_test_full
  run = hourly at 0:00
  run = hourly at 0:02
  run = hourly at 0:04
  run = hourly at 0:06
  run = hourly at 0:08
  run = hourly at 0:10
  run = hourly at 0:12
  run = hourly at 0:14
  run = hourly at 0:16
  run = hourly at 0:18
  run = hourly at 0:20
  run = hourly at 0:22
  run = hourly at 0:24
  run = hourly at 0:26
  run = hourly at 0:28
  run = hourly at 0:30
  run = hourly at 0:32
  run = hourly at 0:34
  run = hourly at 0:36
  run = hourly at 0:38
  run = hourly at 0:40
  run = hourly at 0:42
  run = hourly at 0:44
  run = hourly at 0:46
  run = hourly at 0:48
  run = hourly at 0:50
  run = hourly at 0:52
  run = hourly at 0:52
  run = hourly at 0:54
  run = hourly at 0:56
  run = hourly at 0:58

}

fileset {
  name = set_test
  include {
    options {
      signature = SHA1
      onefs = yes
    }
  file = /vz/root/101/home/alex/cisco
  }
}

storage {
  name = stor_test
  address = 10.100.100.1
  sd port = 9103
  password = "RRgA4mvR"
  device = dev_test
  media type = files
}

В status dir выводятся сообщения о том что задания успешно выполняются но на storage автоматом Bacula создала 1 файл test-full-0001 и перезаписывает его каждый раз вместо создания test-full-0002, -0003 итд.

Описание device из bacula-sd.conf:

device {
  name = dev_test
  media type = files
  archive device = /vz/bacula/test
  label media = yes
  random access = yes
  removable media = no
  automatic mount = yes
}

Вывод status dir:

*stat dir
hope_bacula_director Version: 5.0.0 (26 January 2010) x86_64-redhat-linux-gnu redhat
Daemon started 23-Jan-15 16:13, 11 Jobs run since started.
 Heap: heap=270,336 smbytes=58,076 max_bytes=114,480 bufs=241 max_bufs=286

Scheduled Jobs:
Level          Type     Pri  Scheduled          Name               Volume
===================================================================================
Full           Backup    10  23-Jan-15 16:36    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:38    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:40    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:42    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:44    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:46    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:48    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:50    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:52    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:54    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:56    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 16:58    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:00    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:02    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:04    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:06    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:08    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:10    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:12    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:14    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:16    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:18    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:20    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:22    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:24    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:26    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:28    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:30    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:32    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:34    b_test_full        test-full-0001
Full           Backup    10  23-Jan-15 17:34    b_test_full        test-full-0001
====

Running Jobs:
Console connected at 23-Jan-15 16:13
No Jobs running.
====

Terminated Jobs:
 JobId  Level    Files      Bytes   Status   Finished        Name
====================================================================
     6  Full         52    232.5 M  OK       23-Jan-15 16:16 b_test_full
     7  Full         52    232.5 M  OK       23-Jan-15 16:18 b_test_full
     8  Full         52    232.5 M  OK       23-Jan-15 16:20 b_test_full
     9  Full         52    232.5 M  OK       23-Jan-15 16:22 b_test_full
    10  Full         52    232.5 M  OK       23-Jan-15 16:24 b_test_full
    11  Full         52    232.5 M  OK       23-Jan-15 16:26 b_test_full
    12  Full         52    232.5 M  OK       23-Jan-15 16:28 b_test_full
    13  Full         52    232.5 M  OK       23-Jan-15 16:30 b_test_full
    14  Full         52    232.5 M  OK       23-Jan-15 16:32 b_test_full
    15  Full         52    232.5 M  OK       23-Jan-15 16:34 b_test_full

====

Судя по выводу все задания запланированы на использование тома 0001. Почему так я не могу понять.

Спасибо.

Так тебе надо создать volumes'ы все. И тогда бакула будет по очереди писать на них.

v9lij ★★★★★
()

В status dir выводятся сообщения о том что задания успешно выполняются но на storage автоматом Bacula создала 1 файл test-full-0001 и перезаписывает его каждый раз вместо создания test-full-0002, -0003 итд.

в bconsole выбираешь add->какой пул->сколько тебе томов использовать->начальный номер.

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

Создавать тома вручную не требуется. Покажи что пишется в консоли перед началом выполнения задания. Думается проблема в чем то из перечисленного:

-нет прав для записи /vz/bacula/test ( мало вероятно ) -после изменения конфига не дернут директор или сторадж демон.

gillion
()

Client {
Name = client_name
Address = my.ip.goes.here
FDPort = 9102
Catalog = MyCatalog
Password = «my_pass»
File Retention =xx days # 30 days
Job Retention = xx days # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = x
}


Не?

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

Права на запись есть, - Bacula работает от root. После измнения конфигурационных файлов (baculda-dir.conf) делал reload в bconsole, - этого достаточно например в случае увеличения значения maximum volumes?

trancefer ★★
() автор топика

Внимание, правильный ответ:

# У тебя 
volume retention = 10 min
#, при этом 
recycle oldest volume = yes
# То есть, твой том (volume) устаревает, и через 10 минут после последней записи становится пригодным к перезаписи. Сделай, например, 
volume retention = 365 days
#, и том будет жить год. Таким же образом можно сделать пулы месячного и недельного хранения.
nbw ★★★
()
Ответ на: комментарий от nbw

Разве оценка «устаревания» тома не делается перед каждым выполнением задания? У меня ведь здесь стоит выполнение каждые 2 мин. и т.о. после выполнения задания и перед началом следующего он «живет» только 2 мин. из 10-ти.

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

оценка «устаревания» тома делается перед каждым выполнением задания

Так и есть. Вообще, конфигурация выглядит корректной. Но bacula у тебя довольно старая, в ней баги и неочевидности могут быть. Подключи репу lux, обнови бакулу, потом смотри дальше.

И ещё - у тебя в конфигурации Client {...} параметры «File Retention» и «Job Retention» в какие значения выставлены? Бакула при принятии решения о перезаписи тома смотрит на все retention'ы, относящиеся к job'у, и выбирает наименьший (если праввильно помню).

nbw ★★★
()
Последнее исправление: nbw (всего исправлений: 3)
Ответ на: комментарий от v9lij

При невозможности создания нового тома (если его создание необходимо) бакула останавливает выполнение и в консоли просит создать новый том вручную. У ТС же такого не происходит, у него один и тот же том тупо перезаписыватется, как я понял.

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

После того как я добавил руками оставшиеся тома (в этой конфигурации Bacula сказала что можно еще добавить 4, что логично: 1 существующий + 4 новых = maximum volumes) запись пошла как надо, т.е. в -0002, -0003, -0004, -0005. После того как был записан -0005 Bacula вернулась назад и стала перезаписывать тома начиная с -0001 как и предполагается. Поначалу да она перезаписывала всегда -0001.

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

Конфигурация клиента:

client {
  name = carrier
  address = 10.100.100.2
  fd port = 9102
  catalog = hope_bacula_catalog
  password = "k9LiTrRe"
  file retention = 30 days
  job retention = 6 months
  auto prune = yes
}

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

Странно это всё, она так не должна себя вести. До окончания срока наименьшего retention'а она у меня никогда ничего не перезаписывала (да по логике так и должно быть, чтобы из-за забывчивости админа бэкапы не херились). Можно списать на древнюю версию)))

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

Раз в сто лет и палка стреляет.

Спасибо за помощь. На ваш взгляд репозиторий lux достаточно «пригодный» для production, в часности интересует его (без)конфликтность с epel и rpmforge. И есть ли у него rsync-зеркало (через Google сразу не нашлось)?

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

Может в конфиге есть что-то, что отвечает за автосоздание тома? У меня никогда так не работало. При создании тома, я просто руками создавал max volume в bconsole и всё гуд.

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

На ваш взгляд репозиторий lux достаточно «пригодный» для production

Использую бакулу из этой репы в двух конторах (одна - сравнительно крупная), уже 2 года полёт нормальный.

интересует его (без)конфликтность с epel и rpmforge

Ничего по этому поводу не скажу, на моих машинах все «левые» и «левоватые» репы по умолчанию отключены (enable=0), включаю по необходимости ключом --enablerepo=.

есть ли у него rsync-зеркало

Тоже хз, оно не так часто обновляется, чтобы была необходимость в локальном зеркале.

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

Может в конфиге есть что-то, что отвечает за автосоздание тома? У меня никогда так не работало.

При наличии инструкции Label Format = "tits-" в описании пула (и при наличии прав на запись в каталог для процесса стораджа, разумеется) том создаётся автоматически. У меня везде так, если что. Тома я делаю по 5 GB, и пару сотен создавать руками было бы утомительно.

nbw ★★★
()

Объясните, какие плюсы есть у бакулы, кроме того, что её заебёшься настраивать? Какое-то, блджад, Active Directory от бэкапа.

anonymous
()
Ответ на: комментарий от v9lij

А, ну наверное) Не вникал. Всё равно автоматом удобнее)

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

Не нервничайте так, анонимный товарищ. При небольшом количестве машин (локалхост ± 2 шт.) вам ни то, ни другое не нужно.

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