HowTo Set iscsi-target of listen-address on Openfiler

問題描述

因為 Openfiler 有設定 cluster 的關係,所以 openfiler 主機上可能會有兩個以上的IP。一個是本身的IP,另一個是 Cluster IP(Master node 才會擁有的資源)。

但是 Openfiler 預設 iscsi-target 是允許主機上所有網路介面都可以讓 iscsi-client 連入取得資源。如果 iscsi-client 不是由 Cluster IP 介面取得 iscsi-target 資源,而此時 Openfiler Cluster Master and Slave 的角色發生改變,問題就出現了。iscsi-client 它痴痴等待原先連線的IP接口回應,卻殊不知服務已悄悄的換到另一台 Openfiler 上執行了。最後可能就造成 Proxmox 上的 Guest OS,抓不到 Proxmox 提供給它的硬碟區塊(iscsi-block)。

解決方法

為避免此問題發生,Openfiler Cluster 的每一台主機上需要設定 iscsi-target 只能由 Cluster IP 介面,提供 Iscsi-target 的服務。

指定 Listen_address 的設定檔位於 /etc/sysconfig/iscsi-target,記得 Ubuntu iscsi-target 有設定檔 /etc/iet/targets.allow 。這個設定檔可以指定哪個 target 可以由哪些個介面提供服務。但是在 Openfiler 卻找不到這個設定檔,後來發現 ietd target daemon 可以帶個參數 -a 指定監聽的網路介面。接著查看 /etc/init.d/iscsi-target 的啟動腳本,發現設定參數設定檔就是 /etc/sysconfig/iscsi-target , 並且 LISTEN_ADDR 就是設定的變數。

操作

指定介面前 iscsi-target 的 LISTEN STATE

[root@filer05 ~] netstat -tln|grep 3260
tcp        0      0 0.0.0.0:3260         0.0.0.0:*                   LISTEN

指定 iscsi-target 的 listen-address ,並重新啟動服務。

[root@filer05 ~] sudo echo LISTEN_ADDR=192.168.128.14 >> /etc/sysconfig/iscsi-target
[root@filer05 ~] /etc/init.d/iscsi-target restart

指定介面後 iscsi-target 的 LISTEN STATE

[root@filer05 ~] netstat -tln|grep 3260
tcp        0      0 192.168.128.14:3260         0.0.0.0:*                   LISTEN

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s