作業系統: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
Target iqn.2011-08.com.domain:storage.lun
開始修正錯誤:
sudo /etc/init.d/iscsitarget restart,重新啟動 iSCSI Target 服務。
「iSCSI Target」的建置,或許以 FreeNAS、Openfiler 的方式,網頁介面感覺比較容易使用。而且目前市面上販售的 NAS 產品,內建此一功能的也不少。不過自行安裝設定看來也不困難,況且現有的 Linux File Server 只需幾個步驟,就可在 Samba、NFS 以外再新增 iSCSI 套件,提供更為全面的網路儲存服務。等到使用一段時間後,再研究 iSCSI Target 更為安全的進階設定,不論是 initiators.allow 還是 ietd.conf,兩個設定檔裡已有許多範例可供參考應用了。
iSCSI Target 的研究動機,其實是來自部署 VMware ESXi Server 的共用儲存需求。簡單的設定過程就可提供 ESXi 主機網路儲存使用,除了多重連線功能外,最重要穩定性長期使用觀察證明也都沒有問題。
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/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個字元。如:
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
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 主機網路儲存使用,除了多重連線功能外,最重要穩定性長期使用觀察證明也都沒有問題。