我一直在使用 Bacula 进行备份。我实施了该系统,它运行良好!但是,我做的一件事就是将所有内容都放在一个卷下。我决定让它稍微复杂一点,这样增量只会保留一周,然后它会清除并重写该卷中的增量,从而确保空间不会成为问题,因为我们保留了 30 天的增量。
因此,我尝试创建一个名为 DAILY 的卷、一个名为 WEEKLY 的卷和一个名为 MONTHLY 的卷。每日卷是增量卷,每周卷是差量卷,每月卷是完整卷。我们会将每日卷保留 7 天,将每月卷保留 30 天,将完整卷保留一年(因为我们需要这样做!)。
现在,我知道这可以用磁带来完成。问题是我使用磁盘...如果我尝试执行上述操作,它要么 a) 崩溃(如果完整/增量作业在同一计划下)要么 b) 不起作用(它会在每日卷上创建完整备份等)。
有人尝试过吗?或者能告诉我他们是如何设置的吗?我只是不确定为什么会出现这个问题...
Bacula 示例;
泳池
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
}
答案1
为了让 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
)
然后,您可以设置池(或组成卷)的保留期以满足您之前概述的要求。
关于磁盘空间,我发现最好将磁盘备份视为磁带。
我建议您在池资源中定义一个“合理的”最大卷字节数(并更新任何现有卷以反映它),然后创建一堆卷,Bacula 将在“填充”每个卷时自行循环,并根据您设置的任何保留策略进行回收。
在我的例子中,我有 200G 的备份空间,分为 100 个 2GB 文件。
这有几个优点:
备份卷可装入 DVD 中
(因此,如果我需要永久存档它们,我可以直接将它们放入光盘中)异地同步只需要推送发生变化的文件
(小于一个200G的卷)更快的灾难恢复
(如果我需要使用远程存档恢复服务器,我只需要下载其引导程序(.bsr)和恢复它所需的卷。)如果我的硬盘坏了,我希望它只会丢失部分文件。