iSCSI = internet Small Computer SystemInterface

 iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN存储区域网,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术.

iSCSI存储连接方式

1、以太网卡+initiator软件方式

2、硬件TOE网卡+initiator软件方式

3 iSCSI HBA卡连接方式

ISCSI系统的组成

1、ISCSI系统组成

iSCSI initiator或者iSCSI HBA

  iSCSI target

以太网交换机

一台或者多台服务器

2iSCSItarget

3iSCSIinitiator

Target主机  10.254.1.50

Initiator主机  10.254.1.52

Initiator主机  10.254.1.53

10.254.1.50 配置

我的分区情况共享出去sdb

[root@pankuo iscsi]# fdisk -l

Disk /dev/sda: 21.4 GB,21474836480 bytes

255 heads, 63 sectors/track, 2610cylinders

Units = cylinders of 16065 * 512 =8225280 bytes

 Device Boot      Start         End      Blocks  Id  System

/dev/sda1   *          1         131    1052226   83  Linux

/dev/sda2             132        2043   15358140   83  Linux

/dev/sda3            2044        2301    2072385   82  Linux swap / Solaris

/dev/sda4            2302        2500    1598467+   5  Extended

/dev/sda5            2302       2500     1598436   83 Linux

Disk /dev/sdb: 2147 MB, 2147483648bytes

255 heads, 63 sectors/track, 261cylinders

Units = cylinders of 16065 * 512 =8225280 bytes

 Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1         261    2096451    5  Extended

#tar -xzvf iscsitarget-1.4.20.1.tar.gz

#cd iscsitarget-1.4.20.1

#make

#make install

#vim /etc/iet/ietd.conf

Target iqn.2014-03.com.pankuo:sdb

格式 iqn.yyyy-mm.<reversed domainname>[:identifier]

iqn:表示“iSCSI Qualified Name”,简称iqn

yyyy-mm:表示年份-月份。这里是2001-04

reversed domain name:表示倒过来的域名,这里是com.example

identifier:表示识别代码,这里是storage.disk2.sys1.xyz

Lun 0Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz

#service iscsi-target start

#cat /proc/net/iet/volume

tid:1 name:iqn.2014-03.com.pankuo:sdb

      lun:0 state:0 iotype:fileio iomode:wt blocks:4194304 blocksize:512path:/dev/sdb

10.254.1.52 配置

#rpm –ivh iscsi-initiator-utils-6.2.0.871-0.16.el5.i386.rpm

这里可能会报错让你安装一些软件 sysfsutils-1.2.0-1.i386.rpm

根据提示安装

#service iscsi start

[root@pankuo2 ftp]# iscsiadm -m discovery-t sendtargets -p 10.254.1.50:3260

10.254.1.50:3260,1iqn.2014-03.com.pankuo:sdb

有那些target记录在了数据库中

iscsiadm -m node

查看target存储端配置信息

[root@pankuo2 ftp]#iscsiadm -m discovery -p 10.254.1.50

# BEGIN RECORD2.0-872.13.el5

discovery.startup = manual

discovery.type =sendtargets

discovery.sendtargets.address= 10.254.1.50

discovery.sendtargets.port= 3260

discovery.sendtargets.auth.authmethod= None

discovery.sendtargets.auth.username= <empty>

discovery.sendtargets.auth.password= <empty>

discovery.sendtargets.auth.username_in= <empty>

discovery.sendtargets.auth.password_in= <empty>

discovery.sendtargets.timeo.login_timeout= 15

discovery.sendtargets.use_discoveryd= No

discovery.sendtargets.discoveryd_poll_inval= 30

discovery.sendtargets.reopen_max= 5

discovery.sendtargets.timeo.auth_timeout= 45

discovery.sendtargets.timeo.active_timeout= 30

discovery.sendtargets.iscsi.MaxRecvDataSegmentLength= 32768

# END RECORD

查看客户端得到的共享盘sdb

