デバイス確認スレッドがそれほど迅速に処理を完了していない場合、スレッドがハングしているというメッセージが LifeKeeper ログに記録されることがあります。これにより、リソースがあるサーバから別のサーバに移動し、さらに悪いケースでは、サーバが停止する可能性があります。
説明
(/etc/default/LifeKeeperの) FAILFASTTIMER は、各デバイスが正常に動作していること、および特定のシステムによって所有されているすべてのリソースがそのシステムからアクセス可能で、そのシステムに所有されていることを確認するための秒数を定義します。FAILFASTTIMER は、この所有権を確定し、データの信頼性を最大限に確保するために、可能なかぎり小さくする必要があります。ただし、デバイスがビジー状態で、負荷がピークの場合、指定した時間内で応答できない可能性もあります。デバイスの操作が FAILFASTTIMER よりも長くかかっている場合、LifeKeeper はデバイスがハングしている可能性を検討します。FAILFASTTIMER の時間を 3 回繰り返してもデバイスが応答しない場合、LifeKeeper は、デバイスに障害が発生したものとみなして、リカバリを実行します。リカバリプロセスは、SCSIERROR の設定で定義します。SCSIERROR の設定によっては、ローカルリカバリを実行し、失敗した場合はスイッチオーバを実行するために sendevent が発行されることもあります。この操作がない場合、システムが停止するおそれもあります。
推奨される対策:
ハングメッセージがまれにエラーログに出力され、もうハングしていないというメッセージがそれに続く場合、さらに括弧の数が常に 1 つの場合、それほど警戒する理由はありません。ただし、このメッセージが頻繁にログに記録され、数が 2 または 3 の場合、以下の 2 つの処置が必要になる可能性があります。
- ストレージの負荷を減らすことを試みる。ストレージの処理に FAILFASTTIMER (デフォルトでは、5 秒または 15 秒を 3 回) の 3 倍の時間がかかっている場合、ストレージに対する負荷を考慮し、I/O の長い遅延を避けるために負荷を分散する必要があります。これにより、LifeKeeper は、デバイスを頻繁に確認できるようになり、さらにそのデバイスを使用しているアプリケーションのパフォーマンスも向上します。
- ストレージの負荷を減らすことを試みる。ストレージの処理に FAILFASTTIMER (デフォルトでは、5 秒または 15 秒を 3 回) の 3 倍の時間がかかっている場合、ストレージに対する負荷を考慮し、I/O の長い遅延を避けるために負荷を分散する必要があります。これにより、LifeKeeper は、デバイスを頻繁に確認できるようになり、さらにそのデバイスを使用しているアプリケーションのパフォーマンスも向上します。
- 負荷を減らすことができない場合、FAILFASTTIMER をデフォルトの 5 秒から増やすことができます。この値は、できる限り低く抑える必要があります。そのため、メッセージがまったく表示されなくなるか、まれにしか表示されなくなるまで、少しずつ値を増やしてください。
- 負荷を減らすことができない場合、FAILFASTTIMER をデフォルトの 5 秒から増やすことができます。この値は、できる限り低く抑える必要があります。そのため、メッセージがまったく表示されなくなるか、まれにしか表示されなくなるまで、少しずつ値を増やしてください。
注記: FAILFASTTIMER の値が変更された場合、新しい値を有効にするために、LifeKeeper を終了し、再起動する必要があります。
このトピックへフィードバック