使用 iSCSI 服務, iSCSI initiator 必須先 Discover Target,
但是SAN有可能包含比較多的裝置, 所以 iSCSI 必須辨認 SAN的resource
目前有三種 Target 的discovery方式
- Traditional iSCSI
- Internet Storage Name Service ( iSNS )
- SLP ( not currently supported )
iSNS 提供 自動Discovery, 管理, 以及設定 iSCSI 裝置
如果有 iSNS Server 在網路內, iSCSI Initiator 可以對 iSNS Server 送出查詢,
iSNS Server 則會回覆該 iSCSI Initiator 可以使用的 iSCSI Targets.
iSCSI 也可以將 iSCSI Initiator and iSCSI Target 組成一個 zone,
可以定義 iSNS discovery domains 以及 discovery domain sets
- Discovery domains:
- a group of iSCSI nodes. iSCSI Initiator 只能尋找與他相同的Discovery domain 的裝置.
- Discovery domain sets:
- a group of discovery domains.
iSNS Targets 與 iSCSI Initiator 使用 iSNS protocol 來溝通.
iSCSI Client:
- Register device attribute information in a common discovery domain.
- Download information about other registered clients.
- Receive asynchronous notification of events occur in their discovery domain.
iSCSI Server
- Respond to iSNS queries and requests send from iSNS clients using the iSNS protocol.
- Initiate iSNS protocol state change notifications.
- Store properly authenticated information submitted by a registration request in an iSNS database.
Lab: Installing and Configuring iSNS
安裝 iSNS Server
- # yast2 isns
- 點選安裝(如果被提示要安裝套件)
- 於ISNS 伺服器的位置 輸入 IP 或是 FQDN
- 服務啟動 選取 開機時
- 開啟防火牆設定
- 點選完成
觀察相關資訊
# cat /etc/isns.conf
isns_address=192.168.123.201
da-1:~ # netstat -tupln | grep 3205
tcp 0 0 0.0.0.0:3205 0.0.0.0:* LISTEN 25683/isnsd
udp 0 0 127.0.0.2:3205 0.0.0.0:* 25683/isnsd
# rcisns status
Checking for iSNS Internet Storage Naming Service: running
da-1:~ # chkconfig isns --list
isns 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Lab: 建立 iSNS Discovery Domains 以及 Discovery domain set
iSNS Server 至少要有一個 Discovery Domain 以及 Discovery domain set
預設會建立一個 default DD
- #yast2 isns
- 點選 探查網域 頁面
- 點選 探查網域集
- 點選 建立探查網域集
- 輸入自訂名稱
- 點選確定
- 點選 新增探查網域
- 選取 要新增的探查網域
- 點選 完成
Lab: Add iSCSI Nodes to a Discovery Domain
將 iSCSI Node 加入 Discovery Domain
在 iSCSI Target 主機上面
- # yast2 iscsi-server
- 勾選 iSNS 存取控制
觀察資訊
可以啟動 iSNS 模組觀察 iSCSI 節點 頁面, 是否有被新增進來.
也可以觀察
da-1:~ # head -n 2 /etc/ietd.conf
iSNSServer 192.168.123.201
iSNSAccessControl Yes
Lab: 讓 iSCSI Initiator 使用 iSNS Server
在 iSCSi Initiator 主機上面
- # yast2 iscsi-client
- 在 iSNS 位址 輸入 iSNS Server IP
- 在 iSNS 連接阜 輸入 預設 Port 3205
- 點選完成
觀察資訊
# grep isns /etc/iscsi/iscsid.conf
isns.address = 192.168.123.201
isns.port = 3205
重新啟動服務
Lab: 將 iSCSI Target 以及 iSCSI Initiator 指定到 Discovery Domain
在 iSNS Server 上面
- # yast2 isns
- 點選 iSCSI 節點 頁面
- 確認 iSCSI Target 以及 iSCSI Initiator 都有出現在清單上面
- 點選 探查網域 頁面
- 點選 要指定的 discovery domain
- 點選 新增現有的 iSCSI 節點
- 點選要新增的 Target 以及 Initiator 節點
- 點選 新增節點 (將要附加在此 Discovery domain 所有節點加入)
- 點選 完成
測試 iSNS 伺服器
在 iSCSI Initiator 主機上面
- # yast2 iscsi-client
- 檢查 探查的目標 頁面
在沒有 iSNS Server 架構的情形下, 必須輸入 iSCSI Target 的主機 IP
在 有iSNS Server 架構的情形下, 只要點選探查, 就會自動列出相關資源
但是登入驗證還是要自己作 ^^
這邊發現的小bug ( 可能是還沒有升級 )
- #yast2 iscsi-client 加入 iSNS Server 有時候不會寫入 /etc/iscsi/iscsid.conf , 要手動修改
- 如果登入不成功或是 iSNS Server 有問題, 建議將服務重開
- # rcopen-iscsi restart
- # rciscsitarget restart
enjoy it ~~