14.2. Data Grid クラスターのバックアップ

Data Grid クラスターの状態を永続ボリュームに保存するバックアップファイルを作成します。

前提条件

  • Infinispan CR を spec.service.type: DataGrid を使用して作成します。
  • Data Grid クラスターへのアクティブなクライアント接続がないことを確認します。

    Data Grid のバックアップは、スナップショットの分離を提供しません。また、キャッシュがバックアップされた後、データの変更はアーカイブに書き込まれません。
    クラスターの正確な状態をアーカイブするには、バックアップする前に、クライアントを常に切断する必要があります。

手順

  1. metadata.name フィールドで Backup CR に名前を付けます。
  2. spec.cluster フィールドでバックアップする Data Grid クラスターを指定します。
  3. spec.volume.storage および spec.volume.storage.storageClassName フィールドで、バックアップアーカイブを永続ボリューム (PV) に追加する Persistent Volume Claim(永続ボリューム要求、PVC) を設定します。

    apiVersion: infinispan.org/v2alpha1
    kind: Backup
    metadata:
      name: my-backup
    spec:
      cluster: source-cluster
      volume:
        storage: 1Gi
        storageClassName: my-storage-class
  4. 任意で spec.resources フィールドを含めて、バックアップを作成する Data Grid リソースを指定します。

    spec.resources フィールドを含めない場合、Backup CR はすべての Data Grid リソースが含まれるアーカイブを作成します。spec.resources フィールドを指定した場合、Backup CR はそれらのリソースのみが含まれるアーカイブを作成します。

    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

    以下の例のように * ワイルドカード文字を使用することもできます。

    spec:
      ...
      resources:
        caches:
          - "*"
        protoSchemas:
          - "*"
  5. Backup CR を適用します。

    $ oc apply -f my-backup.yaml

検証

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

    ISPN005044: Backup file created 'my-backup.zip'
  2. 以下のコマンドを実行して、バックアップが正常に作成されていることを確認します。

    $ oc describe Backup my-backup