データベースのアクティブ・スタンバイ・ペアの状態の監視について

オペレータは、アクティブ・スタンバイ・ペアのそれぞれの状態を監視および管理します。オペレータは、監視および確認が可能なTimesTenClassicオブジェクトに高レベルの状態を割り当てます。たとえば、kubectl getコマンドを使用して、TimesTenClassicオブジェクトの高レベルの状態を返すことができます。具体的には、この例では、STATEフィールドに返される値はNormalであり、アクティブ・データベースとスタンバイ・データベースが稼働中で、正常に動作していることを示しています。

% kubectl get ttc sample
NAME     STATE    ACTIVE     AGE
sample   Normal   sample-0   15h

状態:

ActiveDown

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

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

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

ActiveTakeover

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

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

BothDown

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

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

ConfiguringActive

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

Failed

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

Initializing

この状態は、2つのポッドが初めて起動するときに報告されます。アクティブ・スタンバイ・ペア構成では、名前が-0で終わるポッドが最初にアクティブ・データベースとして構成され、名前が-1で終わるポッドが最初にスタンバイ・データベースとして構成されます。具体的には、TimesTenClassicの名前をsampleに指定すると、sample-0ポッドがアクティブ・データベースとして構成され、sample-1ポッドがスタンバイ・データベースとして構成されます。アクティブ/スタンバイ・ペアが完全にデプロイされると、TimesTenClassicオブジェクトはNormal状態に移行します。

ManualInterventionRequired

TimesTenClassicオブジェクトがManualInterventionRequired状態になると、オペレータはオブジェクトに対するそれ以上の処理を実行しません。TimesTenの状態を判断するためにオブジェクトに関連付けられたTimesTenエージェントは問合せされず、TimesTenは何も実行しません。詳細は、「ManualInterventionRequired状態について」および「1つのデータベースの起動について」を参照してください。

Normal

どちらのデータベースも稼働中で、正常に動作しています。

Reexamine

TimesTenClassicオブジェクトがManualInterventionRequired状態である場合は、.spec.ttspec.reexamineデータ項目を指定すると、オペレータによって再びそのオブジェクトが管理されるようになります。オペレータはオブジェクトをReexamine状態にします。その後、オペレータはTimesTenの状態を調べます。TimesTenを正しく修復した場合、TimesTenClassicオブジェクトは、修復の性質に応じてNormalまたはStandbyDown状態になります。TimesTenを正しく修復しなかった場合、TimesTenClassicオブジェクトは再度ManualInterventionRequired状態になります。詳細は、「ManualInterventionRequired状態について」を参照してください。

StandbyCatchup

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

StandbyDown

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

StandbyStarting

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

WaitingForActive

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