2.11. 檢查叢集的設定

如要確定叢集軟體已經正確地設定好了,請使用位於 /usr/sbin 目錄中的以下工具來做檢查:

下列的部份以更詳盡的方式解釋叢集的工具程式。

2.11.1. 測試共用分割區

共用分割區必須參照所有成員的相同實體裝置,請以 -v 選項來執行 /usr/sbin/shutil 工具程式以測試共用分割區,以及檢驗它們是否能被存取。

假如指令成功的話,請在所有成員上執行 /usr/sbin/shutil -p /cluster/header 指令以顯示出共用分割區之表頭資料結構的一個摘要。 假如成員的輸出不同的話,表示共用分割區並沒有 指向所有成員的相同裝置,請檢查以確定 raw 裝置確實存在,而且在 /etc/sysconfig/rawdevices 檔案中已經正確地指定。 請參考 第 1.4.4.3 節 以取得更多資訊。

以下的範例顯示出在叢集成員 clu1.example.comclu2.example.com 上使用 /usr/sbin/shutil -p /cluster/header 指令所輸出參考相同實體裝置的共用分割區。

/cluster/header is 140 bytes long
SharedStateHeader {
        ss_magic = 0x39119fcd
        ss_timestamp = 0x000000003ecbc215 (14:14:45 May 21 2003)
        ss_updateHost = clu1.example.com

在所有叢集成員上執行 /usr/sbin/shutil -p /cluster/header 指令的輸出,所有的欄位應該都是相同的。 假如所有成員的輸出並不是都相同,請執行下列指令:

在執行完這些工作後,請以 -p 選項重新執行 /usr/sbin/shutil 工具程式。

2.11.2. 測試電源開關

假如叢集硬體配置中使用了網路連線或序列連線的電源開關,請安裝叢集軟體並且執行 clufence 指令來測試電源開關。 在每一部成員上執行這個指令以確定它可以遠端的 power-cycle 其他成員。 假如測試成功的話,就表示可以啟動叢集了。

clufence 指令只能在叢集軟體不運行的狀態才能正確地測試一部電源開關,這是由於 序列連線之電源開關的一個事實,同一時間只能有一個程式存取連接電源開關到成員的序列埠。 當執行 clufence 指令時,將會檢查叢集的狀態。 假如叢集軟體正在執行中,這個指令將會離開, 並將發出一個訊息警告停止叢集軟體。

clufence 的命令列選項如下:

當測試電源開關時,第一步驟便是確定每一部叢集成員都可以成功地與所連接的電源開關進行通訊,以下 clufence 指令的輸出顯示叢集成員可以與它的電源開關進行通訊:

[27734] info: STONITH: rps10 at /dev/ttyS0, port 0 controls clumember1.example.com
[27734] info: STONITH: rps10 at /dev/ttyS0, port 1 controls clumember2.example.com

如果在 clufence 的輸出發生錯誤的狀況,請檢查下列的事項:

在成功地檢驗與開關的通訊後,請試著進行 power cycle 其他成員,在執行這個動作之前,建議您先確定 其他叢集成員沒有主動地執行任何重要的功能(例如伺服叢集服務給現行的用戶端)。 執行 clufence -f clumember2.example.com 指令將會於 成功地進行關機與 fencing 操作時產生以下的輸出(也就是說該系統在 unfence 之前沒有從電源開關接收到任何的電源):

[7397] info: STONITH: rps10 at /dev/ttyS0, port 0 controls clumember1.example.com
[7397] info: STONITH: rps10 at /dev/ttyS0, port 1 controls clumember2.example.com
[7397] notice: STONITH: clumember2.example.com has been fenced!

2.11.3. 顯示出叢集軟體的版本

請確定叢集中的所有成員都執行相同版本的 Red Hat 叢集管理員 軟體。

如要顯示出 叢集設定工具叢集狀態工具 的版本資訊,請使用下列的其中一種方法: