我有一个 zfs 池,其中包含多个 zvol 和数据集,其中一些还嵌套。zfs-auto-snapshot 定期对所有数据集和 zvol 进行快照。所有数据集和 zvol 也有一些手动创建的快照。
我已经设置了一个远程池,由于时间不够,通过 zfs send -R 在本地高速网络上的初始复制没有完成(一些数据集丢失,一些数据集已经过时或缺少快照)。
现在池通过慢速连接在物理上是远程的,我需要定期将远程池与本地池同步,这意味着必须将本地池中存在的数据复制到远程池,必须从远程池中删除本地池中的数据,并且存在于远程池中但不在本地池中的数据必须从远程池中删除,数据表示“zvols”、“数据集”或“快照”。
如果我使用 rsync 在两个常规文件系统之间执行此操作,它将是“-axPHAX --delete”(这就是我实际为备份某些系统所做的操作)。
如何设置同步任务,以便远程池 zvol 和数据集(包括它们的快照)可以与本地 zvol、数据集和快照同步?
我想避免通过 ssh 传输,因为 ssh 的吞吐量性能较低;我更喜欢 mbuffer 或 iscsi 。
我在 Linux 上使用 ZFS,并尝试设置远程复制。但是我的 ssh 连接不好,并且 zfs 通过 ssh 发送/接收再次重新启动。我知道 ZoL 上存在问题,但我不知道它何时会实施,或者新的稳定版本即将发布。我听说过 mbuffer,但似乎无法重新启动。也许可以像 zfs send 一样使用它 | 缓冲区 | 虽然是真的;做 ssh ...; 完成,但不确定。
现在我正在将 zfs 发送到一个文件,将它与 --append --partial 同步到远程和恢复。但它占用空间,需要人工帮助,并且是一个肮脏的解决方案。我想要一些自动化的解决方案,比如 sanoid/syncoid,来保存我的池的镜像和所有快照。也许一些 bash 脚本做同样的事情,但将所有快照保存在远程,在成功同步后删除主机上的文件等。请帮忙
PS我知道有一个重复的问题,但没有任何解决方案。在我的问题中,我使用了一些肮脏的解决方案,并想更换或改进它
是否可以通过网络实时复制 ZFS 或 Btrfs raid 卷(或尽可能接近地复制,网络规格除外)?
ZFF 和 Btrfs 因其 CoW 特性而成为理想选择。
我正在考虑类似于 DRBD 的东西,但 DRBD 不起作用,因为它需要单个块设备,并且我们排除了将每个磁盘导出为 DRBD 设备的选项,因为这会变得混乱。
我不想使用发送/接收,因为即使编写了脚本,它们也会太慢。
理想情况下,我想要一些相对简单的东西,以避免不必要的复杂性。
我正在寻找一种支持定期快照的非实时复制解决方案。
这是我目前的情况:
我想要实现的:
我最初的计划是在 ZFS-on-Linux (ZoL) 文件系统上实现 Axigen 的数据存储,并定期将快照传送(增量)到 Slave。然而,我在大量 I/O 期间被 ZoL 的不稳定所困扰,我经历了几次CPU Soft Lockup事件。ZoL 讨论组建议我减小 ARC 缓存的大小,但这当然会影响性能,因此我在 Master 上恢复为 ext4 支持的存储。(不过,可能仍然在 Slave 上实现 ZFS)。
我正在考虑几种选择:
csync2重新配置 Master,使数据存储位于 LVM 支持的存储上,并定期创建 LVM 快照以使用或同步到 Slave rsnapshot(并在成功同步后删除 LVM 快照)。在从属端,每次成功同步后,执行 ZFS 快照以维护所需数量的快照和每日快照。
在主/从配置中实施 …
我一直通过 并将服务器 A 中的 ZFS 池备份到服务器 B(备份服务器)zfs send/recv,并使用每日增量快照。
服务器 B 充当备份服务器,分别为服务器 A 和服务器 C 保留 2 个池 (zfs41和zfs49/tank)
由于硬件问题,服务器 A 中的 ZFS 池现已消失 - 我想尽快恢复/恢复它。
目前我的服务器B中的快照列表如下:
NAME USED AVAIL REFER MOUNTPOINT
zfs41@2021Nov301205 14.9G - 3.74T -
zfs41@2021Dec011205 3.87G - 3.74T -
zfs41@2021Dec021205 3.77G - 3.74T -
zfs41@2021Dec031205 0B - 3.74T -
zfs49/tank@2021Nov301705 368G - 3.52T -
zfs49/tank@2021Dec011705 65.2G - 3.52T -
zfs49/tank@2021Dec021705 66.4G - 3.52T -
zfs49/tank@2021Dec031705 0B - 3.52T -
Run Code Online (Sandbox Code Playgroud)
zfs49/tank@2021Dec031705服务器 B …