歡迎您光臨本站 註冊首頁

Debian下配置iSCSI Target。

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

iSCSIinternet Small Computer System Interface的縮寫,又稱為IP-SAN,是一種基於網際網路及SCSI-3協議下的存儲技術,由IETF提出,並於2003211日成為正式的標準.

iSCSI的目的是為了用IP協議將存儲設備連接在一起.通過在

IP網上傳送SCSI命令和數據,iSCSI推動了數據在網路之間的傳遞,同時也促進了數據的遠距離管理.由於其出色的數據傳輸能力,iSCSI協議被認為是促進存儲區域網(SAN)市場快速發展的關鍵因素之一.IP網路的廣泛應用, iSCSI能夠在LANWAN甚至Internet上進行數據傳送,是的數據的存儲不再受地域的現在.iSCSI

技術的核心是在TCP/IP網路上傳輸SCSI協議,即使用TCP/IP報文和iSCSI報文封裝SCSI報文,是的SCSI命令和數據可以在普通乙太網絡上進行傳輸,如下圖所示.

iSCSI的工作過程:當iSCSI主機應用程序發出數據讀寫請求后,操作系統會生成一個相應的SCSI命令,該SCSI

命令在iSCSI initiator層被封裝成ISCSI消息包並通過TCP/IP傳送到設備側,設備側的iSCSI target層會解開iSCSI消息包,得到SCSI命令的內容,然後傳送給SCSI設備執行;設備執行SCSI命令后的響應,在經過設備側iSCSI target層時被封裝成ISCSI響應

PDU,通過TCP/IP網路傳送給主機的ISCSI initiator層,iSCSI initiator會從ISCSI響應PDU里解析出SCSI響應並傳送給操作系統,操作系統再響應給應用程序.

ietiSCSI Enterprise Target)是Linux下的iSCSI Target實現,

open-iscsiLinux下的iscsi initiator實現,使用iet(官方網站:http://iscsitarget.sourceforge.net)和open-iscsi就可以方便的實現簡單的IPSAN,同時iet也可以和其他系統的iscsi initiator配合使用.

一、iet安裝

1、 使用如下命令安裝依賴軟體包.

srv10:~# apt-get install gcc libssl-dev make linux-headers-2.6.26-2-686 linux-source-2.6.26

2、 使用如下命令下載iet.

srv10:~# wget http://nchc.dl.sourceforge.net/project/iscsitarget/iscsitarget/1.4.20.2/iscsitarget-1.4.20.2.tar.gz

3、 使用如下命令解壓並編譯安裝iet.

srv10:~# tar -xzvf iscsitarget-1.4.20.2.tar.gz

srv10:~# cd iscsitarget-1.4.20.2

srv10:~# make && make install

二、
iet基本配置

iet主要包括以下配置文件(控制文件的優先順序類似與tcp_wrappers).

² /etc/iet/ietd.conf iet的主配置文件

² /etc/iet/initiators.allow:控制

initiatortarget的訪問許可權.

² /etc/iet/initiators.deny:控制initiatortarget的訪問許可權.

² /etc/iet/targets.allow:控制不同target的被訪問許可權.

通過iet實現iSCSI Target的基本功能需要完成以下二個配置

² iSCSI Target的命名,命名在同一子網內應該是唯一.在/etc/iet/ietd.conf文件中增加如下內容實現iSCSI Target命名.

Target target名稱

其中:

Ø target 名稱:是iSCSI Target名稱.一般iSCSI Target命名採用“iqn.yyyy-mm.<reversed domain name>: identifier 識別代號”的格式.

² 將塊設備、文件、LVM

卷、RAID卷作為塊設備映射給iSCSI initiator使用.在/etc/iet/ietd.conf文件中增加如下內容實現塊設備映射.

Lun <lunID> Path=<device>,Type=fileio|blockio[,IOMode=(wb|ro)]

其中:

Ø <lunID>:是Lun的編號從

0開始,最大2^14-1.

Ø Path=<device>:指定塊設備.可以使用dd命令生成一個文件.

Ø Type=fileio|blockio:指定塊設備類型,分區及dd命令生成的文件使用fileio類型;

LVM卷、RAID卷使用blockio類型.

Ø IOMode=(wb|ro):指定iSCSI initiator允許的操作,wb表示可讀寫;ro表示只讀.

將如下內容加入/etc/iet/ietd.conf文件后,通過重新啟動計算機再運行

/etc/init.d/iscsi-target restart命令(不知什麼原因,修改/etc/iet/ietd.conf文件后必須重新啟動計算機)啟動ietiSCSI initiator即可使用.

Target iqn.2011-02.zqin.example:storage.lun0

Lun 0 Path=/dev/sdb1,Type=fileio

Alias lun0

三、iet其它配置

使用命令方式配置

iSCSI Target

通過命令方式配置的iSCSI Target在重啟後會失效.

1、 添加一個新的Target.其中[id]為數字必須是唯一的,後面的Name需要自定義,也需要保證是唯一的.

srv10:~# ietadm --op new --tid=[id] --params Name=iqn.zqin.example

2、 添加一個新的 lun.其中[id] 必須是一個已經存在的 tid 號, [lun]

0開始.

srv10:~# ietadm --op new --tid=[id] --lun=[lun] --params Path=/path/exported/file,Type=fileio

iet常用命令

1、 查看當前iSCSI Target清單.

srv10:~# cat /proc/net/iet/volume

2、 查看當前伺服器 iSCSI Target服務以及連接狀態命令

srv10:~# cat /proc/net/iet/sessions

3、 停止某個Target

的某個 Connection 的連接.

srv10:~# ietadm --op delete --tid=2 --sid=562950876233792 --cid=1 && ietadm --op delete --tid=2

4、 停止所有Target 的連接.

srv10:~# ietadm --op delete

5、 刪除某個Target (已經沒有 Session 連接的).

srv10:~# ietadm --op delete --tid= 1

四、iSCSI initiator配置

Linux客戶端

1、 使用如下命令安裝Open iSCSI.

srv10:~# apt-get install open-iscsi

2、 查找

(discovery)指定IP下的Target.

srv10:~# iscsiadm -m discovery -t st -p 192.168.159.74

3、 執行以下命令登陸iSCSI Target.

srv10:~# iscsiadm -m node -T iqn.2011-02.zqin.example:storage.lun0 -l

Windows客戶端

目前微軟最新的伺服器端操作系統Windows Server 2008已經支持iSCSI群集(Windows Vista/7也支持iSCSI),這樣好處是不言而喻,相比昂貴的SAN而言iSCSI

更加的廉價,性能也可以接受.對於預算緊張又希望應用高可用的用戶來說是個很好的選擇.在Windows 7中連接到一個iSCSI Target操作步驟如下.

1、 打開“管理工具”→“iSCSI 發起程序”.

2、 打開“目標”選項頁后,在“目標”中輸入

iSCSI Target所在主機的IP地址,單擊“快速連接”.

3、 在計算機磁碟管理器中會出現一上新的硬碟就是iSCSI Target.格式化后即可像本機物理磁碟一樣使用.

本文出自 「相濡以沫」 博客,請務必保留此出處http://onlyzq.blog.51cto.com/1228/553900


[火星人 ] Debian下配置iSCSI Target。已經有1010次圍觀

http://coctec.com/docs/linux/show-post-48729.html