TimesTenClassicオブジェクトの高レベル状態について

TimesTenオペレータは、レプリケートされた構成およびレプリケートされない構成のTimesTenClassicオブジェクトの高レベル状態を追跡します。レプリケートされたTimesTenClassicオブジェクトの場合、高レベル状態はアクティブ・スタンバイ・ペアのTimesTenデータベースを示します。レプリケートされない構成の各TimesTenデータベースは独立しているため、レプリケートされないTimesTenClassicオブジェクトの高レベル状態は、TimesTenデータベースのレプリカの正常性を示します。たとえば、TimesTenClassicオブジェクトのすべてのレプリカが稼働中で正しく機能している場合、高レベル状態はAllReplicasReadyです。kubectl get eventsまたはkubectl get ttcを使用して、TimesTenClassicオブジェクトの状態を監視します。

次の表に、TimesTenClassicオブジェクトの高レベル状態を示し、その状態がレプリケート・オブジェクトでサポートされるのか、レプリケートされないオブジェクト(あるいはその両方)でサポートされるのかを示します:

状態 レプリケート・オブジェクト レプリケートされないオブジェクト

ActiveDown

Y

N

ActiveTakeover

Y

N

AllReplicasReady

N

Y

BothDown

Y

N

ConfiguringActive

Y

N

Failed

Y

Y

Initializing

Y

Y

ManualInterventionRequired

Y

Y

NoReplicasReady

N

Y

Normal

Y

N

Reexamine

Y

Y

SomeReplicasReady

N

Y

StandbyCatchup

Y

N

StandbyDown

Y

N

StandbyStarting

Y

N

WaitingForActive

Y

N

ActiveDown

アクティブ・データベースを含むポッドのTimesTenで障害が発生したことがTimesTenオペレータによって検出された場合、TimesTenClassicオブジェクトはすぐにActiveDown状態になります。

unreachableTimeoutタイムアウト値は、TimesTenClassicオブジェクトの状態がActiveDownになる前に、アクティブ・データベースを含むポッドの状態をUnknownにできる期間を制御します。

TimesTenClassicオブジェクトの状態がActiveDownになると、スタンバイ・データベースはただちにアクティブになり、TimesTenClassicオブジェクトの状態はStandbyDownになります。

ActiveTakeover

TimesTenClassicオブジェクトがNormal状態であるときに、スタンバイ・データベースが停止すると、状態はActiveTakeoverに一時的に変更されます。

通常、AWTキャッシュ・グループを使用する場合、スタンバイはTimesTenからOracle Databaseへの更新のプッシュを担当します。ただし、スタンバイが失敗した場合、アクティブ・データベースはこの責任を引き継ぎます。これは、ActiveTakeover状態で発生します。

AllReplicasReady

レプリケートされないTimesTenClassicオブジェクトの場合、すべてのレプリカが準備完了になり、使用可能になります。TimesTenデータベースは稼働中であり、正常に動作しています。

BothDown

アクティブ・データベースもスタンバイ・データベースも正常に動作していません。TimesTenオペレータは、データベースのペアの起動を試行します。

アクティブ・スタンバイ・ペアの両方のポッドで障害が発生した場合、TimesTenオペレータはTimesTenClassicStatusの情報を使用してデータ損失を最小限に抑えます。「BothDown状態について」を参照してください。

ConfiguringActive

TimesTenClassicオブジェクトがWaitingForActive状態であるときに、アクティブ・データベースにする必要があるデータベースが起動すると、TimesTenClassicオブジェクトはConfiguringActive状態になります。その後、TimesTenオペレータは、このデータベースがアクティブになるように構成します。データベースがアクティブとして構成されると、TimesTenClassicオブジェクトはStandbyDown状態になります。「BothDown状態について」を参照してください。

Failed

TimesTenClassicオブジェクトがInitializingの間に問題が発生した場合、オブジェクトはFailed状態に移行します。この状態になると、TimesTenオペレータはオブジェクトの修復を試行しません。削除する必要があります。kubectl get eventsコマンドを使用して問題の原因を特定し、オブジェクトを再作成します。

Initializing

