启动后,我无法挂载加密的 zfs 数据集。池已正确导入并在zpool status
输出中可见。然后我手动加载密钥:zfs load-key -a
- 仍然没有问题。接下来是安装部分。数据集已canmount=on
设置mountpoint=/mnt/ssd
属性。目录 /mnt/ssd 为空,不是 Proxmox 存储。命令zfs mount pool-ssd
无提示失败。数据集未挂载,并通过挂载属性确认zfs mount
。我尝试过:
- 删除 /mnt/ssd 目录
- 出口/进口池
- 将挂载点更改为其他目录 - 这种方法有效,但只适用于下次重启。然后这种情况重复发生,我必须再次更改挂载点。
我完全搞不懂。没有错误,也没有任何其他线索。我尝试在不同的服务器上导入和安装此数据集 - 一个只有 debian 而没有 proxmox 的服务器,它运行正常。然而,安装 proxmox 后,两台机器都出现了同样的问题。
看起来 proxmox 在导入池后正在执行某些操作,并且原始挂载点已损坏。将挂载点更改为不同的目录有效,但重新启动后,另一个目录也损坏了。将其再次更改为第一个目录又有效了 - 因此这种“损坏”不会在重新启动后持续存在。
我该如何调试它?
> zfs --version
zfs-0.8.4-2~bpo10+1
zfs-kmod-0.8.4-pve1
> pveversion
pve-manager/6.2-15/48bd51b6 (running kernel: 5.4.65-1-pve)
答案1
好的,问题是 zfs 和 zfs-kmod 之间的版本不匹配。
我在 debian 上安装了 proxmox,安装方式与本教程所述一致:https://openzfs.github.io/openzfs-docs/获取已启动/Debian/Debian Buster Root on ZFS.html。我最终得到了/etc/apt/preferences.d/90_zfs
文件,它强制从 buster-backports 存储库安装 zfs。
删除此文件并运行后,apt upgrade && apt autoremove
版本不匹配问题得到解决。重启后一切正常!