参入関連の問題はノードがクラスタに参入しようとしたときに発生します。ここでは、それまでクラスタへの参入に成功していたノードを対象に説明します。はじめてノードがクラスタに参入する場合の初期起動の問題については、動作確認のセクションを参照してください。これまでクラスタに参入できていたノードが再参入に失敗した場合、以下の手順で問題を特定します。
まず、エラーログおよびコンソールのメッセージを参照して問題の手がかりを探します。イーサネットドライバのエラーが発生していないか、その他のエラーが発生していないかなどを確認します。システムの他の部分にエラーがある場合、まずそのエラーを修正します。他のエラーを修正したら、またはシステムの他の部分にエラーがなければ、以下の手順に従います。
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)コマンドは、ネットワークインタフェースに関する情報を提供します。
この問題を解決するには、以下の手順に従います。
cftool -eの実行を繰り返し、netstat -i、またはip -s linkを参照する。cftool(1M) の結果が常に同じで、入力エラーが発生しなくなるか、大幅に減れば、問題は解決します。
イーサネットケーブルを交換する。
イーサネットハブまたはスイッチの他のポートを使用するか、ハブまたはスイッチを交換する。または一時的にクロスコネクトケーブルを使用する。
上記の手順のいずれを実行しても問題が解決しない場合は、当社技術員 (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)