Bacula -резервное копирование диска GFS-схема "дырка"

У меня есть вопрос о реализации схемы GFS-с bacula на жестком диске(демоны уже работают хорошо).

Чего я хочу добиться:

Каждые полгода мне нужна полная-резервная копия, которая должна быть доступна не менее 12 месяцев -> мне нужно хранить резервные копии немного дольше, чем 12 месяцев, чтобы вторая полная резервная копия не перезаписывала первую. Это означает, что будет как минимум 3 полных-резервных копии примерно(я выбрал 18 месяцев). Так продолжается дни, месяцы и так далее. Простая схема GFS-.

Schedule{
  Name = "GGFSCycle"
  Enabled = yes

  # DailyCycle - the volume is kept for 14 days
  Run = Level=Incremental Pool=DailyPool FullPool=HalfAnnualPool Priority=10 tuesday-sunday at 03:00

  # WeeklyCycle - the volume is kept for 5 weeks
  Run = Level=Incremental Pool=WeeklyPool FullPool=HalfAnnualPool Priority=11 monday at 03:00
  
  # MonthlyCycle - the volume is kept for 7 months
  Run = Level=Differential Pool=MonthlyPool FullPool=HalfAnnualPool Priority=12 february-june 1 at 03:00
  Run = Level=Differential Pool=MonthlyPool FullPool=HalfAnnualPool Priority=12 august-december 1 at 03:00

  # HalfAnnualCycle - the data is kept for 18 months
  Run = Level=Full Pool=HalfAnnualPool Priority=13 january 1 at 03:00
  Run = Level=Full Pool=HalfAnnualPool Priority=13 july 1 at 03:00

}

Pool {    
  Name = DailyPool
  Pool Type = Backup
  Storage = backup-server-sd
  Label Format = "DailyVol_"
  Volume Use Duration = 23 hours
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 14 days         
  Maximum Volume Bytes = 50M          # Limit Volume size to something reasonable
  Maximum Volumes = 1000              # Limit number of Volumes in Pool
  # -> max 50G
}

Pool {
  Name = WeeklyPool
  Pool Type = Backup
  Storage = backup-server-sd
  Label Format = "WeeklyVol_"
  Volume Use Duration = 23 hours
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 5 weeks
  Maximum Volume Bytes = 500M 
  Maximum Volumes = 80
  # -> max 70G
}

Pool {
  Name = MonthlyPool
  Pool Type = Backup
  Storage = backup-server-sd
  Label Format = "MonthlyVol_"
  Volume Use Duration = 2 days
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 7 months
  Maximum Volume Bytes = 5G
  Maximum Volumes = 80
  # -> max 170G
}
 
Pool {
  Name = HalfAnnualPool
  Pool Type = Backup
  Label Format = "HalfannualVol_"
  Storage = backup-server-sd
  Volume Use Duration = 3 days
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 18 months #1,5 years
  Maximum Volume Bytes = 35G
  Maximum Volumes = 20
  # -> max 700G
}

Проблема, которую я вижу :

, заключается в том, что инкрементное резервное копирование всегда ссылается на последнее инкрементное-, дифференциальное-или полное-резервное копирование и сохраняет только те файлы, которые изменились с тех пор. В моей схеме у меня есть два «разных» инкрементных-бэкапа, ежедневный и еженедельный. Еженедельный всегда ссылается на ежедневный, который пришел накануне, верно? Когда я держу еженедельный более 4 недель(я выбрал 5 недель)и ежедневный только более 10 дней(я выбрал 14 дней)ежедневные файлы будут удалены через 14 дней, но месячный все еще ссылается на них. Значит будет "дырка"?

