ページの先頭行へ戻る
PRIMECLUSTER  Cluster Foundation 導入運用手引書 4.7

8.1 手順の開始

トラブルシューティング手順は、問題の原因を特定するための情報を収集することから始めます。Cluster Admin GUIのPRIMECLUSTERログビューア機能を使用すると、コンソールのメッセージの検索や、/var/log/messagesファイル内のメッセージの検索ができます。cftool(1M)コマンドを使用すると、状態、構成情報を確認できます。PRIMECLUSTERログビューアを使用するには、プルダウンメニューの [ツール] - [syslogメッセージの表示] を選択します (詳細は“4.8 PRIMECLUSTERログビューアによる表示”を参照してください)。これによってログメッセージが表示されます。ログは日付/時刻フィルタを使用して検索したり、重要度レベルに基づいてメッセージをスキャンすることができます。日付/時刻に基づいて検索するには、日付/時刻フィルタを使用し、<フィルタ>ボタンを押します。重要度レベルに基づいて検索するには、<重要度>ボタンをクリックし、検索の対象となる重要度レベルを選択します。キーワードを使用してログを検索することもできます。PRIMECLUSTERログビューアウィンドウを切り離すには、<デタッチ>ボタンをクリックします。再び接続するには<アタッチ>ボタンをクリックします。

情報を以下の手順に従って収集します。

CFからのエラーログメッセージは常に/var/log/messagesファイルにあります。一部のメッセージはコンソールにも表示されます。その他のデバイスドライバおよびシステムソフトウェアのエラーはコンソールのみに出力されます。システムのエラーを十分理解するには、コンソールとエラーログの両方のメッセージを参照する必要があります。/var/log/messagesファイルについては“PRIMECLUSTER 活用ガイド<メッセージ集>”の“4.5 エラー(ERROR)メッセージ”に記載されています。メッセージ一覧にはエラーの原因が記述されています。この情報が診断を進めていく手がかりになります。

システムのすべてのコンポーネントのエラーメッセージが/var/log/messagesファイルまたはコンソールに出力されます。PRIMECLUSTER製品のエラーメッセージだけでなく、すべてのメッセージを参照することが重要です。以下は/var/log/messagesファイルのCFエラーメッセージ例です。

Aug 26 13:31:05 fuji2  kernel:  LOG3.0429320    1080024   100014    0 1.0      CF: Giving UP Mastering (Cluster already Running).

メッセージの構成は以下のとおりです。

最初の80バイトは次のようなlog3のプリフィックスです。

Aug 26 13:31:05 fuji2 kernel:  LOG3. .0429320   1080024   100014    0    1.0         cf:elmlog

これはログファイルに出力される各CFメッセージの標準的なプリフィックスです。このプリフィックスには日時、ノード名、log3固有情報が記載されています。重要な情報は日時とノード名です。残りは次のようなCFのエラーメッセージです。

CF: Giving UP Mastering (Cluster already Running).

このメッセージは、ノードが参入サーバを検出し、新規クラスタを作成する代わりに既存のクラスタに参入した場合に出力されます。メッセージの詳細については“PRIMECLUSTER 活用ガイド<メッセージ集>”の“第5章 CF のメッセージ”を参照してください。

前述のcftool(1M)コマンドのオプションを指定して情報を取得します。以下に例を示します。

root@fuji2> cftool -l
Node     Number   State  Os        Cpu       Flags
fuji2    2        UP     Linux     Pentium   0

これはローカルノードがノード番号2でクラスタに参入し、現在UP状態であることを示しています。つまり、クラスタ稼動時の正常な状態です。次のような応答も考えられます。

root@fuji2> cftool -l
Node     Number   State        Os   Cpu    Flags
fuji2    --       COMINGUP     --   --

これはCFドライバがロード済みで、ノードがクラスタへの参入を試行中であることを示しています。この状態が数分間続いた場合は問題があるため、/var/log/messagesファイルを確認する必要があります。メッセージの内容は以下のとおりです。

root@fuji2> tail /var/log/messages
Aug 28 10:38:25 fuji2  kernel:  CF: (TRACE): Load: Complete.
Aug 28 10:38:25 fuji2  kernel:  CF: (TRACE): JoinServer: Startup.
Aug 28 10:38:25 fuji2  kernel:  CF: Giving UP Mastering (Cluster already Running).
Aug 28 10:38:25 fuji2 kernel: CF: fuji2: busy: local node not DOWN: retrying.

ノードは他のノード (fuji4) 上でLEFTCLUSTER状態になっています。この状態を解決するには、“第5章 LEFTCLUSTER状態”のLEFTCLUSTER状態の説明およびこの状態の解決方法を参照してください。

次のcftool(1M)のオプションを実行すると、デバイスの状態が表示されます。

root@fuji2> cftool -d
Number  Device  Type  Speed    Mtu   State  Configured  Address
1       eth0    4     100      1432   UP     YES         00.03.47.c2.a8.82
2       eth1    4     100      1432   UP     YES         00.02.b3.88.09.f1
3       eth2    4     100      1432   UP     NO          00.02.b3.88.09.ea

Configured欄にYESの行があることから、クラスタに2つのインタコネクトが構成されていることがわかります。これで使用中のデバイス名およびデバイス番号がわかり、トラブルシューティングをさらに進めることができます。

cftool -nコマンドを実行すると、クラスタのすべてのノードの状態が表示されます。このコマンドを実行するには、ノードがクラスタのメンバであり、cftool -lの実行結果がUPであることが必要です。

root@fuji2> cftool -n
Node        Number   State       Os       Cpu
fuji2       1        UP         Linux    Pentium 
fuji3       2        UP         Linux    Pentium

クラスタがUP状態の2つのノード、fuji2とfuji3で構成されていることがわかります。ノードがクラスタに参入していない場合、コマンドは参入が成功するまで待機します。

cftool -rを実行すると、ルートとルートの現在の状態が表示されます。

root@fuji2> cftool -r
Node        Number  Srcdev  Dstdev  Type  State  Destaddr
fuji2       1       1       4       4     UP     00.03.47.c2.a8.82
fuji2       1       1       5       5     UP     00.03.47.c2.a8.cc
fuji3       2       2       4       4     UP     00.03.47.d1.af.ec
fuji3       2       2       5       5     UP     00.03.47.d1.af.ef

すべてのルートがUP状態になっています。ルートがDOWN状態の場合、上記のエラーログに該当するデバイスに関連するエラーメッセージが出力されるはずです。最低でもルートが停止していることを通知するCFエラーがエラーログに出力されるはずです。デバイスドライバから関連エラーが出力されない場合の診断手順を以下に示します。

ノードの最後のルートはDOWN状態にはならずにUP状態のままで、ソフトウェアがノードへのアクセスの試行を続けることができるようになっています。ノードがクラスタから離脱した場合または停止した場合、ルートテーブルにノードのエントリは残り、1つのルートがUPのままになります。ノード状態を表示するコマンドはcftool -nのみです。以下に例を示します。

root@fuji2> cftool -r
Node        Number  Srcdev  Dstdev  Type  State  Destaddr
fuji3       2       3       2       4     UP     00.03.47.d1.af.ec
fuji2       1       3       3       4     UP     00.03.47.c2.a8.82
root@fuji2> cftool -n
Node        Number  State         Os       Cpu
fuji3       1       LEFTCLUSTER   Linux    Pentium 
fuji2       2       UP            Linux    Pentium