iSCSI(Internet Small Computer System Interface)Internet 小型計算機系統接口,是一種基于 TCP/IP的協定,用來建立和管理 IP 儲存設備、主機和客戶機等之間的互相連接配接,并建立存儲區域網絡(SAN)。SAN 使得 SCSI 協定應用于高速資料傳輸網絡成為可能,這種傳輸以資料塊級别(block-level)在多個資料存儲網絡間進行。
SCSI 結構基于客戶/伺服器模式,其通常應用環境是:裝置互相靠近,并且這些裝置由 SCSI 總線連接配接。iSCSI 的主要功能是在 TCP/IP 網絡上的主機系統(啟動器 initiator)和儲存設備(目标器 target)之間進行大量資料的封裝和可靠傳輸過程。此外,iSCSI 提供了在 IP 網絡封裝 SCSI 指令,且運作在 TCP 上。
<a href="http://s3.51cto.com/wyfs02/M00/41/82/wKiom1PV-f3woVRnAAH_Vys5rW4049.jpg" target="_blank"></a>
實驗環境:RHEL6.4
192.168.18.201 target
192.168.18.202 initiator
我們先來配置一個iSCSI 服務端。
1、安裝服務端程式。
yum install scsi-target-utils -y
2、啟動服務,随後添加一個target
/etc/init.d/tgtd start
tgtadm -L iscsi -m target -o new -t 1 -T iqn.2014-07.com.tuchao:tg1
3、給target添加一個存儲(LUN)。
tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sdb
4、開放給192.168.18.0/24網絡中的主機通路。
tgtadm --lld iscsi --mode target --op bind --tid 1 -I 192.168.18.0/24
#其中的-I相當于--initiator-address
檢視一下。
tgtadm --lld iscsi --mode target --op show
<a href="http://s3.51cto.com/wyfs02/M01/41/87/wKiom1PWAZGzAcdyAAKxUBVe9vo706.jpg" target="_blank"></a>
現在用用戶端嘗試連接配接使用,先安裝程式。
yum install iscsi-initiator-utils -y
配置initiator名稱
cd /etc/iscsi/
echo "InitiatorName=`iscsi-iname -p iqn.2014-07.com.tuchao`" > initiatorname.iscsi
發現裝置,登入裝置。
iscsiadm -m discovery -t sendtargets -p 192.168.18.201
iscsiadm -m node -T iqn.2014-07.com.tuchao:tg1 -p 192.168.18.201:3260 -l
這裡顯示success後表示登入成功,然後用fdisk -l 檢視本地磁盤,會發現多了一塊硬碟,可以分區格式化當作本地硬碟來使用了。
删除原先的配置。
先在initiator登出,然後删除連接配接。
iscsiadm -m node -T iqn.2014-07.com.tuchao:tg1 -p 192.168.18.201:3260 -u
iscsiadm -m node -T iqn.2014-07.com.tuchao:tg1 -p 192.168.18.201:3260 -o delete
rm -rf /var/lib/iscsi/send_targets/192.168.18.201,3260/
來到target端,解綁開放的網段,删除lun,删除target。
tgtadm --lld iscsi --mode target --op unbind --tid 1 -I 192.168.18.0/24
tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1
tgtadm --lld iscsi --mode target --op delete --tid 1
配置CHAP(詢問握手認證協定)
建立target,建立lun,綁定開放的網段。
tgtadm -L iscsi -m target -o new -t 1 -T iqn.2014-07.com.tuchao:chap1
tgtadm -L iscsi -m logicalunit -o new -t 1 -l 1 -b /dev/sdb
tgtadm -L iscsi -m target -o bind -t 1 -I 192.168.18.0/24
建立服務端帳号,并綁定某tid給予通路權限。(單向認證)
tgtadm --lld iscsi --mode account --op new --user tuchao --password 123456
tgtadm --lld iscsi --mode account --op bind --tid 1 --user tuchao
編輯initiator端配置檔案
vim /etc/iscsi/iscsid.conf
<a href="http://s3.51cto.com/wyfs02/M02/41/9A/wKioL1PWGPfQEuKEAAHGNskbRCg893.jpg" target="_blank"></a>
發現服務端裝置,登入target。
iscsiadm -m node -T iqn.2014-07.com.tuchao:chap1 -p 192.168.18.201:3260 -l
這裡登入成功了,截圖略。
在原有的基礎上配置為雙向認證。
tgtadm --lld iscsi --mode account --op new --user testuser --password redhat
tgtadm --lld iscsi --mode account --op bind --tid 1 --user testuser --outgoing
tgtadm -L iscsi -m target -o show
<a href="http://s3.51cto.com/wyfs02/M00/41/9C/wKiom1PWHTfQKAATAAGPn9G0x2o380.jpg" target="_blank"></a>
如果initiator端已經登入過此target,此時還需要先登出登入後重新開機iscsid服務,并在删除此前生成的database後重新發現target,并重新登入。
iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -u
iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -o delete
rm -rf -rf /var/lib/iscsi/send_targets/192.168.0.11,3260
service iscsid restart
然後編輯iscsid.conf配置檔案
<a href="http://s3.51cto.com/wyfs02/M02/41/9D/wKioL1PWHnbgF3CRAAJ0GsjQJ0I711.jpg" target="_blank"></a>
這就好了,重新登入的方式和前面一樣,略。
我們都知道這樣用指令配置的是即刻生效但是重新開機就沒有了,想要永久生效可以寫到配置檔案中。
剛剛做的配置可以這樣寫在檔案裡:
<target iqn.2014-07.com.tuchao:chap1>
backing-store /dev/sdb
initiator-address 192.168.18.0/24
incominguser tuchao 123456
outgoinguser testuser redhat
</target>
好了,總結完成,有更好的建議歡迎與我交流QQ:1183710107
本文轉自qw87112 51CTO部落格,原文連結:http://blog.51cto.com/tchuairen/1531669