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状態について」を参照してください。