若要檢查您叢集的目前狀態,請使用程式 crm_mon。這會顯示目前 DC,以及目前節點已知的所有節點與資源。
導致的原因有多種:
請先查看組態檔案 /etc/ais/openais.conf,然後檢查叢集內各節點的多路傳播位址是否相同 (使用鍵 mcastaddr 在 interface 區段中搜尋)。
檢查防火牆設定。
檢查交換器是否支援多路傳播位址
還可能是因為您節點間的連線中斷。最常見的原因是防火牆設定不正確。這還可能是導致電腦分裂狀況的原因,其中的叢集被分區。
使用指令 crm_resource -L 瞭解目前資源。
請嘗試手動執行資源代辦。使用 LSB,只需執行程序檔名稱 start 與程序檔名稱 stop。若要檢查 OCF 程序檔,請先設定所需的環境變數。例如,測試 IPaddr OCF 程序檔時,必須設定變數 ip 的值,方法是設定使用 OCF_RESKEY_ 做為變數名稱字首的環境變數。對於此範例,執行以下指令:
export OCF_RESKEY_ip=<your_ip_address> /usr/lib/ocf/resource.d/heartbeat/IPaddr validate-all /usr/lib/ocf/resource.d/heartbeat/IPaddr start /usr/lib/ocf/resource.d/heartbeat/IPaddr stop
若此指令失敗,很有可能是缺少了某些必要變數,或是參數拼寫錯誤。
您可以始終將 -V 參數新增至指令。若多次執行此操作,將產生冗長的除錯輸出。
若知道您資源的 ID (可透過使用 crm_resource -L 取得),即可使用 crm_resource -C -r 資源 ID -H 主機移除特定資源。
檢查 /var/log/message 是否有以下行:
Jan 12 09:58:55 clusternode2 lrmd: [3487]: info: RA output: (o2cb:1:start:stderr) 2009/01/12_09:58:55 ERROR: Could not load ocfs2_stackglue Jan 12 16:04:22 clusternode2 modprobe: FATAL: Module ocfs2_stackglue not found.
此範例中,缺少了核心模組 ocfs2_stackglue.ko。安裝套件 ocfs2-kmp-default、ocfs2-kmp-pae 或 ocfs2-kmp-xen,具體視所安裝的核心而定。