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
以太网交换机
一台或者多台服务器
2、iSCSItarget
3、iSCSIinitiator
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