基于Linux的文件复制:文件级还是块级?

基于Linux的文件复制:文件级还是块级?

我目前正在重新设计我们的备份解决方案,并希望得到一些关于如何执行复制部分的意见。我们有两个站点需要备份,其中一个比另一个大得多。我有两台 Linux 服务器,它们将通过 NFS/iSCSI/SMB 共享其卷(我还没有完全决定使用哪一个)。存储在这些卷上的文件很可能是 VMDK - 因此只是单个大文件 - 其中包含使用 VMWare Data Recovery 或 Veeam 的备份(还没有决定使用哪一个)。

现在到了棘手的部分。我想将这些 VMDK 复制到两台服务器。因此,服务器 A 将拥有自己的 VMDK,服务器 B 将拥有自己的 VMDK。我应该使用类似 Rsync 的东西定期将文件本身复制到另一台服务器,还是最好使用类似 DRBD+GFS2 的东西来复制块级别发生变化的内容,从而为我提供一个主动/主动集群文件系统?请记住,VMDK 不会在两个位置都进行修改。也就是说,服务器 A 永远不会修改主要位于服务器 B 上的 VMDK,反之亦然

如果您需要更多信息,请告诉我,感谢您的任何意见!

答案1

我过去曾使用过几个类似的系统(用于 VM 存储复制,更不用说!)。总的来说,我更喜欢使用计划的 rsyncs 解决方案,因为我们发现 DRBD 设置很棘手且有点脆弱,但这样做的缺点是,如果在 rsyncs 之间发生故障,您将丢失更改。这些文件更改的频率是多少/发生故障时备份必须是多新的?

DRBD 的优势在于块设备会持续更新,这是一个很大的优势,并且允许我们更快地进行 VM 故障转移。但我们确实发现设置(以及在出现问题时进行调试)更加困难。如果您需要这种冗余,我通常会说使用 DRBD,如果您考虑这些更冷/不频繁的备份,则使用 rsync。

(我们还尝试了一些相当疯狂的东西:从两个不同的服务器导出 iSCSI(实际上是 SRP)块设备,并将软件 RAID 应用于服务器#3 上的块设备。但我们没有将其保留足够长的时间来进行大量测试。)

相关内容