C.3. 一般的なクラスタの動作: 全般

電源スイッチへの接続中断、またはメンバのフェンスに失敗

一般的な原因: 制御しているメンバから切断されたシリアル電源スイッチ。 ネットワークから切断されたネットワーク電源スイッチ。

予期される動作: 電源スイッチで制御されているメンバをシャットダウンまたは 再起動できなくなります。このような場合にメンバがハングすると、 サービスは問題のスイッチで制御されているいずれのメンバからもフェイルオーバーしません。

確認: clustatを実行して、たとえメンバ構成に従って inactiveであっても、 サービスがメンバ上でrunning と表示されることを確認します。

クラスタquorumの崩壊

一般的な原因: 大半のクラスタメンバがオフラインになるため (例、5メンバのうち3メンバがオフライン)

テストケース: 3メンバクラスタで、2台のメンバ上のクラスタソフトウェアを停止します。

予期される動作: 制御している電源スイッチがないメンバはすべて直ちに再起動します。 すべてのサービスが直ちに停止し、その状態は共有メディアで更新されません (clustatを実行中、サービスステータスのブロックは サービスがまだ実行中であることを表示する可能性があります)。 サービスマネージャが終了します。クラスタロックが失われ、使用不能になります。

確認: 残っているアクティブなメンバのひとつでclustatを実行します。

メンバがクラスタquorumにある参加ステータスが無くなるのにハングしない

一般的な原因: 他のメンバへの接続が完全に中断されるため。

テストケース: クラスタメンバからすべてのネットワークケーブルをはずします。

予期される動作: メンバが制御している電源スイッチを持たない場合、 直ちに再起動します。さもなくば、できるだけ迅速にサービスの停止を試みます。 quorumが存在する場合、 クラスタquorumから構成されるメンバの集まりはそのメンバをフェンスします。

clumembdのクラッシュ

テストケース: killall -KILL clumembd

予期される動作: システムが再起動します。

watchdog使用中にclumembdがハング

テストケース: killall -STOP clumembd

予期される動作: clumembdがハングしてから (failover_time - 1)秒以上経過すると、システムの再起動が行なわれる可能性があります。 watchdogタイマーにより外部から誘発されます。

watchdogを使用していない状態でclumembdがハング

テストケース: killall -STOP clumembd

予期される動作: clumembdがハングしてから (failover_time)秒以上経過すると、システムの再起動が行なわれる可能性があります。 clumembdにより内部から誘発されます。

cluquorumdのクラッシュ

テストケース: killall -KILL cluquorumd

予期される動作: システムが再起動します。

clusvcmgrdのクラッシュ

テストケース: killall -KILL clusvcmgrd

予期される動作: cluquorumdclusvcmgrdを 再生して、すべてのサービスの停止フェーズを実行します。 停止されたサービスは起動されます。

確認: cluquorumdからの警告メッセージに関する システムログを調べます。

clulockdのクラッシュ

テストケース: killall -KILL clulockd

予期される動作: cluquorumdclulockdを 再生します。ロックは短時間の間は使用不能になる可能性があります (サービスの移行を防止)。

確認: cluquorumdからの警告メッセージに関する システムログを調べます。

クラスタサービスが正常なシャットダウンをせず、突然システムが再起動する

一般的な原因: システムの再起動の原因となるあらゆる事例

テストケース: リセットスイッチを押しながらreboot -fn

予期される動作: 電源スイッチが再起動している問題のメンバを制御する場合、 クラスタquorumが存在すればこのシステムもフェンスされます(一般的に、電源切り替え)。

正常なシャットダウン中にquorumを消失

テストケース: すべてのメンバでクラスタサービスを停止します (service clumanager stop)。

予期される動作: 残りのサービスが異常な停止になります。

確認: 警告メッセージのシステムログを調べます。

正常な STONITH フェンス作動

予期される動作: フェンスされたメンバ上のサービスは、 可能であればクラスタ内の他の場所で起動されます。

確認: メンバがフェンスされた後、実際にそのサービスが起動されていることを確認します。 これは数秒しかかからないはずです。

クラスタメンバでのフェンス操作の失敗

一般的な原因: 電源スイッチがエラーのステータスを返すか、届かないため。

テストケース: メンバを制御している電源スイッチを切って、 メンバでreboot -fnを実行します。

予期される動作: フェンスに失敗したメンバ上のサービスはクラスタ内の他の場所で 起動されません。メンバが復帰すると、クラスタ上のサービスは再起動します。 メンバの状態を正確に確認する方法がないため、 ハートビートが停止しても稼動し続けているとみなされます。 したがって、すべてのサービスはダウンしたメンバで実行中と報告されるはずです。

確認: clustatを実行して、 構成メンバに従い非アクティブであっても、 サービスがまだメンバで実行中と記されていることを確認します。 そのメンバが現在PANIC状態であることを 示しているメッセージがログされます。

共有パーティションのひとつからの読み込みエラー

テストケース: ddを実行して、 その共有パーティションにゼロを書き込みます。

	    
dd if=/dev/zero of=/dev/raw/raw1 bs=512 count=1
shutil -p /cluster/header

予期される動作: イベントがログされます。問題のない共有パーティションからのデータが エラーを返したパーティションにコピーされます。

確認: 同じデータの2回目の読み込みパスでは、2回目のエラーメッセージは出さないはずです。

両方の共有パーティションからの読み込みエラー

一般的な原因: 共有メディアがどちらかに届かない、または両方のパーティションに破損があるため。

テストケース: メンバからSCSIかファイバーチャンネルを取り除きます。

予期される動作: イベントがログされます。 共有ストレージヘのアクセス中断に対処するために設定された動作が行なわれます (reboot/halt/stop/ignore)。デフォルトの動作は再起動です。