[root@pankuo2 ftp]# service iscsi start

iscsid (pid 6010) 正在运行...

设置 iSCSI 目标:                                          [确定]

[root@pankuo2 ftp]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 Device Boot      Start         End      Blocks  Id  System

/dev/sda1  *           1         131    1052226   83  Linux

/dev/sda2             132        2043   15358140   83  Linux

/dev/sda3            2044        2301    2072385   82  Linux swap / Solaris

Disk /dev/sdb: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

 Device Boot      Start         End     Blocks   Id  System

/dev/sdb1               1         261    2096451    5  Extended

iqn.2014-03.com.pankuo:sdb  192.168.1.52

iqn.2014-04.com.pankuo:sdc 192.168.1.53

ISCSI在完全方面的2种设定

1.Initiator主机以IP认证方式获取iSCSI Target资源

10.254.1.50配置

#vim /etc/iet/ietd.conf

Target iqn.2014-03.com.pankuo:sdb

Lun 0Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz

Target iqn.2014-04.com.pankuo:sdc

Lun 1Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz

#vim /etc/iet/initiators.allow

iqn.2014-03.com.pankuo:sdb 10.254.1.52

iqn.2014-04.com.pankuo:sdc 10.254.1.53

ALL ALL

#service iscsi-target restart

10.254.1.52配置

如果你上面的做了一次共享磁盘记得先清缓存和断开与主机的链接光关服务重启时没有用的会影响到重新共享新盘

#

[root@pankuo2~]#iscsiadm -m node -Tiqn.2014-04.com.pankuo:sdc -p 10.254.1.50  -u

然后在重新共享

#service iscsi restart

[root@pankuo2 ~]# iscsiadm -m discovery -tsendtargets -p 10.254.1.50:3260     10.254.1.50:3260,1 iqn.2014-03.com.pankuo:sdb

[root@pankuo2 ~]#

[root@pankuo2 ~]# iscsiadm -m discovery -tsendtargets -p 10.254.1.50 10.254.1.50:3260,0 iqn.2014-03.com.pankuo:sdb

#service iscsi restart

会发现只挂载了sdb  

10.254.1.53 配置同理

[root@pankuo3 ~]# iscsiadm -m discovery -tsendtargets -p 10.254.1.50:3260

10.254.1.50:3260,1iqn.2014-04.com.pankuo:sdc

[root@pankuo3 ~]#

这就是IP的限定

2.Initiator主机以密码认证方式获取ISCSI  Target资源

CHAP验证有两种,一种是针对discovery的,即如果不符合验证的用户名和密码,则initiator端便无法通过"-mdiscovery"发现指定主机上的任何一个target

另一种是针对nodelogin的,即果不符合验证的用户名和密码,则initiator端编无法通过--login登录指定主机上的某一个target

#vim  /etc/iet/initiators.allow

注释掉刚才IP验证方式

#iqn.2014-03.com.pankuo:sdb10.254.1.52

#iqn.2014-04.com.pankuo:sdc10.254.1.53

ALL ALL

#vim  /etc/iet/ietd.conf

Targetiqn.2014-03.com.pankuo:sdb

IncomingUserlogin.linux.auth linuxsecret

Lun 0Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz

Target iqn.2014-04.com.pankuo:sdb

IncomingUser login.linux2.authlinuxsecret

Lun 1 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz

10.254.1.52配置

# vim /etc/iscsi/iscsid.conf

node.session.auth.authmethod= CHAP

node.session.auth.username = login.linux.auth

node.session.auth.password =linuxsecret

[root@pankuo3 ~]# iscsiadm-m discovery -t sendtargets -p 10.254.1.50 10.254.1.50:3260,1iqn.2014-03.com.pankuo:sdb

10.24.1.53 配置

discovery.sendtargets.auth.authmethod = CHAP

discovery.sendtargets.auth.username= login.linux2.auth

discovery.sendtargets.auth.password= linuxsecret