我在 Ubuntu 下有一个长期运行的 ZFS 池,它已经经历了多次升级。从 Ubuntu 20 升级到 22 后,加密的文件系统拒绝挂载,但其余的似乎都正常。 在加密文件系统的根部zpool status -v
报告永久错误ZFS-8000-8A 。我注意到 zfsutils-linux 的软件包版本从 0.8.3 到 2.1.5 有一个很大的跳跃。
该池仍然可以导入到 Ubuntu 20 系统,并且加密的文件系统仍然可以安装在那里。看起来还不错。更重要的是,我可以zfs send
在 Ubuntu 20 和zfs receive
Ubuntu 22 上进行操作,并取得了明显的成功。
如果我将zfs send
整个池(或部分操作)从 Ubuntu 20 (ZFS 0.8.3) 升级到 Ubuntu 22 (ZFS 2.1.5) 并且操作成功,我是否会创建一个没有升级问题的池?也就是说,接收操作是否会构建一个与 ZFS 完全同步的池?或者链接是否会出现兼容性问题?
我对 zfs 发送/接收操作的级别了解不够,无法确保在 Ubuntu 22 下不会出现进一步的损坏。
如果有必要,我很乐意重新加密加密的文件系统,而不是发送原始文件。一切都将在本地发生。在本例中,Ubuntu 20 在连接了磁盘设备的 LXD VM 中运行,并且发送/接收管道不跨越任何网络。
请注意,我知道废弃整个池并从备份中恢复它的建议。我正在尝试恢复而不必诉诸于此,因为我似乎能够读取池。
所有磁盘都通过了长时间的 SMART 测试,并且在 Ubuntu 20 下清理池没有显示任何错误。
我很高兴被告知(带有引用)该错误仅限于加密文件系统,我可以替换它们并继续,而无需重建整个池,但我对 ZFS 内部结构了解不够,无法确定那。我很想知道如何找到答案。