Trident Protectを使用したOpenShift仮想化でのVMのデータ保護
このセクションでは、Trident保護を使用してVMのスナップショットとバックアップを作成する方法について詳しく説明します。
OpenShift仮想化環境の仮想マシンは、OpenShift Containerプラットフォームのワーカーノードで実行されるコンテナ化されたアプリケーションです。VMメタデータとVMの永続ディスクを保護して、VMが失われたり破損したりした場合にリカバリできるようにすることが重要です。
OpenShift仮想化VMの永続ディスクは、を使用してOpenShiftクラスタに統合されたONTAPストレージによってバックアップできます"Trident CSI"。このセクションでは、を使用して、"Trident保護"ONTAPオブジェクトストレージへのVM(データボリュームを含む)のSnapshotとバックアップを作成します。
その後、必要に応じてスナップショットまたはバックアップからリストアします。
Trident保護を使用すると、OpenShiftクラスタ上のアプリケーションとVMのSnapshot、バックアップ、リストア、ディザスタリカバリを実行できます。OpenShift仮想化VMの場合、Trident保護で保護できるデータには、VMに関連付けられたKubernetesリソースオブジェクト、永続ボリューム、内部イメージが含まれます。
このセクションの例で使用されている各種コンポーネントのバージョンは次のとおりです
AppVaultの作成
アプリケーションまたはVMのSnapshotとバックアップを作成する前に、Trident保護でオブジェクトストレージを設定してSnapshotとバックアップを格納する必要があります。これにはバケットCRを使用します。バケットCRを作成して設定できるのは管理者だけです。バケットCRは、Trident保護ではAppVaultと呼ばれています。AppVaultオブジェクトは、ストレージバケットの宣言型Kubernetesワークフロー表現です。AppVault CRには、バックアップ、Snapshot、リストア処理、SnapMirrorレプリケーションなど、保護処理でバケットを使用するために必要な設定が含まれています。
この例では、ONTAP S3をオブジェクトストレージとして使用しています。ONTAP S3用のAppVault CRを作成するためのワークフローは次のとおりです。1.ONTAPクラスタのSVMにS3オブジェクトストアサーバを作成します。2.オブジェクトストアサーバにバケットを作成します。3.SVMにS3ユーザを作成します。アクセスキーとシークレットキーは安全な場所に保管してください。4.OpenShiftで、ONTAP S3クレデンシャルを格納するシークレットを作成します。5.ONTAP S3用のAppVaultオブジェクトの作成
-
ONTAP S3用のTrident保護AppVaultの構成**
OpenShift仮想化でのVMの作成
次のスクリーンショットは、テンプレートを使用してコンソールからVM(demo-Fedora in namespace demo)を作成する様子を示しています。デフォルトのストレージクラスはルートディスクによって自動的に選択されるため、デフォルトのストレージクラスが適切に設定されていることを確認します。このセットアップでは、デフォルトのストレージクラスはsc-zonea-sanです。追加ディスクを作成するときは、ストレージクラスsc-zonea-sanを選択し、[Apply optimized storage settings]チェックボックスをオンにします。これにより、アクセスモードがRWXに、ボリュームモードがBlockに設定されます。
|
Tridentは、SAN(iSCSI、NVMe/TCP、FC)のブロックボリュームモードでRWXアクセスモードをサポートしています。(NASのデフォルトのアクセスモードです)。後でVMのライブマイグレーションを実行する必要がある場合は、rwxアクセスモードが必要です。 |
アプリケーションの作成
-
VM用のTrident保護アプリの作成**
この例では、デモネームスペースにVMが1つあり、ネームスペースのすべてのリソースがアプリケーションの作成時に含まれています。
バックアップを作成します
オンデマンドバックアップの作成
前の手順で作成したアプリケーション(demo-VM)のバックアップを作成します。このバックアップには、demoネームスペースのすべてのリソースが含まれます。バックアップを保存するappvaultの名前を指定します。
スケジュールに基づくバックアップの作成
保持するバックアップの単位と数を指定して、バックアップのスケジュールを作成します。
バックアップからのリストア
-
VMを同じネームスペースにリストア**
この例では、バックアップdemo-vm-backup-on-demandに、Fedora VMのdemo-appを使用したバックアップが含まれています。
まず、VMを削除し、PVC、POD、およびVMオブジェクトがネームスペース「demo」から削除されていることを確認します。
次に、Backup-in-Placeリストアオブジェクトを作成します。
VM、ポッド、PVCがリストアされたことを確認
-
VMを別のネームスペースにリストア**
最初に、アプリの復元先となる新しい名前空間を作成します。この例では、demo2を使用します。次に、バックアップリストアオブジェクトを作成します。
VM、ポッド、PVCが新しいネームスペースdemo2に作成されていることを確認します。
Snapshotの作成
オンデマンドスナップショットの作成アプリケーションのスナップショットを作成し、保存する必要があるappvaultを指定します。
スナップショットのスケジュールを作成スナップショットのスケジュールを作成します。保持するスナップショットの粒度と数を指定します。
Snapshotからリストア
スナップショットから同じネームスペースにVMをリストア demo2ネームスペースからVM demo-Fedoraを削除します。
VMのSnapshotからsnapshot-in-place-restoreオブジェクトを作成します。
VMとそのPVCがデモネームスペースに作成されていることを確認します。
スナップショットから別のネームスペースにVMをリストア
バックアップからリストアしたdemo2ネームスペース内のVMを削除します。
SnapshotからSnapshotリストアオブジェクトを作成し、ネームスペースマッピングを指定します。
VMとそのPVCが新しいネームスペースdemo2にリストアされたことを確認します。
スナップショット/バックアップおよびリストアを作成するためのネームスペース内の特定のVMの選択
前の例では、ネームスペース内にVMが1つしかありませんでした。バックアップにネームスペース全体を含めることで、そのVMに関連付けられているすべてのリソースがキャプチャされました。次の例では、同じネームスペースに別のVMを追加し、ラベルセレクタを使用してこの新しいVM専用のアプリケーションを作成します。
デモネームスペースに新しいVM(demo-CentOS VM)を作成
デモ用CentOS VMとその関連リソースにラベルを付ける
デモCentOS VMおよびPVCにラベルが付いていることを確認します
ラベルセレクタを使用して、特定のVM(demo-CentOS)専用のアプリケーションを作成
バックアップとSnapshotをオンデマンドでスケジュールに従って作成する方法は、前述の方法と同じです。スナップショットまたはバックアップの作成に使用されているTrident保護アプリにはネームスペースの特定のVMのみが含まれているため、それらからリストアすると特定のVMのみがリストアされます。バックアップ/リストア処理の例を次に示します。
対応するアプリケーションを使用して、ネームスペース内の特定のVMのバックアップを作成
前の手順では、デモネームスペースにCentOS VMのみを含めるために、ラベルセレクタを使用してアプリを作成しました。このアプリケーションのバックアップ(この例ではオンデマンドバックアップ)を作成します。
特定のVMを同じネームスペースにリストア特定のVM(CentOS)のバックアップは、対応するアプリを使用して作成されました。ここでbackup-in-place-restoreまたはbackup-restoreを作成すると、指定したVMのみがリストアされます。CentOS VMを削除します
demo-centos-backup-on-demandからIn Placeリストアのバックアップを作成し、CentOS VMが再作成されたことを確認します。
特定のVMを別のネームスペースにリストア demo-centos-backup-on-demandから別のネームスペース(demo3)にバックアップリストアを作成し、CentOS VMが再作成されたことを確認します。