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

8.2.1 参入関連の問題

参入関連の問題はノードがクラスタに参入しようとしたときに発生します。ここでは、それまでクラスタへの参入に成功していたノードを対象に説明します。はじめてノードがクラスタに参入する場合の初期起動の問題については、動作確認のセクションを参照してください。これまでクラスタに参入できていたノードが再参入に失敗した場合、以下の手順で問題を特定します。

8.2.1.1 参入に関連する問題の特定

まず、エラーログおよびコンソールのメッセージを参照して問題の手がかりを探します。イーサネットドライバのエラーが発生していないか、その他のエラーが発生していないかなどを確認します。システムの他の部分にエラーがある場合、まずそのエラーを修正します。他のエラーを修正したら、またはシステムの他の部分にエラーがなければ、以下の手順に従います。

CFデバイスドライバはロードされているかを確認します。デバイスドライバがロードされるとログファイルにメッセージが出力され、cftool -lコマンドを実行すると、ドライバの状態が表示されます。以下のようなログファイルメッセージが表示されます。

CF: (TRACE): JoinServer: Startup.

cftool -lは以下のようなノードの状態を出力します。

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

これはドライバがロード済みで、ノードがクラスタへの参入を試行中であることを示しています。ログファイルに上記のエラーログメッセージが出力されていない場合、またはcftool -lコマンドが失敗した場合、デバイスドライバはロードされていません。CFデバイスドライバがロードされない原因が/var/log/messagesファイルにもコンソールにも示されていない場合、CFカーネルバイナリまたはCFカーネルコマンドが破損している可能性があるので、アンインストールしてDVDから再インストールする必要があります。

CFデバイスドライバがロードされると、次のメッセージに従ってクラスタの参入が試行されます。

CF: (TRACE): JoinServer: Startup

参入サーバは構成済みインタコネクト上の他のノードとの通信を試みます。他の1つ以上のノードがクラスタを起動済みの場合、ノードはこのクラスタへの参入を試行します。この場合エラーログに出力されるメッセージを以下に示します。

CF: Giving UP Mastering (Cluster already Running).

エラーログにこのメッセージが出力されない場合、ノードは構成済みのインタコネクト上で行われる他のノードの通信を認識せず、固有のクラスタを起動します。以下の2つのメッセージはノードが固有のクラスタを作成したことを示します。

