Назад | Перейти на главную страницу

Bacula - разделение объемов?

Я использовал 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) и тома, которые мне нужны для его восстановления.)

  • Если мой жесткий диск сломается, я надеюсь, что он убьет только некоторые файлы.