iSCSI

iSCSI

 

iSCSI(Internet Small Computer System Interface)技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。



iSCSI和iSCSI/FC的对比:


左图是基于系统的iSCSI,也就是没有使用到HBA卡的情况,iSCSI的处理由主机cpu来完成,网卡只做基于tcp/ip通信的用处,我们等下做的就是这种。而右图是服务器上连接到IP存储设备使用HBA(Host Bus Adaptor)卡,HBA卡是一个在服务器和存储设备之间提供输入/输出处理和物理连接的适配器,通俗点讲也就是iSCSI网卡,HBA减轻了主处理器在数据存储和检索任务的负担,所以它能够提高服务器的性能。下图为PCI双口iSCSI-FC

 

 

 

iSCSI分为target端和initiator端,target端导出块设备给initiator端来访问,target的命名规则如下:

iqn.<yyyy-mm>.<tld.domain.some.host>[:<identifier>]

例:iqn.2007-01.com.example.sswans:disk1

 

我们使用两台机器来完成,在机器1(ip:192.168.0.3)上安装target端需要的包scsi-target-utils

[root@sSWans ~]# tgtadm -L iscsi -m target -o new -t 1 -T iqn.2010-10.com.sswans:disk1

[root@sSWans ~]# tgtadm -L iscsi -m logicalunit -o new -t 1 -l 1 -b /dev/sda5      

[root@sSWans ~]# tgtadm -L iscsi -m logicalunit -o new -t 1 -l 2 -b /dev/sda6

[root@sSWans ~]# tgtadm -L iscsi -m target -o bind -I ALL 设置ACL信息,ALL表示所有的ip,当然也可以写单个ip或者网段

-L = --lld   -m = --mode  -o = --op  -t = --tid  -T = --targetname  -l = --lun  -b = --backing-store  -I = --initiator-address

做好之后查看到target信息如下:

[root@sSWans ~]# tgt-admin -s

Target 1: iqn.2010-10.com.sswans:disk1

    System information:

        Driver: iscsi

        State: ready

    I_T nexus information:

    LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET     00010000

            SCSI SN: beaf10

            Size: 0 MB

            Online: Yes

            Removable media: No

            Backing store type: rdwr

            Backing store path: None

        LUN: 1

            Type: disk

            SCSI ID: IET     00010001

            SCSI SN: beaf11

            Size: 1081 MB

            Online: Yes

            Removable media: No

            Backing store type: rdwr

            Backing store path: /dev/sda5

        LUN: 2

            Type: disk

            SCSI ID: IET     00010002

            SCSI SN: beaf12

            Size: 16 MB

            Online: Yes

            Removable media: No

            Backing store type: rdwr

            Backing store path: /dev/sda6

    Account information:

    ACL information:

        ALL

为了让机器重启后,tgt能自动启动,需要chkconfig tgtd on,并且执行如下操作保存刚才的target端配置

[root@sSWans ~]# tgt-admin -dump > /etc/tgt/targets.conf

 

在机器2(ip:192.168.0.2)上安装好initiator端需要的包iscsi-initiator-utils

initiator端访问target端会在本机存储一个database,有两个表,路径在/var/lib/iscsi/下面的sendtargets和nodes。等连上了target端后,看看这两目录下的文件,你能发现更多可以让你的思路更清晰的信息。

[root@desktop ~]# iscsiadm -m discovery -t st -p 192.168.0.3

[root@desktop ~]# iscsiadm -m discoverydb -t st -p 192.168.0.3

[root@desktop ~]# iscsiadm -m node -l

[root@desktop ~]# iscsiadm -m session -P 3

 

CHAP认证

CHAP Initiator Authentication

单向挑战认证,target端配置用户名和密码作为认证的凭据,initiator端使用target端设置用户名和密码来进行连接

[root@sSWans ~]# tgtadm -L iscsi -m account -o new -u sswans -p redhat

[root@sSWans ~]# tgtadm -L iscsi -m account -o bind -t 1 -u sswans

-u = --user   -p --password

[root@desktop ~]# vim /etc/iscsi/iscsid.conf

node.session.auth.authmethod = CHAP

node.session.auth.username = sswans

node.session.auth.password = redhat

因为之前没有基于chap认证时连接过target端,所以要先清除掉/var/lib/iscsi/下的send_targets和nodes目录里的数据。

CHAP Target Authentication

[root@sSWans ~]# tgtadm -L iscsi -m account -o new -u abc -p 123

[root@sSWans ~]# tgtadm -L iscsi -m account -o bind -t 1 -u abc --outgoing

[root@desktop ~]# vim /etc/iscsi/iscsid.conf

node.session.auth.username_in = abc

node.session.auth.password_in = 123

 

 

 

windows下也可以使用iscsi客户端Microsoft iSCSI Initiator来连接target

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值