服务器qlogic光纤卡驱动崩溃的问题
软硬件信息:
机型: 超强K620-M1
处理器:鲲鹏920
内存:512G
整机类型/架构:服务器
系统版本:Kylin-Server-10-SP1-Release-Build04-20200711-arm64
内核版本:4.19.90-17.ky10.aarch64
复现步骤:
服务器通过qlogic HBA卡连接存储服务器,并设置多路径,当进行路径切换的时候,就有可能出现崩溃。
服务器qlogic光纤驱动initor挂载崩溃的问题
软硬件信息:
系统版本:V10-SP1-Release-Build10-20201202
内核版本:4.19.90-21.2.ky10.*
复现步骤:
服务器环境
服务器1:target端
OS: 麒麟V10系统Kylin-Server-10-SP1-Release-Build20-20210518-aarch64.iso
内核:4.19.90-25.2-aarch64-base-version
FC HBA卡:QLogic QLE2560
WWN: 21:00:00:24:ff:1c:0d:b6
服务器2:initiator端
OS: 麒麟V10系统Kylin-Server-10-SP1-Release-Build20-20210518-aarch64.iso
内核:4.19.90-25.2-aarch64-base-version
FC HBA卡:QLogic QLE2560
WWN: 21:00:00:24:ff:1c:2d:fa
(备注:target端和initiator端通过光纤线直连,要求initiator端FC HBA卡的WWN要大于target端FC HBA卡的WWN)
1、服务器1配置:
1.1获取BHA卡物理地址
#cd /sys/class/fc_host
#ls
host9 // 有1个端口
# cat /host9/port_name //查看端口9的名称下面1.4用到
0x21000024ff1c0db6
1.2设置HBA卡位target模式
#vi /etc/modprobe.d/qla2xxx.conf //创建配置文件
新增:options qla2xxx qlini_mode=”disabled” //重启后生效
#cat /sys/module/qla2xxx/parameters/qlini_mode
//查看HBA卡模式,应该为disable
如果不是disable,且重启没有生效,需要禁用/启用一下qla2xxx模块:
#rmmod qla2xxx
//如果有其他模块占用,可以用lsmod查看占用模块tcm_qla2xxx
#rmmod tcm_qla2xxx //再执行rmmod qla2xxx
#modprobe qla2xxx //重新加载模块
#modprobe tcm_qla2xxx
//重新加载模块,再查看模式变成disable
1.3设置存储对象
#targetcli //进入targetcli管理软件
/> /backstores/fileio create my_fileio /tmp/disk1.img 200M
//创建200M
/> /backstores/block create name=block_backend dev=/dev/sdb //sdb盘作为共享
1.4创建FC target(映射到HBA卡)
#targetcli
/>cd qla2xxx
/qla2xxx>create 21:00:00:24:ff:1c:0d:b6 //服务器1地址
/qla2xxx/21:00:00:24:ff:1c:0d:b6>luns/ create /backstores/fileio/my_fileio
1.5设置ACLS(将本地共享盘连接到远端HBA卡)
/qla2xxx/21:00:00:24:ff:1c:0d:b6>acls/ create 21:00:00:24:ff:1c:2d:fa //服务器2地址
/qla2xxx/21:01:00:1b:32:35:b0:31>cd ../../ //返回根目录
/>saveconfig //保存配置
/>ls //查看配置
2、服务器2配置
2.1 获取BHA卡物理地址
#cd /sys/class/fc_host
#ls
host9 // 有1个端口
# cat ./host9/port_name //查看端口9的名称上面1.5用到
0x21:00:00:24:ff:1c:2d:fa
2.2 重启服务器2,查看
#reboot
#fdisk –l //多出一个200M的硬盘,设置成功
3、将服务器1和服务器2分别作为target和initiator端连接;
4、在target端创建存储盘共享到initiator端成功 ;
5、在target端的targetcli中执行如下命令清除配置:
clearconfig confirm=True
saveconfig
6、在initiator端执行如下命令重新扫描:
echo 1 > /sys/class/fc_host/host11/issue_lip
结果:target端服务器死机,使用25.5和27.rc1.test的内核都有复现死机现象
上述qlogic光纤卡的两个问题都是qla2xxx本身驱动问题,通过升级qla2xxx驱动源码到v10.02.00.106-k版本即可解决问题。目前麒麟内核4.19.90-23.17.v2101已修复这个问题。
需要安装以下必要内核rpm包升级内核到4.19.90-23.17.v2101或者4.19.90-23.17.v2101以上版本。
下面以安装4.19.90-23.17.v2101内核版本为例:
kernel-4.19.90-23.17.v2101.ky10.aarch64.rpm
kernel-core-4.19.90-23.17.v2101.ky10.aarch64.rpm
kernel-devel-4.19.90-23.17.v2101.ky10.aarch64.rpm
kernel-headers-4.19.90-23.17.v2101.ky10.aarch64.rpm
kernel-modules-4.19.90-23.17.v2101.ky10.aarch64.rpm
kernel-modules-extra-4.19.90-23.17.v2101.ky10.aarch64.rpm
kernel-modules-internal-4.19.90-23.17.v2101.ky10.aarch64.rpm
通过以下命令进行升级安装:
rpm -ivh kernel-4.19* kernel-core* kernel-modules*
rpm -Uvh kernel-devel* kernel-headers*
安装完后,需要重启机器生效。