仮想マシンのバックアップとリカバリ

はじめに

データ保護は、あらゆる企業ワークロードに関して重要な話題であり、OpenShift Virtualization環境における仮想マシンのバックアップとリカバリには、現在、数多くのオプションが存在します。これらのソリューションの多くは、OpenShiftのPodを保護するのと同じ方法で機能します。仮想マシン、または複数の仮想マシンを含むネームスペースのバックアップを取得し、オブジェクトストレージバケットにリモートで保存することで、これを実現します。これらのバックアップには通常、仮想マシンを定義するメタデータおよびカスタムリソースに加えて、永続ストレージボリュームも含まれます。

Red Hatのソリューションには、以下が含まれます。

エコシステムパートナーソリューションには以下が含まれます。

これは、サポート対象のバックアップおよびリカバリソリューションを提供するパートナーの完全なリストではありません。ストレージまたはデータ保護ベンダーに問い合わせて、その製品とOpenShift Virtualizationの互換性を確認するか、追加情報については Red Hat EcoSystem Catalog を確認してください。

このラボでは、OADP を使用して仮想マシンのバックアップとリストア操作を行います。

OADP Operatorを確認

  1. Administrator パースペクティブに移動し、左側のメニューで OperatorsInstalled Operators の順にクリックします。 プロジェクト oadp-{user} が選択されていることを確認します。 OADP と入力します

    00 Left Menu
  2. Operatorをクリックして詳細を表示します。

  3. 利用可能な Provided APIs を確認します。 このモジュールでは、 Backup および Restore 機能を使用します。

    01 Overview
  4. 上部にある水平スクロールバーを使用して、DataProtectionApplication タブに移動します。 このオブジェクトは、デプロイされた OADP インスタンスの構成を表します。

    02 DPA
  5. oadp-dpa をクリックして DataProtectionApplication の詳細を表示し、次に上部にある YAML ボタンをクリックして、設定方法を確認します。

    03 OADP YAML
  6. OADPkubevirt プラグインを追加して設定されており、クラスター上で実行されている OpenShift Data Foundations が提供する内部オブジェクトストレージバケットを使用するように設定されていることに注目してください。

    便宜上、このラボではローカルのオブジェクトバケットにバックアップを行うように設定されていますが、本番環境ではバックアップが外部ストレージシステム、またはクラウドベースのオブジェクトストレージバケットに送られるように設定し、局地的な災害からワークロードを保護する必要があります。

仮想マシンのバックアップを作成

前節で作成したVM fedora02 のバックアップを実行します。バックアップ対象のオブジェクトの選択は、app および vm.kubevirt.io/name のラベルで定義されています。これには、VM定義、ディスク、および仮想マシンで使用されている追加オブジェクト(構成マップやシークレットなど)が含まれます。

  1. Operator details に戻り、横スクロールバーを使用して、Backup タブが表示されるまでスクロールバックします。

  2. Backup タブをクリックし、Create Backup ボタンをクリックします。

    04 Backup Tab
  3. 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
  4. 一番下の Create ボタンをクリックします。

    このYAMLの内容は、vmexamples-{user} ネームスペース内の app: fedora02 ラベルを持つオブジェクトが、DataProtectionApplication 構成で指定された場所にバックアップされることを示しています。

    05 Create Backup YAML
    前のセクションを完了しておらず、fedora02 VM がない場合は、上記の YAML のラベルセレクタをインベントリ内の仮想マシンに合わせて変更します。
  5. ステータス列が Completed に変わるまで待ちます。これにより、仮想マシンが正常にバックアップされたことが示されます。

    06 Backup Completed

バックアップからの復元

  1. 左側のメニューで、Virtualization をクリックし、次に VirtualMachines をクリックします。中央のツリー列で vmexamples-{user} プロジェクトを展開し、fedora02 VMをクリックします。

    07 Fedora02 Overview
  2. 仮想マシンを停止し、停止したら Actions ドロップダウンをクリックし、VMを Delete するオプションを選択します。

    08 Delete VM
  3. プロンプトが表示されたら、仮想マシンの削除を確認する赤い Delete ボタンをクリックします。

    09 Confirm Delete
  4. 仮想マシンがインベントリから消えます。

    10 Deleted VM
  5. Operators をクリックし、次に Installed Operators をクリックして、 OADP Operator を再度選択します。(OADP-{user} プロジェクトに戻る必要があるかもしれません。)

  6. 横方向のナビゲーションバーを使用して Restore タブを見つけ、Restore タブをクリックし、Create Restore を押します。

    11 Restore Tab
  7. 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
  8. 一番下の Create ボタンをクリックします。

    12 Create Restore YAML
  9. Status 列が Completed に変わったら完了です。

    13 Restore Completed
  10. Virtualization に戻り、左側のメニューで Virtual Machines をクリックし、 fedora02 仮想マシンが復元されたことを確認します(vmexamples-{user} プロジェクト内)。 Created の値が直前の時間であることが分かります。

    14 VM Restored

まとめ

仮想マシンの保護は、仮想化プラットフォームの重要な側面です。OpenShift Virtualizationは、ネイティブな保護を可能にする複数の方法を提供しています。例えば、OADPを使用したり、ストレージおよびバックアップパートナーが自社のサービスを統合できるようにしたりします。仮想マシンの保護方法について疑問がある場合は、ワークショップの講師に遠慮なく質問するか、ベンダーに問い合わせてOpenShift Virtualizationとの互換性を確認してください。