Linux iSCSI Target Setup

来源:互联网 发布:web即时通讯源码 编辑:程序博客网 时间:2024/05/20 02:52
作業系統:Debian 6.0.3 / Ubuntu 11.04

iSCSI 技術的應用,常見「iSCSI Target」和「iSCSI Initiator」兩部分,也就是指 iSCSI 的目標端與發送端。以主從架構言之,實務上在 Server 上建置「iSCSI Target」服務,提供 Client 端以「iSCSI Initiator」軟體連線存取 iSCSI 磁碟,本文將以 Linux iSCSI Target 的簡易設定為主要內容。

【安裝啟用 iSCSI 服務】
sudo apt-get install iscsitarget 安裝完會有一段警告訊息:
iscsitarget not enabled in "/etc/default/iscsitarget", not starting... ... (warning).
這個問題的解決需編輯設定檔:
sudo vi /etc/default/iscsitarget
將「ISCSITARGET_ENABLE=false」改為「ISCSITARGET_ENABLE=true」,iSCSI Target 服務啟動時才能真正作用。

【連線允許設定】
sudo vi /etc/iet/initiators.allow 末行顯示 ALL ALL
表示預設開放所有來源與目的連線,測試初期就保持這樣暫不變動了。

【建立磁碟檔案】
使用 dd 指令建立空白檔案作為儲存區塊,如 40GB 檔案「lun0」存放於「/home/iscsi」:
dd if=/dev/sda of=/home/iscsi/lun0 bs=1024k count=40960
或者耗時五十分鐘在檔案伺服器建立了 100GB 的儲存空間,以供 VMware ESXi Server 使用:
dd if=/dev/sda of=/home/iscsi/lun1 bs=1024k count=102400

【編輯設定檔】
sudo vi /etc/iet/ietd.conf
設定檔裡的 iqn 是 iSCSI 認證名稱 iSCSI Qualifier Name,這是 iSCSI 裝置的識別方式,一般命名原則為「iqn.日期yyyy-mm.反向網域名稱:主機名稱」,中間不能有空白,可允許最多255個字元。如:

Target iqn.2011-08.com.domain:storage.lun
          Lun 0 Path=/home/iscsi/lun0,Type=fileio

後來又新增幾個儲存區塊,於是設定檔再多加幾行:
Target iqn.2011-08.com.domain:storage.lun
          Lun 0 Path=/home/iscsi/lun0,Type=fileio
          Lun 1 Path=/home/iscsi/lun1,Type=fileio
          Lun 2 Path=/home/iscsi/lun2,Type=fileio

【重新啟動 iSCSI 服務】
sudo /etc/init.d/iscsitarget restart
 * Removing iSCSI enterprise target devices:                     [ OK ] 
 * Stopping iSCSI enterprise target service:                       [ OK ] 
 * Removing iSCSI enterprise target modules:                    [ OK ]
 * Starting iSCSI enterprise target service:                        [ OK ]
Ubuntu Server 設定至此全部正常,Debian 的話可能還有些問題待解。

【Debian 除錯】
Debian 系統執行「/etc/init.d/iscsitarget restart」指令,出現找不到 iscsi_trgt 模組的訊息:

Removing iSCSI enterprise target devices: :.
Starting iSCSI enterprise target service:FATAL: Module iscsi_trgt not found.
 failed!

開始修正錯誤:
sudo apt-get install module-assistant debhelper
sudo m-a a-i iscsitarget
sudo modprobe iscsi_trgt

sudo /etc/init.d/iscsitarget restart,重新啟動 iSCSI Target 服務。
Removing iSCSI enterprise target devices: :.
Stopping iSCSI enterprise target service: :.
Removing iSCSI enterprise target modules: ... (warning).
Starting iSCSI enterprise target service:.
停止服務時仍有警告訊息,不過啓動後功能是正常的。

「iSCSI Target」的建置,或許以 FreeNAS、Openfiler 的方式,網頁介面感覺比較容易使用。而且目前市面上販售的 NAS 產品,內建此一功能的也不少。不過自行安裝設定看來也不困難,況且現有的 Linux File Server 只需幾個步驟,就可在 Samba、NFS 以外再新增 iSCSI 套件,提供更為全面的網路儲存服務。等到使用一段時間後,再研究 iSCSI Target 更為安全的進階設定,不論是 initiators.allow 還是 ietd.conf,兩個設定檔裡已有許多範例可供參考應用了。

iSCSI Target 的研究動機,其實是來自部署 VMware ESXi Server 的共用儲存需求。簡單的設定過程就可提供 ESXi 主機網路儲存使用,除了多重連線功能外,最重要穩定性長期使用觀察證明也都沒有問題。