服务器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如下图
存放port name的缓冲区被其它代码逻辑污染了。两台机器形成链路时,某些函数会去擅自使用port name的缓冲区,会引起port name的缓冲区的内容发生变化。这个bug出现的条件是,两台机器形成链路时,这时候port name会出现不正确的现象,而在这个时间点之前port name是正确的。
即服务器qlogic光纤卡建立链接时WWPN污染的问题,这个问题是linux社区内核迭代过程中引入的,如社区4.19系列版本就存在这个问题,目前麒麟内核4.19.90-23.16.v2101和社区均已修复这个问题。
需要安装以下必要内核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*
安装完后,需要重启机器生效。