仮想マシンのバックアップとリカバリ
はじめに
データ保護は、あらゆる企業ワークロードに関して重要な話題であり、OpenShift Virtualization環境における仮想マシンのバックアップとリカバリには、現在、数多くのオプションが存在します。これらのソリューションの多くは、OpenShiftのPodを保護するのと同じ方法で機能します。仮想マシン、または複数の仮想マシンを含むネームスペースのバックアップを取得し、オブジェクトストレージバケットにリモートで保存することで、これを実現します。これらのバックアップには通常、仮想マシンを定義するメタデータおよびカスタムリソースに加えて、永続ストレージボリュームも含まれます。
Red Hatのソリューションには、以下が含まれます。
-
OADP (OpenShift APIs for Data Protection): 仮想マシンを含む OpenShift オブジェクトのバックアップとリストアを行う、ストレージに依存しない方法を提供する Red Hat Operator。
-
OpenShift Data Foundation Metro-DR および OpenShift Data Foundation Regional-DR
エコシステムパートナーソリューションには以下が含まれます。
これは、サポート対象のバックアップおよびリカバリソリューションを提供するパートナーの完全なリストではありません。ストレージまたはデータ保護ベンダーに問い合わせて、その製品とOpenShift Virtualizationの互換性を確認するか、追加情報については Red Hat EcoSystem Catalog を確認してください。 |
このラボでは、OADP を使用して仮想マシンのバックアップとリストア操作を行います。
OADP Operatorを確認
-
Administrator パースペクティブに移動し、左側のメニューで Operators、Installed Operators の順にクリックします。 プロジェクト oadp-{user} が選択されていることを確認します。 OADP と入力します
-
Operatorをクリックして詳細を表示します。
-
利用可能な Provided APIs を確認します。 このモジュールでは、 Backup および Restore 機能を使用します。
-
上部にある水平スクロールバーを使用して、DataProtectionApplication タブに移動します。 このオブジェクトは、デプロイされた OADP インスタンスの構成を表します。
-
oadp-dpa をクリックして DataProtectionApplication の詳細を表示し、次に上部にある YAML ボタンをクリックして、設定方法を確認します。
-
OADP が kubevirt プラグインを追加して設定されており、クラスター上で実行されている OpenShift Data Foundations が提供する内部オブジェクトストレージバケットを使用するように設定されていることに注目してください。
便宜上、このラボではローカルのオブジェクトバケットにバックアップを行うように設定されていますが、本番環境ではバックアップが外部ストレージシステム、またはクラウドベースのオブジェクトストレージバケットに送られるように設定し、局地的な災害からワークロードを保護する必要があります。
仮想マシンのバックアップを作成
前節で作成したVM fedora02 のバックアップを実行します。バックアップ対象のオブジェクトの選択は、app および vm.kubevirt.io/name のラベルで定義されています。これには、VM定義、ディスク、および仮想マシンで使用されている追加オブジェクト(構成マップやシークレットなど)が含まれます。
-
Operator details に戻り、横スクロールバーを使用して、Backup タブが表示されるまでスクロールバックします。
-
Backup タブをクリックし、Create Backup ボタンをクリックします。
-
YAMLビュー に切り替え、デフォルトのコンテンツを以下のものに置き換えます。
--- apiVersion: velero.io/v1 kind: Backup metadata: name: backup-fedora02 namespace: oadp-{user} labels: velero.io/storage-location: default spec: defaultVolumesToFsBackup: false orLabelSelectors: - matchLabels: app: fedora02 - matchLabels: vm.kubevirt.io/name: fedora02 csiSnapshotTimeout: 10m0s ttl: 720h0m0s itemOperationTimeout: 4h0m0s storageLocation: oadp-dpa-1 hooks: {} includedNamespaces: - vmexamples-{user} snapshotMoveData: false
-
一番下の Create ボタンをクリックします。
このYAMLの内容は、vmexamples-{user} ネームスペース内の app: fedora02 ラベルを持つオブジェクトが、DataProtectionApplication 構成で指定された場所にバックアップされることを示しています。
前のセクションを完了しておらず、fedora02 VM がない場合は、上記の YAML のラベルセレクタをインベントリ内の仮想マシンに合わせて変更します。 -
ステータス列が Completed に変わるまで待ちます。これにより、仮想マシンが正常にバックアップされたことが示されます。
バックアップからの復元
-
左側のメニューで、Virtualization をクリックし、次に VirtualMachines をクリックします。中央のツリー列で vmexamples-{user} プロジェクトを展開し、fedora02 VMをクリックします。
-
仮想マシンを停止し、停止したら Actions ドロップダウンをクリックし、VMを Delete するオプションを選択します。
-
プロンプトが表示されたら、仮想マシンの削除を確認する赤い Delete ボタンをクリックします。
-
仮想マシンがインベントリから消えます。
-
Operators をクリックし、次に Installed Operators をクリックして、 OADP Operator を再度選択します。(OADP-{user} プロジェクトに戻る必要があるかもしれません。)
-
横方向のナビゲーションバーを使用して Restore タブを見つけ、Restore タブをクリックし、Create Restore を押します。
-
YAML ビューに切り替え、コンテンツを以下のものに置き換えます:
--- apiVersion: velero.io/v1 kind: Restore metadata: name: restore-fedora02 namespace: oadp-{user} spec: backupName: backup-fedora02 includedResources: [] excludedResources: - nodes - events - events.events.k8s.io - backups.velero.io - restores.velero.io restorePVs: true
-
一番下の Create ボタンをクリックします。
-
Status 列が Completed に変わったら完了です。
-
Virtualization に戻り、左側のメニューで Virtual Machines をクリックし、 fedora02 仮想マシンが復元されたことを確認します(vmexamples-{user} プロジェクト内)。 Created の値が直前の時間であることが分かります。