服務器1:target端
OS:內(nèi)核19.0及以上,準備該OS的鏡像光盤(用于安裝targetcli或依賴包,一般系統(tǒng)默認已安裝)。
服務器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驅(qū)動:客戶端如果沒有默認加載,也需要加載
#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 //創(chuàng)建配置文件
新增:options qla2xxx qlini_mode=”disabled” //重啟后生效
#cat /sys/module/qla2xxx/parameters/qlini_mode
//查看HBA卡模式,應該為disable
如果不是disable,且重啟沒有生效,需要禁用/啟用一下qla2xxx模塊:
#rmmod qla2xxx
//如果有其他模塊占用,可以用lsmod查看占用模塊tcm_qla2xxx
#rmmod tcm_qla2xxx //再執(zhí)行rmmod qla2xxx
#modprobe qla2xxx //重新加載模塊
#modprobe tcm_qla2xxx //重新加載模塊,再查看模式變成disable
1.4設置存儲對象
#targetcli //進入targetcli管理軟件
/> /backstores/fileio create my_fileio /tmp/disk1.img 200M
//創(chuàng)建200M,以虛擬文件方式
或:
/> /backstores/block create name=block_backend dev=/dev/sdb //sdb盤作為共享,和虛擬文件二選一
1.5創(chuàng)建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連接;
測試過程中發(fā)現(xiàn),概率出現(xiàn)在重啟后port name變了,導致兩臺機器不能連通, 異常port name如下圖
存放port name的緩沖區(qū)被其它代碼邏輯污染了。兩臺機器形成鏈路時,某些函數(shù)會去擅自使用port name的緩沖區(qū),會引起port name的緩沖區(qū)的內(nèi)容發(fā)生變化。這個bug出現(xiàn)的條件是,兩臺機器形成鏈路時,這時候port name會出現(xiàn)不正確的現(xiàn)象,而在這個時間點之前port name是正確的。
即服務器qlogic光纖卡建立鏈接時WWPN污染的問題,這個問題是linux社區(qū)內(nèi)核迭代過程中引入的,如社區(qū)4.19系列版本就存在這個問題,目前麒麟內(nèi)核4.19.90-23.16.v2101和社區(qū)均已修復這個問題。
需要安裝以下必要內(nèi)核rpm包升級內(nèi)核到4.19.90-23.16.v2101或者4.19.90-23.16.v2101以上版本。
下面以安裝4.19.90-23.16.v2101內(nèi)核版本為例:
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*
安裝完后,需要重啟機器生效。