Настройка дедупликации в 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.
 
Другие новости
03.08.2024
Сервер упал «вчера» или назад в будущее. Настраиваем atop!

Всем привет доброго лета! Задача из уст заказчика звучала следующим образом : \»мониторинг яндекса сказал что сайт не работает, при этом сервер пингуется\». Ну первым делом лезу на подвластный мне сервер, смотрю логи : аптайм 100 дней, перезагрузок не было

Хранение конфигурационных файлов в Git (Gitlab)

Было время не хранил я ничего в гите, и было это не торт. Один неверный символ мог съесть уйму времени! Годы шли и однажды прислушался к совету друга программиста использовать гитлаб.   Сервисы которые по своей идеологии не пересекаются я