安装ZFS系统 modprobe失败 且 每次重启ZFS都会掉

What is ZFS?ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

本文在于记录思路历程 和所做的错误尝试 。

硬件环境为 GIGABYTE (Dual10-GigabitEthernet)  2xIntelXeonScaleableGold  10xNVIDIAGTX1080Ti  480GBSSDforboot  8x12TBEnterpriseSATAHDD

软件环境为centos1708 内核是7.4版本 zfsrpm包为el7_5.

我使用的是rpm包来安装zfs文件系统,做raidz1(等于raid1 50%做存储 50%做计算)。命令如下:

rpm -ihv zfs-release.el7_5.noarch.rpm
yum -y install zfs

每次moprobe zfs 会报错

发现可以通过加参数 -f 强制加载上ZFS 但是每次重启机器都会掉

解决方法1:

在/etc/sysconfig/modules加入强制加载的脚本

解决方法2:

更换更新的内核 更新的zfsrpm版本 方法和命令如下:

安装环境改成centos1804 内核为7.5版本 zfsrpm改为el7_6版本。

实验成功 重启机器成功自动加载zfs

错误尝试1:

因为dkms做为管理zfs.ko的工具 最先开始找的就是它。可见:提示编译和安装的环境不一样

这个时候用的还是centos1708 我尝试在未重装系统的情况下 升级内核 安装更新的zfs版本。zfs相关的rpm包和dkms很难卸干净,参考官网文档和论坛后得出以下结果:

dkms的情况变成了这样:

机器能够成功加载zfs 重启没有异常。

但是!!!!!

这个流程在国外的机器上能够走通。在国内的机器上就走不通了。(怀疑是因为国内有墙 yum更新没那么新)

其实这个错误的本质就是 yum的是7.5版本上编译的ko模块,但是现在要装到7.6的系统上(yum 开机的时候会自动update),虽然也升级了内核 但是epel这个repo不是centos的标准库 所以升上去的编译文件用的还是原来的7.5版本,并没有被重新编译。

所以yum install zfs的作用就显示出来了。它下载rpm,编译rpm产生的二进制module ko文件,放到该放的地方,然后顺便运行下modprobe做点额外工作,但是不保证modprobe一定能成功(zfs对centos兼容太差),所以才需要我们手动去probe和加载ko文件。

所以 通过以上思考 想要根本上解决这个问题 需要更换装机镜像 并且更换更新的zfsrpm包。

为了解决这个问题 得到了以下的人和资料的帮助 谢谢:

http://open-zfs.org/wiki/Main_Page

晓东哥(俺师傅)

CSDN的其他博文 具体的刚刚网页崩溃了 找不到了(开得窗口太多...)
 

猜你喜欢

转载自blog.csdn.net/Catsoup/article/details/85112539
zfs