服务支持

系统更新

当前位置  >  首页  >  服务支持  >  系统更新

更新ID(KYBA-202201-1014

更新简述:
服务器qlogic光纤卡建立链接时WWPN污染的问题
影响操作系统版本:
银河麒麟高级服务器操作系统V10(SP1) 银河麒麟高级服务器操作系统V10(SP2) 17系列版本内核:17.0及以上版本都存在该问题; 20系列版本内核:20.0及以上版本都存在该问题; 21系列版本内核:21.0及以上版本都存在该问题; 22系列版本内核:22.0及以上版本都存在该问题; 23系列版本内核:23.0~23.15版本都存在该问题,23.16及以上版本解决该问题; 24系列版本内核:24.0及以上版本都存在该问题; 25系列版本内核:25.0~25.6版本都存在该问题,25.7及以上版本解决该问题; 26系列版本内核:26.0及以上版本都存在该问题; 27系列版本内核:27.0及以上版本解决该问题;
更新类型:
问题修复
发布时间:
2021-12-27
更新描述:

详细介绍

1.复现步骤 

服务器1:target端

OS:内核19.0及以上,准备该OS的镜像光盘(用于安装targetcli或依赖包,一般系统默认已安装)。

服务器2:客户端

无要求。

1、服务器1配置:

1.1获取BHA卡物理地址

#cd /sys/class/fc_host

#ls

host0  host1          // 有两个端口

# cat ./host1/port_name     //查看端口1的名称下面1.6用到

0x2101001b3235b031

1.2修改默认tcm_qla2xxx驱动:客户端如果没有默认加载,也需要加载

#vi /etc/rc.d/rc.local

在最后面添加:modprobe tcm_qla2xxx

chmod +x /etc/rc.d/rc.local

1.3设置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.4设置存储对象

#targetcli      //进入targetcli管理软件

/> /backstores/fileio create my_fileio /tmp/disk1.img 200M  

//创建200M,以虚拟文件方式

或:

/> /backstores/block create name=block_backend dev=/dev/sdb   //sdb盘作为共享,和虚拟文件二选一

1.5创建FC target(映射到HBA卡)

#targetcli

/>cd qla2xxx

/qla2xxx>create 21:01:00:1b:32:35:b0:31

/qla2xxx/21:01:00:1b:32:35:b0:31>luns/  create         /backstores/fileio/my_fileio

1.6设置ACLS(将本地共享盘连接到远端HBA卡)

/qla2xxx/21:01:00:1b:32:35:b0:31>acls/ create        21:01:00:1b:32:35:a1:44  //服务器2地址

/qla2xxx/21:01:00:1b:32:35:b0:31>cd ../../   //返回根目录

/>saveconfig         //保存配置

/>ls           //查看配置

1.7 开机默认启动target服务:

#systemctl enable target

#systemctl start target        

2、服务器2配置

2.1 获取BHA卡物理地址

#cd /sys/class/fc_host

# cat ./host1/port_name     //查看端口1的名称上面1.7用到

0x2101001b3235a144

2.2 重启服务器2,查看

    #reboot

    #fdisk –l        //多出一个200M的硬盘,设置成功

注意两台机器都是使用HBA卡的port1连接;

测试过程中发现,概率出现在重启后port name变了,导致两台机器不能连通, 异常port name如下图

undefined


2.原因简述

存放port name的缓冲区被其它代码逻辑污染了。两台机器形成链路时,某些函数会去擅自使用port name的缓冲区,会引起port name的缓冲区的内容发生变化。这个bug出现的条件是,两台机器形成链路时,这时候port name会出现不正确的现象,而在这个时间点之前port name是正确的。

即服务器qlogic光纤卡建立链接时WWPN污染的问题,这个问题是linux社区内核迭代过程中引入的,如社区4.19系列版本就存在这个问题,目前麒麟内核4.19.90-23.16.v2101和社区均已修复这个问题。


3.解决方案/修复/更新方法

需要安装以下必要内核rpm包升级内核到4.19.90-23.16.v2101或者4.19.90-23.16.v2101以上版本。

下面以安装4.19.90-23.16.v2101内核版本为例:

kernel-4.19.90-23.16.v2101.ky10.*.rpm

kernel-core-4.19.90-23.16.v2101.ky10.*.rpm

kernel-devel-4.19.90-23.16.v2101.ky10.*.rpm

kernel-headers-4.19.90-23.16.v2101.ky10.*.rpm

kernel-modules-4.19.90-23.16.v2101.ky10.*.rpm

kernel-modules-extra-4.19.90-23.16.v2101.ky10.*.rpm

kernel-modules-internal-4.19.90-23.16.v2101.ky10.*.rpm

 

通过以下命令进行升级安装:

rpm -ivh kernel-4.19* kernel-core* kernel-modules*

rpm -Uvh kernel-devel* kernel-headers*

 

安装完后,需要重启机器生效。

上一篇: KYBA-202201-1013 下一篇: KYBA-202201-1015

试用

服务

动态

联系