首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bacula -磁盘备份GFS-方案“孔”

Bacula -磁盘备份GFS-方案“孔”
EN

Server Fault用户
提问于 2021-09-03 20:39:38
回答 1查看 121关注 0票数 0

关于在硬盘上使用bacula实现GFS-方案,我有一个问题(执政官已经很好地工作了)。

我想要完成的事情:

每半年,我想要一个可以访问至少12个月的完整备份,->,我需要将备份保持在比第二个完整备份不覆盖第一个备份的时间稍长一点。这意味着至少有3个完整的备份(我已经选择了18个月)。这种情况持续了好几天,几个月,等等。简单的GFS方案。

代码语言:javascript
复制
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 days之后被删除,但是每月的文件仍然引用它们。所以会有个“洞”?

我想,如果有可能有多个“级别”的增量备份,比如我可以说,每周增量备份只引用每周备份(Level0)和每日增量备份(Level1),那么问题就没有了。同样的问题会发生,当我保持充分的备份,以缩短时间。例如,如果完全备份覆盖了唯一的现有备份,那么就不会留下差异备份可以引用的完整备份,而我将丢失我所做的所有备份。

我发现了什么:

我环顾互联网,发现了一个“文件”中的一章:它说:“现在,由于每种不同类型的储蓄都需要在不同的时间段内保持有效,最简单的方法(可能也是唯一的)就是为每种备份类型创建一个单独的池。”

我的问题:

  1. 这基本上意味着,在巴库拉文档的章节中,除了单一的完整池、差异池和暗示池之外,没有其他解决方案。这是正确的吗?
  2. 如果这是不正确的,我如何通过两个不同的增量池实现我的目标?

我还读过一些关于巴库拉文档中的基本工作的文章,这不是正确的事情,而是朝着正确的方向发展。

非常感谢您的时间,并帮助阅读了那么多。

我不是以英语为母语的人,如果我犯了错,我很抱歉。如果有什么事情真的让你生气的话,我想听听你的意见,以提高我的英语水平。

谢谢。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-09-08 13:59:48

到目前为止,我已经在杆菌用户邮件列表的帮助下解决了这一问题。对于单个作业,不可能有效地拥有多个增量池。我已经把我的设置改为:

代码语言:javascript
复制
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/

再一次,非常感谢在杆菌-用户邮件列表上的每一个人,他们帮助我弄清楚了这一点。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1076579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档