13 障害からのリカバリ

エラー条件や障害状況が発生した場合、可用性に影響することがあります。エラー状態から自動的にリカバリできる場合は、標準操作が再開されます。ただし、障害からリカバリするためにユーザーによる介入が必要になる場合があります。

TimesTen Scaleoutには、TimesTen Scaleoutを使用するすべてのアプリケーションの継続的操作を維持するために、多数のエラーおよび障害状況に対する自動リカバリ付きのエラーおよび障害検出機能が備わっています。エラーおよび障害状況には、次のものがあります。

  • ソフトウェア・エラー。

  • ネットワークの停止またはその他の通信チャネルの障害。通信チャネルは、TCP接続です。

  • データ・インスタンスをホストしている1つ以上のマシンの、予期しない再起動またはクラッシュ。

  • インスタンスのTimesTenメイン・デーモンまたはそのいずれかのサブデーモンの障害。

  • 要素は、ロック待ちで一時停止されるか、高負荷になると、低速になるか応答しなくなります。

  • データ・インスタンスをホストするマシンまたはマシンのラックが、不明な理由で予期せず停止した場合。

エラー条件および障害状況に対して必要な対応は、次のとおりです。

  • 一時エラー: 一時エラーは、TimesTen Scaleoutで通常は迅速に解決できる、一時的な状態が原因で発生します。失敗したトランザクションをすぐに再試行でき、再試行は通常は成功します。

  • 要素の障害: 要素に障害が発生した場合、TimesTen Scaleoutでは、ほとんどの場合、その要素を自動的にリカバリできます。ただし、要素の障害の状況によっては、ユーザーが問題を解決する必要がある場合があります。要素の障害に対するアプリケーションの対応は、グリッドおよびデータベースの構成によって異なる場合があります。問題の修正後、TimesTen Scaleoutによって要素がリカバリされ、操作が継続されるか、障害が発生した要素のかわりとなる新規要素をユーザーが提供します。

  • レプリカ・セットの障害: レプリカ・セット内のすべての要素に障害が発生した場合、(元となる障害の問題が解決された後で) TimesTen Scaleoutにより自動的に要素をリカバリする方法が用意されています。シード要素と呼ばれる、最新の変更を持つ要素が最初にリカバリされます。その後、後続のすべての要素がシード要素からリカバリされます。

  • データベースの障害: すべてのレプリカ・セットに障害が発生した場合、データベースに障害が発生したとみなされます。リカバリするには、データベースを再ロードする必要があります。再ロードされたときにデータベースがどのようにリカバリされるかは、Durability属性の値によって決まります。

  • データ分散の失敗: データ分散プロセスが中断されたか完了に失敗した場合は、データの再同期を試行できます。再同期には、ttGridAdmin dbDistribute -resync操作の実行が含まれます。

次の各項では、エラーまたは障害状況およびリカバリについて説明しています。