运行#yum update zfs并在
Linux系统上重新启动我的CentOS 6 ZFS后,再也无法查看或与zpools交互.
# zpool status no pools available # zpool import zpool: ../../lib/libzfs/libzfs_import.c:356: Assertion `nvlist_lookup_uint64(zhp->zpool_config,ZPOOL_CONFIG_POOL_GUID,&theguid) == 0' Failed. Aborted # dmesg | grep -i spl SPL: Loaded module v0.6.2-1 SPL: using hostid 0x43a4c8a0
这是一个金丝雀系统,所以我并不担心它的内容,但我有其他机器,我最终想要安全升级.我做错了什么,更重要的是我如何才能为重要系统做到这一点?
解决方法
这看起来像……一个错误.实际上,it is a bug.ZFS用户空间已更新,但DKMS未更新内核模块.此断言是由版本不匹配引起的.
您可以通过删除旧内核模块然后重新安装所有内容,通过错误的comment中给出的过程来解决它.
$find /lib/modules/$(uname -r)/extra -name "splat.ko" -or -name "zcommon.ko" -or -name "zpios.ko" -or -name "spl.ko" -or -name "zavl.ko" -or -name "zfs.ko" -or -name "znvpair.ko" -or -name "zunicode.ko" | xargs rm -f $find /lib/modules/$(uname -r)/weak-updates -name "splat.ko" -or -name "zcommon.ko" -or -name "zpios.ko" -or -name "spl.ko" -or -name "zavl.ko" -or -name "zfs.ko" -or -name "znvpair.ko" -or -name "zunicode.ko" | xargs rm -f $yum reinstall zfs-release $yum reinstall $(rpm -qa | egrep "zfs|spl")