Настройка дедупликации в bacula. — DEVOPS

Настройка дедупликации в bacula.

Настройка дедупликации в bacula. Bacula base backup.

Дедупликация в бакуле конечно не уровня symantec, но место и время экономит отлично. Суть проста — создается полная копия набора файлов и далее в требуемом job указывается опорное (base) задание или список заданий, от которого будет происходить full или inc бекап. Таким образом полный бекап набора файлов создается один раз, а далее все клиенты которые его используют бекапят только изменения в завимимости от текущего типа бекапа. Грубо говоря это будет либо diff, в случае с полным бекапом, либо increment\diff в случае с последующими бекапами в этом пуле.
Где это может быть полезно:

  • например у нас 10 однотипных серверов. Условно преднастроенный и пожатый образ каждого сервера занимает 1 гигабайт. Если сделать предварительный bacula base backup и в job для резервного копирования каждого сервера добавить этот base — то мы экономим 10 гигабайт места на диске и время на его сжатие-передачу по сети каждый раз как он будет создаваться.
    Второй пример — бекап большого объема. Например домашний архив с фотографиями. Изменяется он редко, но полный бекап длится около 12 часов. При правильной настройке и подключении bacula base — сокращаем время полного бекапа.

Настраивается все довольно просто:
Для начала добавляется задание на создание bacula base backup и pull в котором будут размещаться эти бекапы. Информация о пулле должна храниться вечно, а задания достаточно всего одного. Ну и никакого расписания в base job быть не должно — все запуски должны быть продуманы и делаться исключително руками. В качестве уровня резервного копирования необходимо указать base и желательно явно указать параметры

Accurate = yes
Spool Attributes = yes

 

Таким образом конфиг будет таким:

# BACULA BASE JOB SET
Job {
Storage = bacula-base-sd
Name = "BASE-bacula-base-backup"
JobDefs = "DefaultJob"
Client = bacula-base-fd
FileSet = "FullRootSet"
Pool = bacula-base
Level = base
Accurate = yes
Spool Attributes = yes
}
Pool {
Name = bacula-base # название пула
Purge Oldest Volume = yes #
Pool Type = Backup #
Recycle = yes # повтороное автоматическое использование томов
AutoPrune = yes # удалять записи из мускуля старше нижеуказанного значения
Volume Retention = 150 year # через какое время том может быть снова использован
File Retention = 150 year # через какое время информация будет удалена из базы
Job Retention = 150 year # через какое время информация о задании будет удалена из базы
Maximum Volumes = 1 # Limit number of Volumes in Pool
Label Format = "bacula-base.pool."
Maximum Volume Jobs = 1
}

Далее просто подключаем в существующее задание описанный выше base

Job {
 Priority = 12
 Storage = atom-home-sd
 Name = atom-home-daily-backup
 Base = BASE-atom-home-backup
 JobDefs = "DefaultJob"
 Schedule="month"
 Client = atom-home-fd
 FileSet = "FullRootSet"
 Accurate = yes
 Spool Attributes = yes
}

производим первый запуск задания BASE-bacula-base-backup, дожидаемся выполнения и так же, для проверки, руками запускаем задание bacula-base-sd.

Далее в отчетах можем увидеть следующие записи, говорящие о успешности процесса настройки.

При старте:

JobId 115: Using BaseJobId(s): 105
JobId 115: Sending Accurate information.

 

В самом отчете по завершении задания.

Base files/Used files: 199901/199891 (99.99%)

 

Из возможных проблем:

  • Для нормальной работы с windows серверами требуется ветка bacula-dir и bacula-sd 5.2
  • То же самое справедливо для linux.

 

Другие новости
Настойка satis для пакетов composer в docker

Настрройка satis satis — кеширующий сервер для пакетов php composer. Для настройки репозитория будем использовать официальный docker. Разработчикам понадобится редактировать файла конфигурации satis.json, для этого поднимем отдельный контейнер с sftp и ftp серверами внутри. Файл конфиргурации в нашем случае должен

Лечим wordpress https err_too_many_redirects

По какой логике wordpress понимает что к нему пришел https не понятно, но часто сталкиваемся с проблемой когда стили и js вордпресс отдает  по http и изза mixed content браузеры их режут. Если в настройках (Настройки -> Общие) жестко указали