クラスタの現在の状態を確認するには、プログラムcrm_monを使用します。これにより、現在のDCと、現在のノードが認識しているノードとリソースのすべてが表示されます。
これにはいくつかの理由が考えられます。
まず環境設定ファイル/etc/ais/openais.confを見て、マルチキャストアドレスがクラスタ内のすべてのノードについて同一であるか確認します(interfaceセクションをキーmcastaddrで参照します)。
ファイアウォール設定を確認します。
スイッチがマルチキャストアドレスをサポートしているか確認します。
もう1つの理由として、ノード間の接続が破損していることが考えられます。これはファイアウォールの構成が正しくないことが大半の原因です。また、これはスプリットブレインの理由にもなり、クラスタがパーティション化されます。
コマンドcrm_resource -Lを使用して、現在のリソースの情報を取得できます。
リソースエージェントを手動で実行してみます。LSBで、scriptname startとscriptname 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 resource id -H HOSTで削除します。
/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をインストールします。