1.3. Red Hat Advanced Cluster Management のポリシーを使用した Red Hat OpenShift Virtualization のバックアップと復元の設定
Red Hat Advanced Cluster Management のバックアップおよび復元コンポーネントを使用して、OpenShift Virtualization リソースのバックアップと復元に使用できる Red Hat Advanced Cluster Management のポリシーをインストールします。このポリシーを使用すると、OpenShift APIs for Data Protection (OADP) を使用して仮想マシンをバックアップおよび復元できます。仮想マシンをバックアップした後、ハブクラスターまたはマネージドクラスターで仮想マシンを実行および復元できます。
このような OpenShift Virtualization 用の Red Hat Advanced Cluster Management のポリシーは、次のバックアップおよび復元ストレージオプションをサポートしています。
- Container Storage Interface (CSI) バックアップ
- DataMover による Container Storage Interface (CSI) バックアップ
以下のオプションはサポートされていません。
- ファイルシステムのバックアップと復元
- ボリュームスナップショットのバックアップと復元
ポリシーを設定し、バックアップスケジュールを有効にするか、仮想マシンの復元操作を実行するには、次のセクションの手順を完了してください。
1.3.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.3.2. ハブクラスターにインストールされる仮想化ポリシー リンクのコピーリンクがクリップボードにコピーされました!
バックアップ Operator を有効にすると、Red Hat Advanced Cluster Management のポリシーと ConfigMap のセットがハブクラスターにインストールされます。ポリシーを無効にするか、クラスターから削除すると、ポリシーによって作成されたすべてのリソースが削除されます。利用可能なさまざまな種類のポリシーの詳細を確認するには、次のセクションを参照してください。
1.3.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.3.2.2. バックアップポリシー リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-backup バックアップポリシーは、ラベル cluster.open-cluster-management.io/backup-vm: schedule_cron_name を持つ kubevirt.io.VirtualMachine リソースをバックアップします。
次のバックアップポリシーテンプレートと説明を参照してください。
- バックアップポリシーテンプレート
| テンプレート | 説明 |
|
|
仮想マシン |
|
|
スケジュールが一時停止されていない場合に、ステータスが |
|
|
|
1.3.2.3. 復元ポリシー リンクのコピーリンクがクリップボードにコピーされました!
acm-dr-virt-restore 復元ポリシーは、UID によって kubevirt.io.VirtualMachine リソースを復元します。このポリシーは、acm-dr-virt-config ConfigMap の restore_hub_config_name プロパティーによって識別される ConfigMap の情報を使用して、クラスターに velero 復元リソースを作成します。
次の復元ポリシーテンプレートと説明を参照してください。
- 復元ポリシーテンプレート
| テンプレート | 説明 |
|
|
|
|
|
|
1.3.3. ConfigMaps によるポリシーの定義 リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターにポリシーをインストールすると、ハブクラスターの open-cluster-management-backup namespace に次の ConfigMap が作成されます。ハブクラスターまたはマネージドクラスターに仮想化ポリシーを適用すると、次の ConfigMap によって仮想化ポリシーのバックアップおよび復元設定が定義されます。
1.3.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 シークレットの名前。この名前を持つシークレットが、ハブクラスターの | String | なし | いいえ |
|
|
Velero の認証情報名を設定するときに、マネージドクラスター上の OADP | JSON | なし | いいえ |
|
|
マネージドクラスターに作成される | 文字列 | なし | いいえ |
|
|
| JSON | なし | なし |
-
acm-dr-virt-backupポリシーのConfigMapプロパティー
| 名前 | 説明 | 型 | デフォルト値 | 任意 |
|
| バックアップの有効期限。 | 文字列 |
| はい |
|
|
仮想化バックアップのスケジュールを一時停止するには、 | 文字列 | False | はい |
|
|
有効な cron ジョブスケジュールを定義するために使用される | String | なし | はい |
-
acm-dr-virt-restoreポリシーのConfigMapプロパティー
| 名前 | 説明 | 型 | デフォルト値 | 任意 |
|
|
復元操作を定義するために使用される | String | なし | いいえ |
1.3.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.3.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は、復元を完了する必要がある clusterId です。acm-rho-virt-schedule-every-10-hours-20250120230438は、復元操作に使用するバックアップの名前です。- 2
restore-20250120230438は、この復元操作の結果として作成される復元リソースの名前です。- 3
2a054d24-3235-4249-9c81-f58ebc6110c7は、復元する acm-rho-virt-schedule-every-10-hours-20250120230438 バックアップでバックアップされた仮想マシンの UID です。
1.3.4. 復元ポリシーを使用した復元操作の作成 リンクのコピーリンクがクリップボードにコピーされました!
復元操作のために仮想化ポリシーをインストールする場合は、次の状況を考慮してください。
-
acm-dr-virt-restore-configConfigMapのclusterID_restoreNameプロパティーを空の値に設定すると、clusterIDを持つクラスター上のacm-dr-virt-restoreポリシーによって作成された復元リソースが削除されます。 -
acm-dr-virt-restore-configConfigMapのclusterID_restoreNameプロパティーを空でない値に設定すると、acm-dr-virt-restoreポリシーによって Velero 復元リソースが作成されます。この Velero 復元リソースの名前は、clusterID_restoreName値と同じになります。この名前を持つ復元リソースが復元クラスターから削除されると、acm-dr-virt-restoreポリシーによってリソースが再作成され、復元操作が再度実行されます。 次のアクションを検討してください。
- 復元を再度実行しない場合は、復元リソースを削除しないでください。
-
復元操作が正常に完了したことが確認されたらすぐに、
acm-dr-virt-restore-configConfigMap のclusterID_restoreNameを空に設定します。これを行うと、acm-dr-virt-restoreポリシーを無効にして再度有効にしたときに、復元操作を再実行する必要がなくなります。acm-dr-virt-restoreポリシーを無効にすると、復元クラスター上でこのポリシーによって作成されたすべてのリソースがクリーンアップされ、ポリシーを再度有効にしたときに再作成されます。