目前,我正在运行多个备份服务器来备份其他服务器,例如 b01、b02、..、bn,所有服务器都有自己的 IP,运行自己的 FTP/SSH 服务。但是,我想创建一个界面来存储和检索备份,这样我和客户就可以更轻松地始终连接到同一主机,而实际数据存储在多个后端服务器上,同时还可以提高系统的可扩展性。
我目前正在使用带有快照(和压缩/重复数据删除)的 ZFS 来存储备份,每个备份的服务器在 ZFS 备份服务器上都有自己的卷(20-500G),每天都会拍摄快照以供保留。
是否存在一个程序或技术,用于在传入 FTP / SSH 连接上将另一个(备份)服务器的目录挂载/模拟到“连接服务器”?它应该是可扩展的,如果可能的话是冗余的,但我找不到任何东西。
我也愿意接受其他解决方案并完全改变当前的备份设置,但它有一些要求:
- 快照备份用于保留,仅存储差异
- FTP/SSH(rsync)访问
- 如果可能,请应用一些压缩和/或重复数据删除来节省磁盘空间
- 可扩展至数百 TB
- 表现良好
- 多余的
我一直在探索使用像 Openstack Swift 这样的对象存储的可能性,但快照是不可能的。
因此,我的问题是,我如何实现创建某种具有一个接口的备份集群的目标,以取代现有的独立服务器设置。
答案1
不确定这是否正是您所寻求的,但基本上听起来您正在寻找分布式文件系统。
存在几种这样的产品(从 drbd、through、ceph、lustre 和 gluster 开始。我相信还有更多)。由于 ZFS 现有的基础设施,我建议光泽(另见佐尔) 或者任何允许在其上存在另一个 fs 的分布式 fs。
Lustre 的缺点是它主要针对 hpc 临时数据而设计 - 这意味着高性能、低可靠性存储,因此并未作为备份解决方案进行优化。
Ceph 可能是一个更好的解决方案,可以满足你的需求,但它支持 zfs仍然缺乏
话虽如此 - 我建议研究一下 gluster,它社区支持对于这样的设置,虽然他们的路线是 zfs 之上的 gluster(这意味着快照处于单独的池级别,而不是文件系统命名空间级别)。
对于任何关键任务,我仍然不建议使用 drbd,但是如果您的数据需要进一步备份(例如备份到磁带),那么 zfs 之上/之下的 drbd 也可能是一个可行的解决方案。
zfs 之上的 drbd 可能足够安全,但您仍然会丢失全局命名空间范围的快照。