![创建 ZFS 卷的备份](https://linux22.com/image/744125/%E5%88%9B%E5%BB%BA%20ZFS%20%E5%8D%B7%E7%9A%84%E5%A4%87%E4%BB%BD.png)
我无法创建现有 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),并且能够按预期同步。