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