プライマリ・コンテンツに移動
Oracle® TimesTen In-Memory Database Kubernetesオペレータ・ユーザーズ・ガイド
リリース18.1
F33742-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

9 フェイルオーバーおよびリカバリの処理

この章では、オペレータが障害からリカバリする方法について説明します。

フェイルオーバーおよびリカバリの処理

オペレータは、アクティブTimesTenデータベースおよびスタンバイTimesTenデータベースの障害を自動的に検出し、障害を修正します。オペレータは、アクティブ・データベースの障害を検出すると、スタンバイTimesTenデータベースをアクティブ・データベースに昇格させます。データベースを使用しているクライアント/サーバー・アプリケーションは、新しいアクティブ・データベースに自動的に再接続されます。処理中のトランザクションはロールバックされます。準備した文は、アプリケーションで再準備する必要があります。オペレータは、新しいスタンバイ・データベースを構成します。

フェイルオーバーおよびリカバリ・プロセスを示す例

この例では、アクティブTimesTenデータベースの障害をシミュレートします。これは、デモのみを目的としています。本番環境では実行しないでください。

  1. kubectl delete podコマンドを使用して、アクティブ・データベース(この場合はsample-0)を削除します

    % kubectl delete pod sample-0
    
  2. kubectl describeコマンドを使用して、オペレータがどのように障害からリカバリするかを確認します。オペレータは、スタンバイ・データベース(sample-1)をアクティブに昇格させます。sample-0データベースに接続されていたすべてのアプリケーションは、TimesTenによってsample-1データベースに自動的に再接続されます。短時間の停止後、アプリケーションは引き続きデータベースを使用できます。アクティブ・スタンバイ・ペアの状態の詳細は、データベースのアクティブ・スタンバイ・ペアの状態の監視を参照してください。

    ノート: この例では、3つの状態変更に対するMessage列のテキストが2行に表示されています。ただし、これら3つの状態変更に対する実際の出力は1行に表示されます。

    % kubectl describe ttc sample
    Name:         sample
    ...
    Events:
      Type  Reason       Age    From       Message
      ----  ------       ----   ----       -------
      -     StateChange  2m1s   ttclassic  TimesTenClassic sample: was Normal,
    now ActiveDown
      -     StateChange  115s   ttclassic  Pod sample-1 Database Updatable: Yes
      -     StateChange  115s   ttclassic  TimesTenClassic sample:was ActiveDown,
    now StandbyDown
      -     StateChange  115s   ttclassic  Pod sample-1 RepState ACTIVE
      -     StateChange  110s   ttclassic  Pod sample-0 High Level State Unknown
      -     StateChange  63s    ttclassic  Pod sample-0 Pod Phase Running
      -     StateChange  63s    ttclassic  Pod sample-0 Agent Up
      -     StateChange  63s    ttclassic  Pod sample-0 Instance Exists
      -     StateChange  63s    ttclassic  Pod sample-0 Daemon Up
      -     StateChange  63s    ttclassic  Pod sample-0 Database None
      -     StateChange  42s    ttclassic  Pod sample-0 Database Loaded
      -     StateChange  42s    ttclassic  Pod sample-0 Database Updatable: No
      -     StateChange  42s    ttclassic  Pod sample-0 RepAgent Running
      -     StateChange  42s    ttclassic  Pod sample-0 CacheAgent Not Running
      -     StateChange  42s    ttclassic  Pod sample-0 RepScheme Exists
      -     StateChange  42s    ttclassic  Pod sample-0 RepState IDLE
      -     StateChange  36s    ttclassic  Pod sample-0 High Level State Healthy
      -     StateChange  36s    ttclassic  Pod sample-0 RepState STANDBY
      -     StateChange  36s    ttclassic  TimesTenClassic sample:was StandbyDown,
    now Normal
    

    Kubernetesは新しいsample-0ポッドを自動的に生成し、削除したポッドに置き換えます。オペレータはそのポッド内でTimesTenを構成し、ポッドのデータベースを新しいスタンバイ・データベースとして起動します。データベースのレプリケート・ペアは、再び正常に機能します。