我已经在 14.04 上运行 ZFS 一年多了,到目前为止一切都运行和更新完美。
今天,apt-get update
我看到内核是 4.4.0-59-generic(从 3.19.0-78-generic 更新而来)。我记得更新期间有很长的延迟,但最后一切似乎都很好。我重启了一下,然后离开家几个小时。现在我重新登录后,发现我的 zfs 池不见了。
因此我运行zfs list
命令并收到消息The ZFS modules are not loaded. Try running ‘/sbin/modprobe zfs’
。因此我尝试,消息相同the ZFS modules are not loaded
。
所以我的问题是:我应该尝试回滚到以前的内核还是应该重新安装 zfs 模块?我不想做出错误的举动,因为我担心我可能会失去 4.5TB 的池。
任何建议将不胜感激。
答案1
显然,Ubuntu 存储库中提供的 ZFS 版本无法与最新内核编译,这对我来说似乎是一个不幸的疏忽。除非 ZFS 更新到版本 0.6.5.8 或补丁被反向移植,否则它无法与此内核兼容,您需要继续启动旧版本。
来源:https://github.com/zfsonlinux/pkg-zfs/issues/219
请注意,您可以编辑 GRUB 配置以保存您上次启动的内核,并始终从该内核启动,除非您另行通知。
编辑:我实际上使用的是 16.04,但我收到了与该错误报告相同的错误,因此大概这个问题影响两个版本。
答案2
我在使用 mintupgrade 从 17.3 -> 18(trusty -> xenial)时遇到了一个问题,在升级过程中,我弄乱的一个包导致升级部分失败,所以当从 3.X 内核升级到 4.4.0-81-generic 时它没有正确地重建所有内容,我花了一段时间才弄清楚为什么 zfspool 的状态为在线并且看起来很好,但没有出现在 df 中并且没有工作,尽管它被安装在仍然存在的位置,我不得不让 dpkg 为 4.4.0 重建它们:
sudo dpkg-reconfigure spl-dkms
sudo dpkg-reconfigure zfs-dkms
sudo zpool import zfspoolname