TimesTen Scaleoutの管理について

TimesTen Scaleoutでは、永続性とリカバリ機能を備えた高可用性インメモリー・データベース内での、高いパフォーマンス、フォルト・トレランスおよびスケーラビリティが実現されます。1つのデータベースが複数のホストに分散されるため、そのデータベースの一部のコンポーネントで障害が発生しても他のコンポーネントは引き続き動作します。

TimesTen Scaleoutでは、すべてのアプリケーションが継続的に動作するように、多数のエラー状況と障害状況のための、自動リカバリ機能があるエラー検出および障害検出がサポートされています。

TimesTenオペレータにより、TimesTen Scaleoutの障害に対処する方法のベスト・プラクティスが実装されます。TimesTen Scaleoutが障害にどのように対処するかの詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』障害からのリカバリを参照してください

具体的には、オペレータは次の障害ケースを検出しそれに対処します。
  • TimesTenインスタンスまたは要素に障害が発生した場合は、オペレータによってそれが再起動されます。

  • レプリカ・セット全体に障害が発生し、レプリカ・セット内のすべての要素がwaiting for seed状態に達した場合は、オペレータによってデータベースがアンロードされてからリロードされてそれが解決されます(デフォルト)。ダウンしたレプリカ・セットがTimesTen Scaleoutでどのようにリカバリされるかの詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』ダウンしたレプリカ・セットからのリカバリを参照してください。

  • すべてのデータ・インスタンスに障害が発生した場合は、オペレータによってその障害が検出され報告されます。

オペレータは、TimesTenが実行されている各ポッド内のttコンテナにおいて動作しているTimesTenエージェントと通信します。そのエージェントは、そのコンテナ内で実行されているTimesTenの状態について情報を特定し、その情報をオペレータに送り返します。オペレータは、この情報を分析し、TimesTenの正常性と状態を判断します。この情報は、詳細かつ明らかな内容に要約されます。オペレータは、ステート・マシンを使用して、障害を検出するために実行する一連の適切なコマンドを判断し、可能な場合はTimesTenを修復します。これらの状態については、この章の後半で説明します。

次は、オペレータがどのようにTimesTen Scaleoutを検出し修復するかを詳しく説明します。具体的には、オペレータが単一データ・インスタンスの障害、管理インスタンスの障害、レプリカ・セット全体の障害およびデータベース全体の障害にどのように対処するかを説明します。