ファイル・システムのタイプは、 使用するトランザクション・ピア・リカバリーの種類を決定する際の主な要素です。 ファイル・システムが異なれば振る舞いも異なり、 特にファイル・ロックの振る舞いは、自動と手動のピア・リカバリーのいずれかを選択する場合に重要です。
WebSphere Application Server の高可用性 (HA) サポートは、ハートビート・メカニズムを使用して、 サーバーがまだ稼働しているかどうかを判別します。 サーバーは、ハートビート要求に対する応答が停止したときに、障害が発生していると判断されます。 システム過負荷とネットワーク分割 (このトピックで説明されています) などの一部のシナリオでは、 サーバーが依然として稼働中であっても、サーバーのハートビートへの応答が停止することがあります。 WebSphere Application Server は、ファイル・ロックのテクノロジーを使用して、 こうしたイベントによってトランザクション・リカバリー・ログへの並行アクセスが発生しないようにします。 これは、複数のサーバーがリカバリー・ログにアクセスすることによって、データ保全性が失われる可能性があるためです。
しかし、すべてのファイル・システムに、必要なファイル・ロックのセマンティクスが提供されているわけではあ りません。具体的には、サーバー障害時にファイル・ロックが解除されることについてです。 例えば、Network File System バージョン 4 (NFSv4) ではこの解除の振る舞いが行われますが、 Network File System バージョン 3 (NFSv3) では行われません。
NFSv4 は、ホストの障害時に、ホストに代わって保留されているロックを解除します。 ピア・リカバリーは、障害のあるハードウェアを再始動しなくても自動的に行われます。 したがって、このバージョンの NFS は、自動ピア・リカバリーでの使用により適しています。
NFSv3 は、障害のあるホストが再始動するまで、ホストに代わってファイル・ロックを保留します。 このコンテキストでは、ホストとは、ロックを要求したアプリケーション・サーバーを実行する物理マシンであり、 アプリケーション・サーバーの再始動ではなく、 ホストの再始動により、最終的にロックの解除が引き起こされます。
この振る舞いのため、NFSv3 では自動ピア・リカバリーを使用するために、ファイル・ロックを使用不可にする必要があります。 ファイル・ロックを使用不可にすると、リカバリー・ログへの並行アクセスが行われる可能性があります。 したがって、まず、システムでシステムの過負荷とネットワーク分割が発生しないようにする 必要があります。 あるいは、手動のピア・リカバリーを構成することもできます。 この場合、実際に障害が発生しているサーバーに限定してピア・リカバリー処理を手動で起動し、並行アクセスを回避します。
正常に稼働中、ネットワーク上の 2 つのサーバーは、ハートビートを交換します。 システム過負荷が起こっている間、ハートビート操作はタイムアウトとなり、サーバー障害が発生しているように見え ます。 ネットワーク分割後、各サーバーは別個のネットワーク内に置かれ、サーバー間でハートビートをやりとりでき なくなり、 サーバー障害が発生しているように見えます。