Debian升级内核后导致ZFS不能使用的问题

今天想起来很久没有更新系统了,就随手apt upgrade了一下,结果重启以后ZFS盘找不到了。

登上去一看,modprobe zfs失败,说模块找不到:

modprobe: FATAL: Module zfs not found in directory /lib/modules/4.19.0-16-amd64

找了一下,原来用的是4.19.0-9-amd64的版本,看来是内核升级导致的问题了。

放狗搜了一圈,说是需要更新dkms模块,但是运行dkms status又出错:

Error! Could not locate dkms.conf file.
File: /var/lib/dmks/amdgpu ...

因为我的服务器是AMD的处理器,集成显卡,所以应该是这个驱动有问题导致dkms整个无法加载。

又参考了别人的建议更新amdgpu:

dpkg-reconfigure amdgpu

但并不行,没有这个东西。只好手工删除/var/lib/dkms/amdgpu再执行:

dkms status
dkms autoinstall

这回终于成功把新版本的几个dkms模块编译安装上:

aufs
spl
zfs

可以删除旧版的模块:

dkms remove aufs/xxx -k 4.19.0-9-amd64

现在再重新加载ZFS:

modprobe zfs
zpool import ztank
# 如果有路径自动mount失败,则需要先把相关路径删除再手工mount:
zfs mount

因为之前ZFS没加载,导致某些服务执行失败(比如docker),这时运行:

systemctl status

会报系统degraded,这时需要重置一下状态:

systemctl reset-failed

必要时重启相关服务。

至此,系统完全恢复。

推送到[go4pro.org]