ZFS 快照 + S3 是否是适用于多个虚拟机和通用文件服务器存储的可行备份系统?

ZFS 快照 + S3 是否是适用于多个虚拟机和通用文件服务器存储的可行备份系统?

我的任务是为我的小型办公室(大约 12 人)设置备份系统。我们的大多数生产资料都在 AWS 云上,所以我需要备份一些小型办公室/开发文件(目前不到 100G),以及我们的运营虚拟机和开发文件,总计不到 1T。

我只需要可靠、方便和直接的东西。我熟悉 Linux、FreeBSD 和某种程度上的 Solaris 10,所以我倾向于使用完整的服务器,而不是像 Openfiler 或 FreeNAS 这样的设备系统。

我正在考虑使用一个小型文件服务器来存储虚拟机的常规数据,并每晚进行备份,然后将其备份到 Amazon 的 S3 存储服务。这将是通常的每晚增量备份和每周完整备份。

我的问题是,使用 ZFS 快照(本地和通过“zfs send [-i]”转储到 S3)是否是一种可行的备份工具?还是我应该坚持使用 Duplicity 或完全使用其他方法?

内部文件服务器/备份机上的 ZFS 快照听起来像是提供快速便捷数据恢复的完美方式,因此我可能会选择这种方式来实现本地冗余。(如果你们发现依赖 ZFS 快照的情况比更传统的归档备份更糟糕,请随意说服我。)但是快照是否足够灵活,可以依靠它从备份服务器丢失中恢复?或者我最好使用更传统的方法?(请随意推荐您喜欢的免费或商业备份解决方案。)

答案1

请记住,除非您在快照其虚拟硬盘所在的 ZFS 文件系统之前使虚拟机处于静止状态,否则您实际上将备份崩溃的系统。此外,为了恢复驻留在 ZFS 快照上的单个文件,您需要将整个快照加载到某个地方,假设最坏的情况是必须提取已从远程存储中检索到的快照。

虽然 ZFS 和快照非常适合“哦,发生了一些非常糟糕的事情,我需要文件系统恢复到一小时前、一周前的状态”,但它们实际上并不是传统意义上的备份解决方案。我曾将 ZFS 和快照与其他备份软件(如 bacula (www.bacula.org))结合使用,效果很好。能够通过 zfs 将文件系统的快照发送到备份服务器,然后将其假脱机到磁带,而不会影响生产系统 I/O,这非常方便。

答案2

我认为这是可能的。

考虑一下 OpenFiler/FreeNas 和成熟的 Solaris 之间的中间点。免费或商业NexentaStor是一个很好的设备解决方案,或者你可以使用基本系统(免费)Nexenta 核心如果您更喜欢将服务器用于存储以外的用途。如果您选择设备路线,您将能够按照您想要的任何间隔(每 x 分钟、几小时、几天等)安排快照,并且复制相当干净。您可以利用 rsync(或 rsync + ssh)或 zfs send/receive + netcat 或 ssh 发送到本地存储或远程存储。如果您使用基于 rsync 的复制,您的目标不必是 ZFS 文件系统。因此,这使其成为您的应用程序的简单选择。

任何最新 ZFS 解决方案的另一个优势是,如果您的存储系统在 RAM 和 CPU 方面配置得足够好,则可以使用压缩和/或重复数据删除。这对于某些类型的虚拟机非常有效,并且对用户来说非常透明。

如果我正在规划您的备份解决方案,我会确保将本地快照按小时汇总到每日/每周/每月快照,并提供将每日快照发送到第二个本地系统或远程系统的规定。我仍然会在特定虚拟机中使用基于代理的备份来增强这一点(例如,BackupExec 转储到专用备份服务器 + 磁带驱动器或将最重要的数据 rsync 到另一个位置)。有了备份,您需要恢复的选项和灵活性。

另请参阅以下内容:

VMware NAS/iSCSI 建议 - 小型组织

Sun ZFS 有恐怖故事吗?

http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking

相关内容