TimesTenClassicオブジェクトを作成すると、TimesTenオペレータは、TimesTenClassicオブジェクトに必要なKubernetes StatefulSetsおよびシークレットを作成します。TimesTenポッドが起動すると、TimesTenオペレータによってinitializing状態がTimesTenClassicオブジェクトに割り当てられます。

ManualInterventionRequired

TimesTenClassicオブジェクトがManualInterventionRequired状態になると、TimesTenオペレータはオブジェクトに対するそれ以降の処理を実行しません。TimesTenの状態を判断するためにオブジェクトに関連付けられたTimesTenエージェントは問合せされず、TimesTenは何も実行しません。

レプリケートされたTimesTenClassicオブジェクトについては、「レプリケート・オブジェクトのManualInterventionRequired状態について」および「1つのデータベースの起動について」を参照してください。

NoReplicasReady

レプリケートされないTimesTenClassicオブジェクトの場合、準備が完了したレプリカまたは使用可能なレプリカはありません。TimesTenデータベースは実行されていません。

Normal

レプリケート・オブジェクトの場合、Normal状態は、TimesTenデータベースが稼働中であり、正しく機能していることを示します。

Reexamine

TimesTenClassicオブジェクトがManualInterventionRequired状態の場合は、.spec.ttspec.reexamineデータ項目を指定すると、TimesTenオペレータによってそのオブジェクトの管理が引き継がれます。TimesTenオペレータはオブジェクトをReexamine状態にします。その後、オペレータはTimesTenの状態を調べます。

レプリケートされたTimesTen Classicオブジェクトの場合、TimesTenオペレータは次のことを実行します:
  • TimesTenを正しく修復した場合、オペレータは、修復の性質に応じてTimesTenClassicオブジェクトをNormalま状態たはStandbyDown状態にします。

  • TimesTenを正しく修復しなかった場合、TimesTenClassicオブジェクトはManualInterventionRequired状態になります。

レプリケートされないTimesTenClassicオブジェクトの場合、TimesTenオペレータは次を実行します:
  • TimesTenを正しく修復した場合、TimesTenClassicオブジェクトはAllReplicasReady状態になります。

  • TimesTenを正しく修復しなかった場合、TimesTenClassicオブジェクトはManualInterventionRequired状態になります。

SomeReplicasReady

レプリケートされないTimesTenClassicオブジェクトの場合、すべてのレプリカではなく、一部のレプリカが準備完了になり、使用可能になります。

StandbyCatchup

この状態になるのは、StandbyStarting状態の後です。StandbyStarting状態の場合、スタンバイはアクティブ・データベースをスタンバイ・ポッドにコピーします。複製プロセスが完了すると、状態がStandbyStartingからStandbyCatchupに変わります。「StandbyStarting」を参照してください。StandbyCatchup状態の場合、複製プロセスが完了しています。この複製プロセス中に実行されたトランザクションをスタンバイにコピーする必要があります。したがって、StandbyCatchup状態は、新しく作成されたスタンバイが、複製操作の実行中にアクティブで実行されたトランザクションにキャッチアップするときの状態です。アプリケーションは、制限なしにアクティブを引き続き使用できます。

StandbyDown

アクティブ・データベースは適切に機能していますが、スタンバイ・データベースは機能していません。TimesTenオペレータは、スタンバイ・データベースの再起動および再構成を自動的に試行します。アプリケーションは、制限なしにアクティブ・データベースを引き続き使用できます。

StandbyStarting

スタンバイがアクティブからデータベースを複製しています。StandbyStarting状態は、複製操作が完了すると完了します。次に、StandbyCatchup状態になります。「StandbyCatchup」を参照してください。アプリケーションは、制限なしにアクティブを引き続き使用できます。

WaitingForActive

TimesTenClassicオブジェクトがBothDown状態の場合で、TimesTenオペレータが最新のデータを含むデータベースを判別できる場合、TimesTenClassicオブジェクトはWaitingForActive状態になります。オブジェクトは、データベースを含むポッドが実行中で、ttコンテナ内のTimesTenエージェント(そのポッド内)がTimesTenオペレータに応答するまで、この状態のままです。「BothDown状態について」を参照してください。