18.3. Data Grid クラスターの復元

バックアップアーカイブから Data Grid クラスターの状態を復元します。

前提条件

  • ソースクラスターに Backup CR を作成します。
  • Data Grid サービス Pod のターゲット Data Grid クラスターを作成します。

    注記

    既存のキャッシュを復元する場合、操作はキャッシュ内のデータを上書きしますが、キャッシュ設定は上書きしません。

    たとえば、ソースクラスターに mycache という名前の分散キャッシュをバックアップします。次に、すでに複製されたキャッシュとして存在するターゲットクラスターで mycache を復元します。この場合、ソースクラスターからのデータは復元され、mycache はターゲットクラスターで複製された設定を維持します。

  • 復元するターゲットの Data Grid クラスターにアクティブなクライアント接続がないことを確認します。

    バックアップから復元したキャッシュエントリーは、最近のキャッシュエントリーを上書きする可能性があります。
    たとえば、クライアントが cache.put(k=2) 操作を実行してから、k=1 を含むバックアップを復元します。

手順

  1. metadata.name フィールドで Restore CR に名前を付けます。
  2. spec.backup フィールドで使用する Backup CR を指定します。
  3. spec.cluster フィールドで復元する Data Grid クラスターを指定します。

    apiVersion: infinispan.org/v2alpha1
    kind: Restore
    metadata:
      name: my-restore
    spec:
      backup: my-backup
      cluster: target-cluster
  4. 任意で spec.resources フィールドを追加して、特定のリソースのみを復元します。

    spec:
      ...
      resources:
        templates:
          - distributed-sync-prod
          - distributed-sync-dev
        caches:
          - cache-one
          - cache-two
        counters:
          - counter-name
        protoSchemas:
          - authors.proto
          - books.proto
        tasks:
          - wordStream.js
  5. Restore CR を適用します。

    oc apply -f my-restore.yaml

検証

  • status.phase フィールドに Restore CR の Succeeded のステータスがあり、Data Grid ログに以下のメッセージがあることを確認します。

    ISPN005045: Restore 'my-backup' complete

その後、Data Grid コンソールを開くか、CLI 接続を確立して、データおよび Data Grid リソースが予想通りに復元されていることを確認します。