创建 ZFS 卷的备份

创建 ZFS 卷的备份

我无法创建现有 ZFS 卷和快照的副本。对于我的其他卷,我每晚通过 zfs send/zfs accept 同步备份,一切正常。

话虽如此,我认为创建现有卷的副本的过程基本上是:

zfs send -vR zfs_volume_name@snapshot_name | ssh -x backup_server sudo zfs receive zfs_backup_volume_name

然而,当我这样做时,我得到:

cannot receive new filesystem stream: invalid backup stream

当我启动同步命令时,它看起来似乎可以正常工作。它开始显示要发送的每个快照的预期大小,但随后它很快就因上述错误而死机。

如果有什么意义的话,我这样做是因为我的一个备份卷很长时间没有同步,而且我缺少一些增量快照,所以没有共同点。我用发现问题的日期重命名了现有卷,并打算从新的主卷创建新卷。一旦我启动并运行新的备份卷,我就会删除旧的。

我相信我的增量和这之间的唯一区别是我发送-I 发送增量,所以我希望这对完整备份有用。

如果我只是将备份流发送到文件,它就可以正常工作。我在源和目标上都使用了相同版本的 ZFS,尽管内核较新。我怀疑池是不同的版本,当我执行 zpool get version 时,版本号都不会显示。

答案1

根据特定的 ZFS 版本,这可能是由于dnodesize 不匹配

请更新两个 ZFS 盒并重试。

答案2

我认为问题是由于使用较旧的操作系统造成的(尽管安装的 ZFS 版本相同)。我现在在两个机器上使用相同的操作系统版本 (dd if=current_root of=usb_device),并且能够按预期同步。

相关内容