iSCSI 啟動程式也稱為用戶端,它可用來連接任何 iSCSI 目標。這不僅僅限於上述 iSCSI 目標解決方案。iSCSI 啟動程式的組態涉及兩個主要步驟 — 探查可用的 iSCSI 目標和設定 iSCSI 工作階段。這兩個步驟都可以使用 YaST 來完成。
組態分為三個索引標籤。iSNS
伺服器。iSNS
的預設連接埠為 3205
。 索引標籤會提供目前已連接 iSCSI 目標的綜覽。它和 索引標籤一樣,提供為系統新增新目標的選項。最開始請從 索引標籤開始。它提供在網路上探查 iSCSI 目標的可能性。
使用
開啟探查對話方塊。輸入 IP 位址,並視需要變更連接埠。
若有需要,請新增
或 驗證。按一下
開始探查。探查成功後,使用
啟用目標。系統會詢問使用所選 iSCSI 目標的驗證資訊。 下一步」以完成組態。如果一切順利,現在目標就會出現在 中。接著,就可以使用虛擬 iSCSI 設備。請用 lsscsi 尋找實際設備:
lsscsi [1:0:0:0] disk IET VIRTUAL-DISK 0 /dev/sda
iSCSI 連線的探查和組態都需要執行中的 iscsid。第一次執行搜索時,會在 /var/lib/open-iscsi
目錄中建立 iSCSI 啟動程式的內部資料庫。
如果您的探查受到密碼保護,請提供驗證資訊給 iscsid。因為執行第一次探查時,內部資料庫還不存在,所以這時無法使用該資料庫,而必須編輯 /etc/iscsid.conf
組態檔案來提供資訊。若要新增您的搜索密碼資訊,請將下列幾行加到 /etc/iscsid.conf
結束處:
discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = <username> discovery.sendtargets.auth.password = <password>
探查會將收到的所有值儲存在永久的內部資料庫中。此外,它會顯示所有偵測到的目標。請使用 iscsiadm -m
discovery --type=st --portal=<targetip>執行這個探查。輸出應該類似以下資訊:
149.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems
若要探查 iSNS
伺服器上可使用的目標,請使用 iscsiadm --mode discovery --type isns --portal <targetip> 指令
針對 iSCSI 目標上定義的每個目標,會各出現一行。請參閱第 12.2.4 節「iSCSI 用戶端資料庫」,了解如何取得更多有關儲存資料的詳細資訊。
iscsiadm 特殊的 --login
選項會建立所有需要的設備:
iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --login
新產生的設備會顯示在 lsscsi 的輸出中,而且現在可以用 mount 來存取。
由於 udev 支援 LVM 啟動,因此當偵測到所有需要的實體磁碟區之後,各 LVM 磁碟區群組就會透過 udev 自動啟動。
udev 中的 LVM 自動組件會使用 udev 輔助程式 collect。此程式會將要檢查的抽象 ID
做為第一個引數,後跟元件 ID 的清單。如果呼叫此程式時,每個元件 ID 都是做為第一個引數,則程式會傳回 0。
因此,對於自動組件,指定磁碟區群組的實體磁碟區 UUID 會註冊為 collect 的引數清單。udev (或 vol_id) 能夠偵測出設備上的實體磁碟區 UUID,因此可做為第一個引數傳遞至 collect。
當已使用所有實體磁碟區 UUID 呼叫 collect 後 (即 udev 已收到所有元件設備的事件),下一個規則就會觸發,呼叫 vgchange -a y <vgname>
,該磁碟區群組即會啟動。
iSCSI 啟動程式探查到的所有資訊都儲存在位於 /var/lib/open-iscsi
的兩個資料庫檔案中。一個資料庫用來探查目標,一個資料庫用於已探查到的節點。存取資料庫時,您必須先選取要從探查資料庫或從節點資料庫中取得資料。使用 iscsiadm 的 -m discovery
和 -m node
參數就可以做到這一點。使用 iscsiadm 而且只搭配其中一個參數,可提供儲存記錄的綜覽:
iscsiadm -m discovery 149.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems
這個範例中的目標名稱為 iqn.2006-02.com.example.iserv:systems
。與這個特殊資料集相關的所有動作都需要這個名稱。若要檢查 ID iqn.2006-02.com.example.iserv:systems
的資料記錄內容,請使用下列指令:
iscsiadm -m node --targetname iqn.2006-02.com.example.iserv:systems node.name = iqn.2006-02.com.example.iserv:systems node.transport_name = tcp node.tpgt = 1 node.active_conn = 1 node.startup = manual node.session.initial_cmdsn = 0 node.session.reopen_max = 32 node.session.auth.authmethod = CHAP node.session.auth.username = joe node.session.auth.password = ******** node.session.auth.username_in = <empty> node.session.auth.password_in = <empty> node.session.timeo.replacement_timeout = 0 node.session.err_timeo.abort_timeout = 10 node.session.err_timeo.reset_timeout = 30 node.session.iscsi.InitialR2T = No node.session.iscsi.ImmediateData = Yes ....
若要編輯這其中一個變數的值,請使用 iscsiadm 指令搭配 update
作業。例如,如果希望 iscsid 在初始化時登入 iSCSI 目標,請將 node.startup
變數設定為 automatic
值:
iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --op=update --name=node.startup --value=automatic
使用 delete
作業可移除過時的資料集。如果目標 iqn.2006-02.com.example.iserv:systems
不再是有效記錄,請使用 iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --op=delete
指令刪除這筆記錄。請謹慎地使用此選項,因為該選項會刪除記錄,而不提供其他確認提示。
若要取得所有探查目標的清單,請執行 iscsiadm -m node 指令。
iSCSI 通訊協定已存在多年,所以有許多評鑑報告和其他文件,將 iSCSI 與 SAN 解決方案做比較、測試其效能基準或僅僅說明各種硬體解決方案。以下是 open-iscsi 相關詳細資訊的重要網頁:
http://www.open-iscsi.org/
http://www.open-iscsi.org/cgi-bin/wiki.pl
http://www.novell.com/coolsolutions/appnote/15394.html
此外也有一些線上文件。請參閱 iscsiadm、iscsid、ietd.conf
和 ietd 的手冊頁,以及 /etc/iscsid.conf
組態檔案範例。