Я выяснил, возможно ли иметь несколько «уровней» инкрементных-резервных копий, например, я мог бы сказать, что еженедельное инкрементное-резервное копирование ссылается только на еженедельные резервные копии(уровня 0)и ежедневные инкрементные-резервируют только ежедневные(уровня 1), проблема исчезнет. Та же проблема возникала, когда я сохранял полную -резервную копию для короткого замыкания. Например, если полная резервная копия перезапишет единственную существующую, не останется полной резервной копии, на которую могла бы ссылаться дифференциальная-резервная копия, и я потеряю все резервные копии, сделанные до этого момента.

Что я нашел:

Я порылся в Интернете и нашел главу в документации bacula-: В ней говорится:"Теперь, поскольку каждый из этих различных видов сохранений должен оставаться действительным за разные периоды,самый простой (и, возможно, единственный)способ сделать это — создать отдельный пул для каждого типа резервного копирования».

Мои вопросы:

  1. Это означает, что нет другого решения, кроме единого полного -,diff-и inkr-пулы в главе документации bacula-. Правильно ли это?
  2. Если это неверно, как я могу достичь своей цели с помощью двух разных инкрементальных-пулы?

Я также читал о базовых заданиях в документации bacula-, это не то, что нужно, но это идет в правильном направлении.

Большое спасибо за ваше время и помощь в чтении до конца.

Ps:Я не являюсь носителем английского языка, и мне жаль, если я делаю ошибки. Если есть что-то, что вас действительно бесит, я хотел бы услышать от вас, чтобы улучшить мой английский.

Спасибо.

0
задан 3 September 2021 в 20:39
1 ответ

Я уже разобрался с этим с помощью списка рассылки bacula-пользователя-. Невозможно эффективно использовать несколько инкрементных пулов для одного задания. Я изменил свои настройки на этот:

Schedule{
  Name = "GFSCycle"
  Enabled = yes

  # DailyCycle - the volumes are kept for 40days
  Run = Level=Incremental Pool=DailyPool FullPool=HalfAnnualPool Priority=10 daily at 03:00
  
  # MonthlyCycle - the volumes are kept for 7months
  Run = Level=Differential Pool=MonthlyPool FullPool=HalfAnnualPool Priority=11 february-june 1 at 03:00
  Run = Level=Differential Pool=MonthlyPool FullPool=HalfAnnualPool Priority=11 august-december 1 at 03:00

  # HalfAnnualCycle - the volumes are kept 12months
  Run = Level=Full Pool=HalfAnnualPool Priority=12 january 1 at 03:00
  Run = Level=Full Pool=HalfAnnualPool Priority=12 july 1 at 03:00


Pool {    
  Name = DailyPool
  Pool Type = Backup
  Storage = backup-server-sd
  Label Format = "DailyVol_"
  Volume Use Duration = 23 hours
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 40 days
  Maximum Volume Bytes = 50M          # Limit Volume size to something reasonable
  Maximum Volumes = 3000              # Limit number of Volumes in Pool
  # -> max 150G
}

Pool {
  Name = MonthlyPool
  Pool Type = Backup
  Storage = backup-server-sd
  Label Format = "MonthlyVol_"
  Volume Use Duration = 2 days
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 7 months
  Maximum Volume Bytes = 5G
  Maximum Volumes = 80
  # -> max 170G
}
 
Pool {
  Name = HalfAnnualPool
  Pool Type = Backup
  Label Format = "HalfannualVol_"
  Storage = backup-server-sd
  Volume Use Duration = 3 days
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 12 months
  Maximum Volume Bytes = 35G
  Maximum Volumes = 20
  # -> max 700G 
}

файл-, а срок хранения задания-для этого отдельного клиента установлен на максимальный объем-удержания.

-> Срок хранения файла = 12 месяцев, срок хранения задания = 12 месяцев

Существуют также виртуальные полные-резервные копии, которые могут пригодиться и более подробно описаны на странице:https://www.baculasystems.com/incremental-backup-software/

Еще раз большое спасибо всем на список рассылки bacula-пользователя-, который помог мне разобраться.

0
ответ дан 8 September 2021 в 13:59

Теги

Похожие вопросы