-
Language:
日本語
-
Language:
日本語
Data Grid クラスターのバックアップおよび復元
Data Grid Operator は、障害復旧のため、または Data Grid バージョン間で移行する際に、Data Grid クラスターの状態のバックアップおよび復元を可能にするカスタムリソース (CR) を監視します。
Backup
CR- Data Grid クラスターのコンテンツを永続ボリュームにアーカイブします。
Restore
CR- アーカイブしたコンテンツを Data Grid クラスターに復元します。
1. Data Grid クラスターのバックアップ
Data Grid クラスターの状態を永続ボリュームに保存するバックアップファイルを作成します。
前提条件
spec.service.type: DataGrid
のInfinispan
CR を作成します。- バックアップを作成する Data Grid クラスターのリソースがあります。バックアップは、キャッシュ、キャッシュエントリー、キャッシュテンプレート、Protobuf スキーマ、カウンター、スクリプトなど、Cache Manager が管理するすべてのリソースをアーカイブします。
重要
Data Grid のバックアップは、スナップショットの分離を提供しません。バックアップ操作がすでにアーカイブされているキャッシュエントリーで書き込み操作が実行される場合、書き込みがバックアップされない可能性があります。クラスターの正確な状態を確実にアーカイブするには、クラスターのバックアップを行う前に、クラスターにアクティブなクライアント接続がないことを確認してください。
手順
Backup
CR を作成します。metadata.name
フィールドでBackup
CR に名前を付けます。spec.cluster
フィールドでバックアップする Data Grid クラスターを指定します。apiVersion: infinispan.org/v2alpha1 kind: Backup metadata: name: my-backup spec: cluster: source-cluster
- 特定のリソースのみのバックアップを作成する場合は、
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
*
ワイルドカード文字を使用して、すべてのリソースをバックアップすることもできます。spec: resources: caches: - "*" protoSchemas: - "*"
Backup
CR を適用します。$ oc apply -f my-backup.yaml
新しい Pod は Data Grid クラスターに参加し、バックアップファイルを作成します。操作が完了すると、Pod はクラスターを離れ、以下のメッセージをログに記録します。ISPN005044: Backup file created 'my-backup.zip'
生成されるバックアップファイルは/opt/infinispan/backups
ディレクトリーに保存されます。- 以下のコマンドを実行して、バックアップが成功したことを確認します。
$ oc describe Backup my-backup
2. Data Grid クラスターの復元
バックアップアーカイブから Data Grid クラスターの状態を復元します。
前提条件
- ソースクラスターに
Backup
CR を作成します。 - 状態を復元する Data Grid サービスノードの Data Grid クラスターを作成します。重要バックアップを復元する前に、クラスターにアクティブなクライアント接続がないことを確認してください。バックアップから復元したキャッシュエントリーは、最近のキャッシュエントリーを上書きする可能性があります。たとえば、クライアントは、
k=1
が含まれるバックアップを復元する前にcache.put(k=2)
を実行します。
手順
Restore
CR を作成します。metadata.name
フィールドでRestore
CR に名前を付けます。spec.backup
フィールドで使用するBackup
CR を指定します。spec.cluster
フィールドで復元する Data Grid クラスターを指定します。apiVersion: infinispan.org/v2alpha1 kind: Restore metadata: name: my-restore spec: backup: my-backup cluster: target-cluster
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
Restore
CR を適用します。$ oc apply -f my-restore.yaml
新しい Pod は Data Grid クラスターに参加し、バックアップファイルからの状態を復元します。操作が完了すると、Pod はクラスターを離れ、以下のメッセージをログに記録します。ISPN005045: Restore 'my-backup' complete
- Data Grid コンソールを開くか、または CLI 接続を確立して、キャッシュとデータがクラスターに復元されていることを確認します。