TimesTenClassicオブジェクトの高レベル状態について
TimesTenオペレータは、レプリケートされた構成およびレプリケートされない構成のTimesTenClassicオブジェクトの高レベル状態を追跡します。レプリケートされたTimesTenClassicオブジェクトの場合、高レベル状態はアクティブ・スタンバイ・ペアのTimesTenデータベースを示します。レプリケートされない構成の各TimesTenデータベースは独立しているため、レプリケートされないTimesTenClassicオブジェクトの高レベル状態は、TimesTenデータベースのレプリカの正常性を示します。たとえば、TimesTenClassicオブジェクトのすべてのレプリカが稼働中で正しく機能している場合、高レベル状態はAllReplicasReadyです。kubectl get eventsまたはkubectl get ttcを使用して、TimesTenClassicオブジェクトの状態を監視します。
次の表に、TimesTenClassicオブジェクトの高レベル状態を示し、その状態がレプリケート・オブジェクトでサポートされるのか、レプリケートされないオブジェクト(あるいはその両方)でサポートされるのかを示します:
| 状態 | レプリケート・オブジェクト | レプリケートされないオブジェクト |
|---|---|---|
|
Y |
N |
|
|
Y |
N |
|
|
N |
Y |
|
|
Y |
N |
|
|
Y |
N |
|
|
Y |
Y |
|
|
Y |
Y |
|
|
Y |
Y |
|
|
N |
Y |
|
|
Y |
N |
|
| Reexamine |
Y |
Y |
|
N |
Y |
|
|
Y |
N |
|
|
Y |
N |
|
|
Y |
N |
|
|
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データベースは実行されていません。
Reexamine
TimesTenClassicオブジェクトがManualInterventionRequired状態の場合は、.spec.ttspec.reexamineデータ項目を指定すると、TimesTenオペレータによってそのオブジェクトの管理が引き継がれます。TimesTenオペレータはオブジェクトをReexamine状態にします。その後、オペレータはTimesTenの状態を調べます。
-
TimesTenを正しく修復した場合、オペレータは、修復の性質に応じてTimesTenClassicオブジェクトを
Normalま状態たはStandbyDown状態にします。 -
TimesTenを正しく修復しなかった場合、TimesTenClassicオブジェクトは
ManualInterventionRequired状態になります。
-
TimesTenを正しく修復した場合、TimesTenClassicオブジェクトは
AllReplicasReady状態になります。 -
TimesTenを正しく修復しなかった場合、TimesTenClassicオブジェクトは
ManualInterventionRequired状態になります。
StandbyCatchup
この状態になるのは、StandbyStarting状態の後です。StandbyStarting状態の場合、スタンバイはアクティブ・データベースをスタンバイ・ポッドにコピーします。複製プロセスが完了すると、状態がStandbyStartingからStandbyCatchupに変わります。「StandbyStarting」を参照してください。StandbyCatchup状態の場合、複製プロセスが完了しています。この複製プロセス中に実行されたトランザクションをスタンバイにコピーする必要があります。したがって、StandbyCatchup状態は、新しく作成されたスタンバイが、複製操作の実行中にアクティブで実行されたトランザクションにキャッチアップするときの状態です。アプリケーションは、制限なしにアクティブを引き続き使用できます。
StandbyDown
アクティブ・データベースは適切に機能していますが、スタンバイ・データベースは機能していません。TimesTenオペレータは、スタンバイ・データベースの再起動および再構成を自動的に試行します。アプリケーションは、制限なしにアクティブ・データベースを引き続き使用できます。
StandbyStarting
スタンバイがアクティブからデータベースを複製しています。StandbyStarting状態は、複製操作が完了すると完了します。次に、StandbyCatchup状態になります。「StandbyCatchup」を参照してください。アプリケーションは、制限なしにアクティブを引き続き使用できます。
WaitingForActive
TimesTenClassicオブジェクトがBothDown状態の場合で、TimesTenオペレータが最新のデータを含むデータベースを判別できる場合、TimesTenClassicオブジェクトはWaitingForActive状態になります。オブジェクトは、データベースを含むポッドが実行中で、ttコンテナ内のTimesTenエージェント(そのポッド内)がTimesTenオペレータに応答するまで、この状態のままです。「BothDown状態について」を参照してください。