• 服務支持

    系統更新

    當前位置  >  首頁  >  服務支持  >  系統更新

    更新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

    試用

    服務

    動態

    聯系

    公啊灬啊灬啊灬快灬深用力视频