Я использовал Bacula для резервного копирования. Я внедрил систему, и она отлично работает! Однако я просто поместил все в один том. Я решил, что хочу немного усложнить его, чтобы инкременты сохранялись только в течение недели, а затем он очищал и перезаписывал их в этом томе, чтобы убедиться, что пространство не становится проблемой, потому что мы сохраняем ценность 30 дней инкрементов.
Итак, я попытался создать том под названием DAILY, том под названием WEEKLY и том под названием MONTHLY. Ежедневный - инкрементный, еженедельный - дифференциальный, а ежемесячный - полный. Мы будем хранить ежедневно 7 дней, ежемесячно 30 дней и полный год (потому что нам это нужно!).
Теперь я знаю, что это можно сделать с помощью лент. Проблема в том, что я использую диски ... и если я попытаюсь сделать вышеописанное, либо а) произойдет сбой (если полные / инкрементальные задания находятся в одном расписании), либо б) не работает (создается полная резервная копия на суточный объем и т. д.).
Кто-нибудь пытался это сделать? Или можете дать мне представление о том, как они настроены? Я просто не уверен, почему у него проблемы с этим ...
Bacula Example;
Бассейны
Pool {
Name = Daily
Pool Type = Backup
Volume Retention = 3 days
Recycle = yes
AutoPrune = yes
LabelFormat = DAILY
Maximum Volume Bytes = 50G
}
Pool {
Name = Weekly
Pool Type = Backup
Volume Retention = 30 days
Recycle = yes
AutoPrune = yes
LabelFormat = WEEKLY
Maximum Volume Bytes = 100G
}
Pool {
Name = Monthly
Pool Type = Backup
Volume Retention = 365 days
Recycle = yes
AutoPrune = yes
LabelFormat = MONTHLY
}
Работа / Клиент / График
Client {
Name = centos13
Password = *IMAHAPPYLITTLEPASSWORD*
Address = centos13
FDPort = 9102
Catalog = MyCatalog
File Retention = 30 days
Job Retention = 6 months
}
FileSet {
Name = centos13
Include {
File = /etc/bacula/bacula-fd.conf
Options {}
}
}
Schedule {
Name = centos13
Run = Level=Full Pool=Monthly 1st sat at 00:05
Run = Level=Differential Pool=Weekly sat at 00:05
Run = Level=Incremental Pool=Daily mon-fri at 00:05
}
Job {
Name = centos13
Type = Backup
Client = centos13
FileSet = centos13
Schedule = centos13
Storage = File
Messages = Standard
Full Backup Pool = Monthly
Incremental Backup Pool = Daily
Differential Backup Pool = Weekly
}
Чтобы Bacula выполняла то, что вы хотите, вам нужно больше, чем просто тома - вам нужно поместить эти тома в отдельные пулы и сообщить своим заданиям, что вы хотите использовать разные пулы для разных уровней резервного копирования.
Магический синтаксис:
Job {
Name = "Test"
Type = Backup
Client = backup-fd
FileSet = "FileSetTest"
Storage = SomeStorage
Schedule = "ScheduleTest"
Pool = Default
Full Backup Pool = FullTest
Incremental Backup Pool = IncrTest
Differential Backup Pool = DiffTest
}
(бесстыдно украден из http://wiki.bacula.org/doku.php?id=sample_configs - Проверьте документы bacula, поскольку я думаю, что есть другие места, где вы можете указать пулы для каждого уровня, например JobDefs
и возможно Client
)
Затем вы должны установить периоды хранения для пула (или составляющих томов) в соответствии с требованиями, изложенными ранее.
Что касается дискового пространства, я обнаружил, что с дисковыми резервными копиями лучше обращаться с ними, как с лентами.
Я предлагаю вам определить «разумный» Максимальный объем в байтах в вашем ресурсе Pool (и обновить все существующие тома, чтобы отразить его), а затем создать группу томов, которые Bacula будет циклически перебирать самостоятельно по мере «заполнения» каждого тома, и утилизируйте в соответствии с установленными вами политиками хранения.
В моем случае у меня есть 200 ГБ места для резервных копий, разбитых на 100 файлов по 2 ГБ.
У этого есть несколько преимуществ:
Резервные тома помещаются на DVD
(так что, если мне нужно заархивировать их навсегда, я могу просто скопировать их на диск)
Для синхронизации вне сайта необходимо только отправить файлы, которые изменились.
(меньше одного тома 200G)
Более быстрое аварийное восстановление
(Если мне когда-нибудь понадобится восстановить сервер с помощью моего удаленного архива, мне нужно будет загрузить только его загрузочную программу (.bsr) и тома, которые мне нужны для его восстановления.)
Если мой жесткий диск сломается, я надеюсь, что он убьет только некоторые файлы.