我正在寻找一种方法来实现接近以下备份scheme的东西:
这可以使用LVM(或其他方式)来实现吗? 它需要跟踪自上次备份以来哪些块已变脏,我不确定LVM能做什么…我宁愿避免在LVM快照上始终运行的永久性性能成本。
现场的新手是阁楼https://attic-backup.org/
我们使用rdiff备份几年作为我们的主要备份方法。 它做的很好,但是在一年的时间里创build了数十万个小文件。 大多数的文件系统和磁盘都要努力处理一百多万个文件。 备份我们90GB基于Maildir的IMAP商店需要几个小时。 我不得不不断地降低历史数据。
相比之下,一旦我们切换到阁楼,每晚备份只需要15-20分钟。 这意味着保留一年的增量备份让您可以回到过去一年的任何一天。
把我吸引到阁楼的主要特点:
使用6-9个月后,我相信它和rdiff-backup一样稳定。 我仍然使用可移动媒体来制作多个Attic目录副本,但每个可移动媒体都有一个完整的Attic存储库副本。
LVM快照的替代方法是使用数据块驱动程序 (又名dattobd )。
从dattobd GitHub页面 :
数据块驱动程序(dattobd)解决了上述问题,并在Windows上为各种Linux内核提供了与VSS类似的function。 Dattobd是用于时间点实时快照的开源Linux内核模块。 可以将Dattobd加载到正在运行的Linux计算机上(无需重新启动),并在创build快照时代表任何块设备的原始卷上创build一个COW文件。 在第一次快照之后,驱动程序跟踪对块设备的增量更改,因此可以通过仅复制已更改的块来有效地更新现有备份。 Dattobd是一个真正的实时快照系统,可以让您的根卷运行并可用,而无需重新启动。
我试了一下,它在ext4 fs上按预期工作。 wiki中也有一个工作示例(带脚本)。
最后,请注意, UrBackup在Linux上使用LVM或dattobd内置了对快照备份的支持。
Rsync / Rsnapshot对于这类工作来说是更好的工具,特别是考虑到它们会给你一个“实时”快照目录,其中不一致性最多只限于某个文件,但是它们不能降低整个备份的效率。 而且,使用硬链接,您可以进行增量备份,而不会造成不便。
我在生产系统中使用了这个解决scheme,拥有数百万个文件和数十个快照,非常满意。