3

所以这是一个理论问题和具体问题(临时用例)

  • 两台服务器要相互同步。一个是现场备份,另一个是场外备份。

  • 但是,如果需要,异地应该复制和访问数据(不存储 server1 的存档图像)

  • server1 和 server2 通过 VPN 连接通过 Internet 连接

  • server1 使用 ZFS Raid 10

  • server2 使用 ext4 Raid5(临时设置,将来将被 ZFS 替换,此用例消失)

您能否在 server1 上拍摄 ZFS 快照,将其发送到 server2 并将其解压缩/应用到 raid5 阵列,本质上是通过增量快照复制 server1?

我知道还有其他一些用于复制文件系统的工具,但我想知道我们是否可以在非 zfs fs 中使用快照。(文档让我相信这是不可能的,但我对此知之甚少)

4

1 回答 1

1

是的,有两种理论上的选择。两者都使用异步复制,因此将具有非零RPO(尽管从您的描述来看,这在某种程度上似乎可以接受):

  1. 用于zfs send在源系统上创建一个流,然后使用一些可以理解该流内容并在接收系统上转换为 POSIX 文件系统原语的工具。

  2. 在源系统上拍摄快照,然后使用与 FS 无关的工具从该快照复制内容。

第一个具有性能最高的选项的好处,因为 ZFS 知道其池的哪些部分已更改,并且只需要查看/发送这些部分。但是,我不知道有任何工具可以真正做到这一点。(原型已在 ZFS 开发者黑客马拉松上构建,但此类工具的受众并不多,因此它们从未被制作成生产质量的 AFAIK。)

第二个性能较差,因为它必须检查数据以查看发生了什么变化,但它具有工具存在的好处 - 尽管您可能需要与它进行一些斗争,但您可以使用rsync它。此外,它的 RPO 可能会更高,因为传输数据需要更长的时间。稍微棘手的部分将是:

  • 将其元数据写入源端池的可写部分,因为您正在复制的快照将是只读的。(查看.zfs/要复制的文件系统根目录中的目录,以找到快照的可读副本。)
  • 如果源系统在运行期间死机,则使故障转移目标不具有中间状态rsync。希望您的目标文件管理器能够在开始运行之前进行快照rsync,以便在运行失败时回滚到“最后一个良好状态”。否则,希望您的数据/应用程序可以容忍一些不一致。(或者也许有一个rsync我以前没有使用过的选项。)
于 2018-04-27T16:27:47.300 回答