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
/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
/dev/sda1 * 1 131 1052226 83 Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Device Boot Start End Blocks Id System
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配置
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
會發現隻挂載了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
#vim /etc/iet/ietd.conf
Targetiqn.2014-03.com.pankuo:sdb
IncomingUserlogin.linux.auth linuxsecret
Target iqn.2014-04.com.pankuo:sdb
IncomingUser login.linux2.authlinuxsecret
Lun 1 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz
# 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
本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1366972,如需轉載請自行聯系原作者