首页 > 解决方案 > ZFS 在没有指定快照的数据集上发送递归失败

问题描述

我当前的 zfs 池中有一种情况,我不太了解,也无法在测试环境中重现。

我正在尝试将增量和递归快照发送到另一个备份系统。让我们称“来自”快照 x 和“到”快照 y。发送失败,说明某个数据集没有 y 快照。这是正确的,因为数据集是在创建 y 快照之后创建的,所以它既没有 x 也没有 y 快照。

该命令和完整错误(带有替换名称)是:

zfs send -Ri pool1@x pool1@y | zfs receive -F pool2
cannot send pool1@y recursively: snapshot pool1/dataset3@y does not exist 
cannot receive: failed to read from stream

实际上 pool1 和 pool2 具有相同的名称,但在不同的机器上。

我有点希望 zfs 完全跳过这个数据集。我无法在使用以下命令创建的测试环境中重现此问题:

zpool create pool1 sdb
zpool create pool2 sdc
zfs create pool1/dataset1
zfs create pool1/dataset2
zfs snapshot -r pool1@snapshot1
zfs send -R pool1@snapshot1 | zfs receive -F pool2
zfs snapshot -r pool1@snapshot2
zfs create pool1/dataset3
zfs send -Ri pool1@snapshot1 pool1@snapshot2 | zfs receive -F pool2

有谁知道我在这里缺少什么以及我应该如何解决它?

提前致谢。

标签: zfs

解决方案


推荐阅读