Centos7升级内核后无法启动解决办法:mpt[23]sas驱动问题

[复制链接] |主动推送
查看53 | 回复0 | 2024-9-11 18:32:57 | 显示全部楼层 |阅读模式
entOS 7.* 从内核 3.10.0 升级到 5.*.*后,重启不了,原因是 Linux 内核 4.4.x 版本之后,dracut 命令生成的 initramfs 默认不会自动加载 mpt3sas 驱动模块。因为没有对应的驱动程序,所以识别不了系统盘
1. 查询3.10.0 initramfs的驱动
[root@localhost ~]# lsinitrd -k 3.10.0-957.el7.x86_64 | grep mpt[23]sas(3.10.0-957.el7.x86_64对应相应的内核目录 )drwxr-xr-x 2 root root 0 Nov 12 19:24 usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/scsi/mpt3sas-rw-r--r-- 1 root root 92972 Nov 9 2018 usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/scsi/mpt3sas/mpt2sas.ko.xz[root@localhost ~]#
可以看到在3.10内核的时候是mpt2sas驱动,可以在5.x内核中看到,新版的内核已经把mpt2sas升级为mpt3sas
[root@localhost ~]# ls /usr/lib/modules/5.3.6-1.el7.elrepo.x86_64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko /usr/lib/modules/5.3.6-1.el7.elrepo.x86_64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko[root@localhost ~]#

查询5.3.6 initramfs的驱动, 可以看到并没有输出,说明initramfs并没有把这个驱动打进去
[root@localhost ~]# lsinitrd -k 5.3.6-1.el7.elrepo.x86_64 | grep mpt[23]sas(5.3.6-1.el7.elrepo.x86_64对应相应的内核目录)
2. 两种解决方法:
方法1:
1). 修改 /etc/dracut.conf文件,增加字段
sed -i '/#add_drivers+=""/aadd_drivers+="mpt3sas"' /etc/dracut.conf(直接输入命令)

2)重新生成initramfs
cd /boot/mv initramfs-5.3.6-1.el7.elrepo.x86_64.img{,.bak}(备份原先启动文件 可跳过)dracut -f /boot/initramfs-5.3.6-1.el7.elrepo.x86_64.img 5.3.6-1.el7.elrepo.x86_64(5.3.6-1.el7.elrepo.x86_64对应相应的内核目录)
方法2:
强制加载驱动
dracut --force --add-drivers mpt3sas --kver=5.3.6
以上方法二选一做下驱动的集成,然后做下面的检查
lsinitrd -k 5.3.6-1.el7.elrepo.x86_64 | grep mpt[23]sas(5.3.6-1.el7.elrepo.x86_64对应相应的内核目录)
如果有输出就是正常了的, 然后重启操作系统即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则