Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

バックアップからのVMのリストア

共同作成者

このセクションでは、バックアップから仮想マシンをリストアする方法について説明します。

前提条件

バックアップからリストアする場合は、仮想マシンが存在していたネームスペースが誤って削除されたと仮定します。

同じネームスペースにリストア

作成したバックアップからリストアするには、Restore Custom Resource(CR)を作成する必要があります。名前とリストア元のバックアップの名前を指定し、restorePVをtrueに設定する必要があります。追加のパラメータは、 "ドキュメント"。[作成]ボタンをクリックします。

リストアCRの作成
apiVersion: velero.io/v1
kind: Restore
metadata:
  name: restore1
  namespace: openshift-adp
spec:
  backupName: backup1
  restorePVs: true

フェーズが完了と表示されると、仮想マシンがスナップショット作成時の状態にリストアされたことがわかります。(VMの実行中にバックアップが作成された場合、バックアップからVMをリストアすると、リストアされたVMが起動して実行状態になります)。VMが同じネームスペースにリストアされます。

リストア完了
別のネームスペースへのリストア

VMを別のネームスペースにリストアするには、Restore CRのYAML定義でnamespaceMappingを指定します。

次のYAMLファイルの例では、バックアップがvirtual-machines-demoネームスペースに作成されたときに、VMとそのディスクをvirtual-machines-demoネームスペースにリストアするためのRestore CRが作成されます。

apiVersion: velero.io/v1
kind: Restore
metadata:
  name: restore-to-different-ns
  namespace: openshift-adp
spec:
  backupName: backup
  restorePVs: true
  includedNamespaces:
  - virtual-machines-demo
  namespaceMapping:
    virtual-machines-demo: virtual-machines

フェーズが完了と表示されると、仮想マシンがスナップショット作成時の状態にリストアされたことがわかります。(VMの実行中にバックアップが作成された場合、バックアップからVMをリストアすると、リストアされたVMが起動して実行状態になります)。YAMLで指定された別のネームスペースにVMがリストアされます。

新しいネームスペースへのリストアが完了しました
別のストレージクラスへのリストア

Veleroには、JSONパッチを指定してリストア時にリソースを変更する一般的な機能が用意されています。JSONのパッチは、リストア前にリソースに適用されます。JSONパッチはConfigMapで指定され、ConfigMapはrestoreコマンドで参照されます。この機能を使用すると、別のストレージクラスを使用してリストアを実行できます。

次の例では、仮想マシンの作成時にONTAP-NASをディスクのストレージクラスとして使用しています。backup1という名前の仮想マシンのバックアップが作成されます。

ONTAP-NASを使用するVM
VMバックアップONTAP-NAS

VMを削除して、VMの損失をシミュレートします。

別のストレージクラス(ontap-nas-ecoストレージクラスなど)を使用してVMをリストアするには、次の2つの手順を実行する必要があります。

ステップ1

次のように、OpenShift-ADPネームスペースに構成マップ(コンソール)を作成します。
スクリーンショットのように詳細を入力します。
ネームスペースを選択:OpenShift-ADP
name:change-storage-class-config(任意の名前を指定できます)
キー:change-storage-class-config.yaml:
値:

version: v1
    resourceModifierRules:
    - conditions:
         groupResource: persistentvolumeclaims
         resourceNameRegex: "^rhel*"
         namespaces:
         - virtual-machines-demo
      patches:
      - operation: replace
        path: "/spec/storageClassName"
        value: "ontap-nas-eco"
構成マップUI

設定マップオブジェクトは次のようになります(CLI)。

設定マップCLIセッテイマップCLI

この設定マップは、リストアの作成時にリソース修飾子ルールを適用します。RHELで始まるすべての永続ボリューム要求に対して、ストレージクラス名をontap-nas-ecoに置き換えるパッチを適用します。

ステップ2

VMをリストアするには、Velero CLIから次のコマンドを使用します。

#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp

VMが、ストレージクラスontap-nas-ecoを使用して作成されたディスクと同じネームスペースにリストアされます。

VMリストアontap-nas-eco