CF: Local Node fuji2 Created Cluster FUJI. (#0000 1)
CF: Node fuji2 Joined Cluster FUJI. (#0000 1)

この時点で、CFデバイスドライバがロードされ、ノードがクラスタの参入を試行していることを確認できました。以下のリストには問題と修正処理が記述されています。調査中のノードの症状に最も近い問題を探し、そこに記述されている手順に従います。

問題

これは参入に関連する典型的なトラブルです。

ノードが既存のクラスタに参入せず、固有のクラスタを作成してしまう。

診断

エラーログに以下のメッセージが出力されます。

CF: (TRACE): JoinServer: Startup.
CF: Local Node fuji2 Created Cluster FUJI. (#0000 1)
CF: Node fuji2 Joined Cluster FUJI. (#0000 1)

これは、CFデバイスドライバがすべて正常に動作し、問題はインタコネクトで発生していることを示しています。この場合まず、ノードがインタコネクト上のクラスタの他のノードを参照できるかどうかを確認します。それには、cftool(1M) を実行してクラスタのすべてのノードにエコー要求を送信します。

root@fuji2> cftool -e
Localdev Srcdev Address  Cluster Node      Number Joinstate
3   2 00.03.47.c2.a8.82  FUJI     fuji2    2      6
3   3 00.03.47.d1.af.ec  FUJI     fuji3    1      6

これはfuji3のインタコネクトデバイス3(Localdev)およびfuji2のデバイス2 (Srcdev) により、ノードfuji3がノードfuji2を参照していることを示しています。cftool -eを実行してもローカルノードしか表示されない場合は、インタコネクトに問題があります。予想されるクラスタノードの一部またはすべてが表示された場合にはCFドライバの再ロードが必要となります。この状況を把握し、当社技術員 (SE) に連絡してください。

root@fuji2> cfconfig -u
root@fuji2> cfconfig -l

注意

これらのコマンドから出力はありません。エラーメッセージのみがエラーログに記録されます。

問題

ノードがクラスタに参入せず、一部またはすべてのノードがcftool -eに応答する。

診断

この時点でCFデバイスが正常にロードされ、ノードがクラスタ内の他の1つ以上のノードと通信可能な状態であることがわかりました。この場合、インタコネクトがメッセージを紛失している可能性が考えられます。この仮定を確かめるには繰り返しエコー要求を送信し、時間とともに結果が変化するかどうかを確認します。以下に例を示します。

root@fuji2> cftool -e 
Localdev Srcdev Address  Cluster  Node     Number Joinstate
3   2 00.03.47.c2.aa.f9  FUJI     fuji2    3      6
3   2 00.03.47.c2.a8.82  FUJI     fuji3    2      6
3   3 00.03.47.d1.af.ec  FUJI     fuji4    1      6
root@fuji2> cftool -e
Localdev Srcdev Address Cluster Node       Number Joinstate
3   2 00.03.47.c2.aa.f9   FUJI     fuji2    3       6
3   2 00.03.47.c2.a8.82   FUJI     fuji3    2       6
3   3 00.03.47.d1.af.ec   FUJI     fuji4    1       6
3   3 00.03.47.d1.ae.f9   FUJI     fuji5    1       6
root@fuji2> cftool -e 
Localdev Srcdev Address Cluster Node      Number Joinstate
3   2 00.03.47.c2.aa.f9   FUJI     fuji2    3       6
3   2 00.03.47.c2.a8.82   FUJI     fuji3    2       6
3   3 00.03.47.d1.af.ec   FUJI     fuji4    1       6
root@fuji2> cftool -e
Localdev Srcdev Address Cluster Node       Number Joinstate
3   2 00.03.47.c2.aa.f9   FUJI     fuji2    3       6
3   2 00.03.47.c2.a8.82   FUJI     fuji3    2       6
3   3 00.03.47.d1.af.ec   FUJI     fuji4    1       6
3   3 00.03.47.d1.ae.f9   FUJI     fuji5    1       6
root@fuji2> cftool -e
Localdev Srcdev Address Cluster Node      Number Joinstate
3   2 00.03.47.c2.aa.f9   FUJI     fuji2    3       6
3   2 00.03.47.c2.a8.82   FUJI     fuji3    2       6
3   3 00.03.47.d1.af.ec   FUJI     fuji4    1       6
3   3 00.03.47.d1.ae.f9   FUJI     fuji5    1       6
root@fuji2> cftool -e
Localdev Srcdev Address Cluster Node      Number Joinstate
3   2 00.03.47.c2.aa.f9   FUJI     fuji2    3       6
3   2 00.03.47.c2.a8.82   FUJI     fuji3    2       6
3   3 00.03.47.d1.af.ec   FUJI     fuji4    1       6
3   3 00.03.47.d1.ae.f9   FUJI     fuji5    1       6

各エコー要求にはノードfuji5が表示されていません。これはノードfuji5への接続にエラーがあることを示しています。この症状が見られるのはノードfuji5だけなので、このノードに焦点を絞ります。まず、ノード上のイーサネットコマンドにエラーがないかどうかを確認します。fuji5にログインして、netstat(8)コマンド、またはip(8) コマンドを使用してネットワークインタフェース情報とエラーを検索します。

Linuxのnetstat(8) コマンド、またはip(8)コマンドは、ネットワークインタフェースに関する情報を提供します。

この問題を解決するには、以下の手順に従います。

上記の手順のいずれを実行しても問題が解決しない場合は、当社技術員 (SE) による診断が必要です。

問題

ノードfuji2をノードfuji3のクラスタに参入させようとすると、fuji3に以下のコンソールメッセージが表示される。

Aug 30 21:31:35 fuji3 kernel: CF: Local node is missing a route from node: fuji2.
Aug 30 21:31:35 fuji3 kernel: CF: missing route on local device: eth1.
Aug 30 21:31:35 fuji3 kernel: CF: Node fuji2 Joined Cluster FUJI. (#0000 3)

診断

ノードfuji2の/var/log/messagesを参照します。
メッセージ内容はコンソールと同じです。
ノードfuji3にはコンソールメッセージは表示されません。
ノードfuji3の/var/log/messagesを参照します。

fuji3: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
fuji2:cftool -d
Number  Device  Type  Speed    Mtu      State  Configured  Address
1       eth0    4     100      1432     UP     YES        00.03.47.c2.a8.3c
2       eth1    4     100      1432     UP     NO         00.02.b3.88.b8.89
3       eth2    4     100      1432     UP     NO         00.02.b3.88.b7.46

問題

eth1がノードfuji2で構成されていない。

診断

ノードfuji3の/var/log/messagesを参照します。

Aug 27 16:05:59 fuji3 kernel: e100: eth1 NIC Link is Down
Aug 27 16:06:08 fuji3 kernel: CF: Icf Error: (service err_type route_src route_dst). (#0000 0 2 1 1)
Aug 27 16:06:08 fuji3 kernel: CF: (TRACE): CFSF failure detected: no SFopen: passed  to ENS: fuji2. (#0000 1)
Aug 27 16:06:08 fuji3 kernel: CF: Node fuji2 Left Cluster FUJI. (#00001)

問題

eth1デバイスまたはインタコネクトが一時的に失敗しました。クラスタノード、ケーブル、ハブのいずれかのNICに問題がある可能性があります。

LEFTCLUSTER状態のノード

ノードfuji2がパニックし、再起動されました。ノードfuji2のコンソールに以下のメッセージが表示されます。

Aug 28 10:38:25 fuji2  kernel: CF: fuji2: busy: local node not DOWN: retrying

診断

ノードfuji2の/var/log/messagesを参照します。

Aug 28 10:38:   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: fuji3: busy: local node not DOWN: retrying

...最後のメッセージが繰り返されます。

fuji3のコンソールにも/var/log/messagesにも新しいメッセージはありません。

fuji3:cftool -n
Node        Number     State         Os       Cpu
fuji2       1          LEFTCLUSTER   Linux    Pentium 
fuji3       2          UP            Linux    Pentium

問題

ノードfuji2はクラスタを離脱しているのにDOWN宣言されていません。

診断

cftool -k

このオプションを指定すると、ノードはDOWN状態になります。稼動中のノードをDOWN宣言すると重大な障害が発生し、最悪の場合にはデータが消失する可能性があります。ノードをDOWN宣言しない場合はこのcftoolコマンドのプログラムを終了してください。

Enter node number:  1
Enter name for node #1: fuji2
cftool(down): declaring node #1 (fuji2) down
cftool(down): node fuji2 is down

ノードfuji3のコンソールに以下のメッセージが表示されます。

Aug 28 10:47:39 fuji5 kernel: CF: FUJI: fuji2  is Down. (#0000 2)
Aug 28 10:49:09 fuji5 kernel: CF: Node fuji2  Joined Cluster FUJI. (#0000 2)

ノードfuji2のコンソールに以下のメッセージが表示されます。

Aug 28 10:49:00 fuji2  kernel: CF: Local Node fuji2  Created Cluster FUJI. (#0000 1)