我从事生物信息学工作,我们存储了大量永远不会改变的非常大的文件 - 植物基因组、基因组读数等。我们不断收到这种类型的新数据,因此我们的备份大小正在激增。
我认为,一直备份这些大文件是没有意义的,备份三到五次就足够了。是否有类似“状态”备份的东西,可以存储已经“安全”的文件(已经在 5 个磁带左右,可能使用文件哈希),然后只备份其余文件?
我已经在 Google 上搜索过了,但一无所获。
谢谢!
答案1
通常,这个问题可以通过增量备份(备份自上次备份以来的所有文件)或差异备份(自上次完整备份以来的所有文件)来解决。Gnu Tar 手册(第 5.2 和 5.3 节)简要讨论了这些类型的备份。但是,这并不能解决您想要每个文件最少数量的副本的问题。
另一种选择是,如果您想在每次备份时获得系统的精确快照,但仍要节省空间,则使用 rsync 快照备份(在 Google 上搜索 rsync 快照,有几篇文章和工具可以实现这一点)。基本上,这使用 rsync 将副本复制到远程系统(或外部驱动器),并使用硬链接指向每次备份之间不会更改的文件,以节省空间。要获得多个副本,您需要将备份驱动器 rsync 到另一个备份驱动器。
但是,如果你想要把这一切都记录在磁带上,我唯一知道的就是 Tivoli 等商业备份工具。你可以考虑 Bacula,我认为它也支持保留最少数量的副本,但我还没有用过。
即将推出的备份工具是我自己一直在开发的。我需要整理更多文档并清理代码,然后才能将其发布到 github,但基本上它可以进行快照式增量永久备份,通过 MD5 哈希跟踪文件,并存储系统在每次备份时的快照目录。此外,作为副作用,在将多个主机备份到单个备份服务器时,它还会执行文件级重复数据删除。如果您有兴趣,我会在稍后回来并在上传此工具的初始版本后更新此帖子(假设推广您自己的项目不违反政策 - 如果违反,我深表歉意)。
答案2
一些变体增量备份可以解决这个问题。或者,您可以定期将包含静态数据的存档磁带放在一边,以减少每日备份负载。
答案3
根据获取文件的日期来存储导入的文件。将它们硬链接到需要使用的布局中。备份最近 5-7 天的目录。
答案4
将数据存储在不同的地方并采用不同的备份策略。我曾在一家大型公司工作过,甚至在那里,这也是针对 PB 级数据的设置。
就像是:
/master
几乎不可更改的文件。一些用户通常会上传大文件到那里。每月备份一次;/data
对于所有其他文件。有/master
文件链接。这是每晚备份的。