1.2. ポリシーを使用した Red Hat OpenShift Virtualization のバックアップと復元の設定
OpenShift APIs for Data Protection (OADP) を使用して、仮想マシンをバックアップおよび復元します。仮想マシンをバックアップした後、ハブまたはマネージドクラスターで復元できます。
このような OpenShift Virtualization 用の Red Hat Advanced Cluster Management のポリシーは、次のバックアップおよび復元ストレージオプションをサポートしています。
- Container Storage Interface (CSI) バックアップ
- DataMover による Container Storage Interface (CSI) バックアップ
以下のオプションはサポートされていません。
- ファイルシステムのバックアップと復元
- ボリュームスナップショットのバックアップと復元
ポリシーを設定し、バックアップスケジュールを有効にするか、仮想マシンの復元操作を実行するには、次のセクションの手順を完了してください。
1.2.1. 仮想マシンのバックアップと復元 リンクのコピーリンクがクリップボードにコピーされました!
次の手順を実行すると、クラスター上で実行されている仮想マシンをバックアップしたり、クラスターに仮想マシンを復元したりできます。
-
MultiClusterHubのcluster-backupパラメーターをtrueに設定して、ハブクラスター上のバックアップコンポーネントを有効にします。 cluster-nameクラスターにポリシーを適用するために、次の YAML サンプルを適用して、ManagedClusterリソースにacm-virt-configラベルを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ラベルアノテーションを介して渡される
acm-dr-virt-configは、acm-virt-configConfigMap です。acm-dr-virt-configConfigMap セクションで、OADP とバックアップストレージの場所を設定する方法を参照してください。
仮想マシンをバックアップするか復元するかに応じて、次の手順を実行します。
-
仮想マシンをバックアップするには、
cluster.open-cluster-management.io/backup-vmをkubevirt.io.VirtualMachineリソースに追加します。kubevirt.io.VirtualMachineリソースは、次の YAML サンプルのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
仮想マシンを復元するには、
acm-dr-virt-restore-configセクションの説明に従って、acm-dr-restore-configConfigMap を更新します。
-
仮想マシンをバックアップするには、
1.2.2. ハブクラスターにインストールされる仮想化ポリシー リンクのコピーリンクがクリップボードにコピーされました!
バックアップ Operator を有効にすると、Red Hat Advanced Cluster Management のポリシーと ConfigMap のセットがハブクラスターにインストールされます。ポリシーを無効にするか、クラスターから削除すると、ポリシーによって作成されたすべてのリソースが削除されます。利用可能なさまざまな種類のポリシーの詳細を確認するには、次のセクションを参照してください。
1.2.2.1. インストールポリシー リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-install インストールポリシーは、このポリシーが適用されているクラスターに OADP をインストールし、oadp.openshift.io.DataProtectionApplication リソースを設定します。クラスターがハブクラスターである場合は、OADP が open-cluster-management-backup namespace にインストールされていること、および DataProtectionApplication リソースが存在し、必要な設定になっていることを確認します。このポリシーは、ハブクラスターに OADP をインストールすることも、DataProtectionApplication リソースを作成することもありません。
MultiClusterHub リソースで cluster-backup オプションを有効にすると、バックアップチャートによって OADP がインストールされます。cluster-backup-option を有効にすると、ハブクラスターに DataProtectionApplication が作成されます。
次のインストールポリシーテンプレートと説明を参照してください。
- インストールポリシーテンプレート
| テンプレート | 説明 |
|
|
|
|
| クラスターに OADP バージョンがインストールされているか、またそれがポリシーによってインストールされるバージョンと一致しているかどうかを確認します。 |
|
|
|
|
|
OADP がインストールされる namespace を作成します (この namespace が検出されない場合)。OADP シークレットをコピーし、OADP をインストールします (マネージドクラスターの場合のみ)。 |
1.2.2.2. バックアップポリシー リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-backup バックアップポリシーは、ラベル cluster.open-cluster-management.io/backup-vm: schedule_cron_name を持つ kubevirt.io.VirtualMachine リソースをバックアップします。
次のバックアップポリシーテンプレートと説明を参照してください。
- バックアップポリシーテンプレート
| テンプレート | 説明 |
|
|
仮想マシン |
|
|
スケジュールが一時停止されていない場合に、ステータスが |
|
|
|
1.2.2.3. 復元ポリシー リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-restore 復元ポリシーは、UID によって kubevirt.io.VirtualMachine リソースを復元します。このポリシーは acm-dr-virt-config ConfigMap の restore_hub_config_name プロパティーによって識別される ConfigMap の情報を使用して、クラスターに Velero リストアリソースを作成します。
次の復元ポリシーテンプレートと説明を参照してください。
- 復元ポリシーテンプレート
| テンプレート | 説明 |
|
|
|
|
|
|
1.2.3. ConfigMaps によるポリシーの定義 リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターにポリシーをインストールすると、ハブクラスターの open-cluster-management-backup namespace に次の ConfigMap が作成されます。ハブクラスターまたはマネージドクラスターに仮想化ポリシーを適用すると、次の ConfigMap によって仮想化ポリシーのバックアップおよび復元設定が定義されます。
1.2.3.1. acm-dr-virt-config ConfigMap の定義 リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-config ConfigMap は、OADP の設定と、バックアップまたは復元操作に関連するその他の設定を定義します。このリソースの名前は、ポリシーが適用されている ManagedCluster に設定されている acm-virt-config ラベルの値として使用できます。また、acm-dr-virt-config をサンプルとして使用する新しい ConfigMap リソースを作成し、新しい ConfigMap リソースを使用してクラスターに仮想化ポリシーを配置することもできます。
マネージドクラスターまたはハブクラスターに仮想化ポリシーを適用するには、次の手順を実行します。
acm-dr-virt-configを使用するか、または、例としてacm-dr-virt-configConfigMap を使用して、ハブクラスターのopen-cluster-management-backupnamespace に新しいConfigMapリソースを作成します。この例では、ConfigMap の名前はacm-dr-virt-config-newです。-
OADP によって作成されたバックアップが保存されるストレージ場所と一致するように
dpa_specセクションを更新します。この更新は必須です。 -
オプション: OADP バージョンやチャネルなど、
acm-dr-virt-config-newConfigMap で使用可能なその他のプロパティーを更新します。
-
OADP によって作成されたバックアップが保存されるストレージ場所と一致するように
-
ManagedClusterリソースにacm-virt-config=acm-dr-virt-config-newラベルを追加します。acm-virt-configラベルの値は、作成した ConfigMap の名前です。
ManagedCluster リソースの例は、次の YAML サンプルを参照してください。acm-dr-virt-config-new ConfigMap を使用するように仮想化バックアップラベルが設定されています。
詳細は、次の表を参照してください。
-
acm-dr-virt-installポリシーの ConfigMap プロパティー
| 名前 | 説明 | 型 | デフォルト値 | 任意 |
|
| チャネルは、OpenShift Container Platform クラスターのバージョンに基づいて、サポートされている OADP バージョンにデフォルト設定されます。このプロパティーを使用してデフォルト値を上書きします。 | 文字列 | なし | はい |
|
|
OADP チャネルの名前。カスタムインストールの場合はこのプロパティーを設定します (例: | 文字列 |
| はい |
|
|
OADP サブスクリプション。カスタムインストールの場合はこのプロパティーを設定します (例: | 文字列 |
| はい |
|
|
OADP サブスクリプションのソース。カスタムインストールの場合はこのプロパティーを設定します (例: | 文字列 |
| はい |
|
| OADP サブスクリプションの startingCSV。 | 文字列 | なし | はい |
|
| OADP インストールプラン。 | 文字列 | 自動 | はい |
|
| OADP がインストールされるマネージドクラスターの namespace。 | 文字列 | なし | いいえ |
|
|
マネージドクラスターで使用する OADP シークレットの名前。この名前を持つシークレットが、ハブクラスターの | 文字列 | なし | いいえ |
|
|
Velero の認証情報名を設定するときに、マネージドクラスター上の OADP | JSON | なし | いいえ |
|
|
マネージドクラスターに作成される | 文字列 | なし | いいえ |
|
|
| JSON | なし | いいえ |
-
acm-dr-virt-backupポリシーの ConfigMap プロパティー
| 名前 | 説明 | 型 | デフォルト値 | 任意 |
|
| バックアップの有効期限。 | 文字列 |
| はい |
|
|
仮想化バックアップのスケジュールを一時停止するには、 | 文字列 | False | はい |
|
|
有効な cron ジョブスケジュールを定義するために使用される ConfigMap の名前。この名前を持つ ConfigMap が、ハブクラスターの | 文字列 | なし | はい |
-
acm-dr-virt-restoreポリシーの ConfigMap プロパティー
| 名前 | 説明 | 型 | デフォルト値 | 任意 |
|
|
復元操作を定義するために使用される ConfigMap の名前。この名前を持つ ConfigMap が、ハブクラスターの | 文字列 | なし | いいえ |
1.2.3.2. acm-dr-virt-schedule-cron ConfigMap の定義 リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-schedule-cron ConfigMap を使用して、仮想マシンのバックアップをスケジュールするときに使用する有効な cron ジョブスケジュールを定義します。acm-dr-virt-schedule-cron ConfigMap は、open-cluster-management-backup namespace 内のハブクラスターバックアップコンポーネントによって作成され、次の YAML を内容として含んでいます。
acm-dr-virt-schedule-cron ConfigMap によって作成されたスケジュールのいずれかを使用して、kubevirt.io.VirtualMachine のバックアップスケジュールを設定できます。たとえば、毎日午前 8 時に仮想マシンをバックアップする場合は、仮想マシンリソースに次のラベルを追加します。
この acm-dr-virt-schedule-cron ConfigMap はハブクラスターバックアップコンポーネントによって作成および管理されるため、既存の cron プロパティーを変更または削除できません。プロパティーはコンテンツの調整時に再作成されます。既存のプロパティーに新しいプロパティーを追加することだけは可能です。たとえば、毎週土曜日に実行する cron ジョブを作成する場合は、既存の acm-dr-virt-schedule-cron プロパティーに every_sunday: "0 0 * * SAT" というラベルを追加します。
1.2.3.3. acm-dr-virt-restore-config ConfigMap の定義 リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-restore-config ConfigMap を使用して、acm-dr-virt-restore ポリシーによって実装される復元操作を定義します。ConfigMap を作成するには、open-cluster-management-backup namespace のハブクラスターバックアップコンポーネントを使用します。
詳細な復元操作の例は、次の YAML サンプルを参照してください。
- 1
2a054d24-3235-4249-9c81-f58ebc6110c7は、復元操作が完了したクラスター ID です。acm-rho-virt-schedule-every-10-hours-20250120230438は、復元操作の例で使用されるバックアップの名前です。- 2
restore-20250120230438は、この復元操作の結果として作成されるRestoreリソースの名前です。- 3
2a054d24-3235-4249-9c81-f58ebc6110c7は、復元するacm-rho-virt-schedule-every-10-hours-20250120230438バックアップでバックアップされた仮想マシンの UID です。- 4
namespaceMappingはオプションのプロパティーであり、初期リソースとは異なる namespace 内のリソースを復元するために使用されます。マップに含まれていないソース namespace は、同じ名前の namespace に復元されます。backup-ns-1=restore-ns-1、backup-ns-2=restore-ns-2は、スペースで区切られた namespace マッピングのリストです。このサンプルでは、backup-ns-1namespace 内で作成されたバックアップリソースがrestore-ns-1namespace 内で復元されます。復元クラスターにrestore-ns-1が存在しない場合は作成されます。同様に、backup-ns-2内で作成されたリソースはrestore-ns-2namespace 内で復元されます。
1.2.4. 復元ポリシーを使用した復元操作の作成 リンクのコピーリンクがクリップボードにコピーされました!
復元操作のために仮想化ポリシーをインストールする場合は、次の状況を考慮してください。
-
acm-dr-virt-restore-configConfigMap のclusterID_restoreNameプロパティーを空の値に設定すると、clusterIDを持つクラスター上のacm-dr-virt-restoreポリシーによって作成された復元リソースが削除されます。 -
acm-dr-virt-restore-configConfigMap のclusterID_restoreNameプロパティーを空でない値に設定すると、acm-dr-virt-restoreポリシーによって VeleroRestoreリソースが作成されます。Velero 復元リソースの名前は、clusterID_restoreName値と同じになります。この名前を持つ復元リソースが復元クラスターから削除されると、acm-dr-virt-restoreポリシーによってリソースが再作成され、復元操作が再度実行されます。 次のアクションを検討してください。
- 復元を再度実行しない場合は、復元リソースを削除しないでください。
-
復元操作の開始が確認されたら
acm-dr-virt-restore-configConfigMap のclusterID_restoreNameパラメーターの値を削除します。これを行うと、acm-dr-virt-restoreポリシーを無効にして再度有効にしたときに、復元操作を再実行する必要がなくなります。acm-dr-virt-restoreポリシーを無効にすると、復元クラスター上でこのポリシーによって作成されたすべてのリソースがクリーンアップされ、ポリシーを再度有効にしたときに再作成されます。