linux-io target介绍,Linux中三种SCSI target的介绍之STGT

Linux target framework(tgt)是为创建、维护SCSI target 驱动(包括iSCSI、FC、SRP等)提供支持。它的关键目标是简洁地集成到scsi-mid层,并且实现大部分应用层空间的tgt。以 Linux 2.6.38 为分界线,此前Linux 中默认的SCSI target是STGT,之后的标准是 Linux-IO Target。

1 架构

46706953

ac1b2cd2777f11155b4189076776375c.png

tgt体系结构中有两个kernel模块:target driver和tgt core,在linux 2.6.38之后,这两个模块已经被移除linux内核。target driver的功能是管理和initiator设备之间的连接,从传输层中取出SCSI命令并交给tgt core。

tgt core是连接target driver和tgt daemon的纽带。

tgt daemon实现了处理SCSI协议命令部分的功能。

Target driver libraries是在用户态实现的访问后端存储的驱动。

Transport libraries是用户态中传输模块的实现。

2 支持的协议和后端存储

目前stgt仅支持iSCSI和iSER,FC和SRP的支持还处于in progress的状态。

后端存储支持FILEIO和BLOCKIO,并且还支持提供库函数访问存储的ceph和GLFS

3 配置和使用

关于tgt的配置,主要包括建立target,为target添加lun,设置访问target的控制策略等。建立target包括两种方法,基于命令方式和基于配置文件方式,其中配置文件为/etc/tgt/targets.conf。首先说明基于命令的方式,这里采用的命令为tgtadm。tgtadm用来监控和修改Linux SCSI 目标器软件的。

3.1 使用tgtadm

1a) 建立一个targettgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2012-01.cn.nayun:test-01

建立target需要提供target ID和名称,在一个网络内,target名称必须是唯一的,主要采用iqn-type格式和eui-type 格式表示,在Linux中主要用iqn-type格式,iqn是Internet限定名(Internet Qualified Name)的简称。iSCSI target命名采用“iqn.yyyy-mm.:标识名”的形式,在上例中,所建立的target名称为iqn.2012-01.cn.nayun:test-01,其中cn.nayun为nayun.cn的反向,采用域名反向的方法主要是为了防止重名。

1b)查看所建立的target信息$ tgtadm --lld iscsi --op show --mode target

1c)向target中添加LUN$ tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb

关于使用tgt搭建一个基于rbd的SCSI target,请参见我的另一篇博文使用tgt搭建一个基于rbd的SCSI target。

1d)设置target的访问控制策略$ tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL  --网内所有Initiator均可访问

$ tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.210      --允许某个IP地址访问

$ tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.0/24     --允许某个网络访问

1e)访问账号操作

建立新帐号$tgtadm --lld iscsi --op new --mode account --user scott --password tiger

显示帐号信息$tgtadm --lld iscsi --op show --mode account

将一个帐号与一个Target绑定(bind)$tgtadm --lld iscsi --op bind --mode account --tid 1 --user scott

3.2 使用配置文件

通过tgtadm命令建立的target相关配置,在关闭机器后将不保存(也可以使用tgt-admin来持久化配置),通过配置文件的方式则可以保存Target相关信息,在系统重启时,tgtd守护进程从配置文件中提取配置信息,根据配置信息建立相应的Target。

Linux SCSI target framework (tgt)使用的配置文件为/etc/tgt/targets.conf,此配置文件采用XML格式保存Target配置信息,将上述通过tgtadm命令建立的Target在配置文件中的表示形式如下:

backing-store /dev/sdb

incominguser scott tiger

initiator-address 192.168.1.0/24

initiator-address 192.168.1.210

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值