[Fibre Channle 实战之二] FC Target的创建和使用







基于最近Fibre channel的相关工作,整理了下关于创建和使用target、实现fail-over过程中碰到的问题和解决方法。


0.准备好合适的后端targetcli工具


0.1安装后端工具


主要有两个库要装,rtslibtargetcli,可以参考下面的两种方法进行安装:


python-rtslib.noarch : API for Linux kernel LIO SCSI target


方法一:通过yum安装

yum install python-rtslib.noarch targetcli


yum install python-netifaces-0.10.4-3.el7.x86_64 python-prettytable.noarch

yum install python-configshell.noarch


方法二:用gitgithub上下载支持FBtargetclirtslib版本


git clone  https://github.com/Datera/targetcli

git clone https://github.com/Datera/rtslib


然后分别进入目录,运行:

./setup.py build

/setup.py install

这个过程中,可能遇到依赖的问题,可以尝试通过安装下面的依赖包解决:

yum install python-netifaces-0.10.4-3.el7.x86_64 python-prettytable.noarch

yum install python-configshell.noarch



0.2检查配置文件

需要确保当前targetcli至少支持iscsi,要求/var/target/fabric至少有iscsi.specqla2xxx.spec

[root@localhost fabric]# pwd

/var/target/fabric

You have new mail in /var/spool/mail/root

[root@localhost fabric]# ls

ib_srpt.spec iscsi.spec  loopback.spec  qla2xxx.spec  tcm_fc.spec usb_gadget.spec  vhost.spec


此外,为了让后端存储设备通过Fibre channel建立target的时候能够自动找到WWN,需要确保qla2xxx.spec里面文件里能自动过滤得到HBAWWN,这是通过修改:

wwn_from_files_filter = "sed -e s/0x// -e 's/../&:/g' -e s/:$//" 实现的。


[root@localhost fabric]# cat qla2xxx.spec

# The qla2xxx fabric module uses the default feature set.

features = acls


# Non-standard module naming scheme

kernel_module = tcm_qla2xxx


# The module uses hardware addresses from there

wwn_from_files = /sys/class/fc_host/host*/port_name


# Transform '0x1234567812345678' WWN notation to '12:34:56:78:12:34:56:78'

wwn_from_files_filter = "sed -e s/0x// -e 's/../&:/g' -e s/:$//"


# The configfs group is default

# configfs_group = qla2xxx



1.实现通过Fibre Channel导出后端存储设备的脚本

可以参考笔者的一个简单实现:

[root@localhost myfc]# cat create_fc_volume.sh

#!/bin/bash


fc_target_name="naa.2100000e1e1b0190"


## initiator wwn can be get by following command""

#cat /sys/class/fc_host/host*/port_name | sed -e s/0x// -e 's/../&:/g' -e s/:$//


acl_host0="21:00:00:0e:1e:c2:3e:a0"

acl_host1="21:00:00:0e:1e:c2:3e:a1"


# step 1: create back-end storage

targetcli /backstores/block create my_lun0 /dev/md1287

targetcli /backstores/block create my_lun1 /dev/md0


# step 2: create target

targetcli /qla2xxx create 21:00:00:0e:1e:1b:01:90

#targetcli /qla2xxx create 21:00:00:0e:1e:1b:01:91


# step 3: export the back-end storage

targetcli /qla2xxx/${fc_target_name}/luns create /backstores/block/my_lun0

targetcli /qla2xxx/${fc_target_name}/luns create /backstores/block/my_lun1


# step 3: set ACL controlling list

targetcli /qla2xxx/${fc_target_name}/acls create ${acl_host0}

targetcli /qla2xxx/${fc_target_name}/acls create ${acl_host1}


# step 4: save configration

targetcli saveconfig myfc_lun.lio


运行上面的脚本,成功之后用targetcli可以看到后端存储target已经建立起来了:


wKioL1kgBxWi7GNWAAFaoYRk05c988.jpg


2.发现并连接FC Target


在上面ACL列出的WWN所对应的HBA卡的host的操作系统上, 运行下面的命令:

echo 1 > /sys/class/fc_host/hostX/issue_lip 就能自动发现并连接上后端存储设备,此时会发现host /dev下面多了

一块设备,可以通过host上的vdbench对它进行简单性能测试:



wKioL1kgB3XijKE9AACtdl29Uek836.jpg


可以看到,上面的带宽确实很快。

























本文转自存储之厨51CTO博客,原文链接: http://blog.51cto.com/xiamachao/1927791,如需转载请自行联系原作者




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值