我有一个 zfs 池,其中包含多个 zvol 和数据集,其中一些还嵌套。zfs-auto-snapshot 定期对所有数据集和 zvol 进行快照。所有数据集和 zvol 也有一些手动创建的快照。
我已经设置了一个远程池,由于时间不够,通过 zfs send -R 在本地高速网络上的初始复制没有完成(一些数据集丢失,一些数据集已经过时或缺少快照)。
现在池通过慢速连接在物理上是远程的,我需要定期将远程池与本地池同步,这意味着必须将本地池中存在的数据复制到远程池,必须从远程池中删除本地池中的数据,并且存在于远程池中但不在本地池中的数据必须从远程池中删除,数据表示“zvols”、“数据集”或“快照”。
如果我使用 rsync 在两个常规文件系统之间执行此操作,它将是“-axPHAX --delete”(这就是我实际为备份某些系统所做的操作)。
如何设置同步任务,以便远程池 zvol 和数据集(包括它们的快照)可以与本地 zvol、数据集和快照同步?
我想避免通过 ssh 传输,因为 ssh 的吞吐量性能较低;我更喜欢 mbuffer 或 iscsi 。