Sun Java System Application Server Enterprise Edition 8.2 トラブルシューティングガイド

説明

ディスクの競合は、ディスク装置に対するユーザーデータの読み取り/書き込み、および HADB から履歴ファイルへの書き込みに悪影響を与えることがあります。重度のディスク競合は、ユーザートランザクションの遅延や異常終了の原因となります。履歴ファイルへの書き込みが遅延すると、ノードの再起動が発生することがあり、最悪の場合、二重障害になります。

ディスクの競合は、データ、ログデバイス、および履歴ファイル用に使用しているディスクのディスク入出力を OS から監視することで識別できます。履歴ファイルへの書き込み遅延は、HADB 履歴ファイルに記録されます。「NSUP BEWARE timestamp Last flush took too long (x msecs).」というメッセージが遅延を表しています。

この警告は、ディスク入出力に要した時間が異常に長いという意味です。遅延が 10 秒を超えると、ノードスーパーバイザによって trans プロセスが再起動され、次のようなエラーメッセージが表示されます。

Child process trans0 10938 does not respond.
Child died - restarting nsup.
Psup::stop: stopping all processes.

このメッセージは、trans (clu_trans_srv ) プロセスが、ほかの動作 (たとえば、履歴ファイルへの書き込みの待機中) のためにビジー状態になったままで、trans プロセスのハートビートをチェックするノードスーパーバイザの要求に応答できないことを示しています。このため、nsuptrans が終了していると判断され、プロセスが再起動されます。

プロセスが多すぎる (多くの HADB ノードはほかのプロセスと共存している) ためにオペレーティングシステムがオーバーロード状態になると、入出力動作のスケジューリングに遅延が生じることがあります。HADB 関連の入出力処理が遅延すると、HADB ノードから履歴ファイルに「HADB warning: Schedule of async <read,write\> operation took ...」というメッセージが書き込まれます。

この問題は特に、Red Hat AS 2.1 で複数の HADB ノードが同じホスト上に配置され、すべてのノードでデバイスの配置に同じディスクを使用する場合に生じることが報告されています。