天天看點

教你建構iSCSI伺服器實作SAN存儲模型

  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`" &gt; 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>

這就好了,重新登入的方式和前面一樣,略。

我們都知道這樣用指令配置的是即刻生效但是重新開機就沒有了,想要永久生效可以寫到配置檔案中。

剛剛做的配置可以這樣寫在檔案裡:

&lt;target iqn.2014-07.com.tuchao:chap1&gt;

        backing-store /dev/sdb

        initiator-address 192.168.18.0/24

        incominguser tuchao 123456

        outgoinguser testuser redhat

&lt;/target&gt;

好了,總結完成,有更好的建議歡迎與我交流QQ:1183710107

本文轉自qw87112 51CTO部落格,原文連結:http://blog.51cto.com/tchuairen/1531669