きめ細かい復元を作成する

このページでは、フィルタを使用して VM と VM ディスクのバックアップ内の特定のリソースをターゲットとするきめ細かい復元を作成する方法について説明します。バックアップ プランによって手動または自動で作成されたバックアップの復元を作成できます。復元された VM とそれに関連付けられたディスクの名前には、restoredResourceName フィールドの値が接頭辞として付加されます。

VM の復元では、フィルタを使用してきめ細かいリソース選択がサポートされています。フィルタを使用して、以前に作成した VirtualMachineBackup リソースからリソースのサブセットを復元します。このフィルタは省略可能なフィールドです。フィルタが指定されていない場合は、VirtualMachineBackup リソース内のリソースの完全なセットが復元されます。

始める前に

復元を作成するには、次のものが必要です。

きめ細かい復元を作成する

以前に作成したバックアップの詳細な復元を作成する手順は次のとおりです。

  1. ターゲット VirtualMachineBackup リソースにバックアップされた VM と VM ディスクのリストを取得します。

    1. VM のリストを取得します。

      kubectl get VirtualMachineBackup VM_BACKUP_NAME -n
      VM_BACKUP_NAMESPACE -o jsonpath=
      "{.status.backedUpVirtualMachines}{'\n'}"
      

      次のように置き換えます。

      • VM_BACKUP_NAME: 復元する VM リソースを含むバックアップの名前。
      • VM_BACKUP_NAMESPACE: バックアップを含む Namespace。
    2. VM ディスクのリストを取得します。

    kubectl get VirtualMachineBackup VM_BACKUP_NAME -n
    VM_BACKUP_NAMESPACE -o
    jsonpath="{.status.backedUpVirtualMachineDisks}{'\n'}"
    
  2. このリストの値を使用して、きめ細かい復元のターゲットを指定します。次のいずれかのきめ細かい復元を作成します。

特定の VM を復元する

  • targetedVirtualMachines フィルタを使用して、この復元で VM のリストをターゲットにします。このオプションでは、指定された VM とその関連ディスクが復元されます。VirtualMachineRestoreRequest リソースを作成して適用し、復元する VM のリストを targetedVirtualMachines フィールドに入力します。

    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineRestoreRequest
    metadata:
      name: RESTORE_REQUEST_NAME
      namespace: PROJECT_NAME
    spec:
      virtualMachineBackup: VM_BACKUP_NAME
      restoreName: RESTORE_NAME
      restoredResourceName: RESTORE_PREFIX
      restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION
    filter:
        targetedVirtualMachines:
        - resourceName: VM_NAME
    

    次のように置き換えます。

    • VM_BACKUP_NAME: 復元元の VirtualMachineBackup リソースの名前。
    • PROJECT_NAME: GDC プロジェクトの名前。
    • RESTORE_REQUEST_NAME: 開始する復元リクエストに付ける名前。
    • RESTORE_NAME: 開始する復元に付ける名前。
    • RESTORE_PREFIX: 新しく作成された VM リソースに付加される接頭辞。復元された VM と VM ディスクの名前には、復元リクエストの restoredResourceName 値が接頭辞として付加されます。
    • RESTORED_RESOURCE_DESCRIPTION: 実行中の復元の説明。
    • VM_NAME: この VirtualMachineRestoreRequest リソースによって復元される VM のリスト。複数の VM を指定する場合は、リストを次の形式にする必要があります。

        targetedVirtualMachines:
            - resourceName: "virtual-machine"
            - resourceName: "virtual-machine-2"
            ...
            - resourceName: "virtual-machine-n"
        ```
      

特定の VM ディスクを復元する

  • targetedVirtualMachineDisks フィルタを使用して、復元する VM ディスクのセットをターゲットにします。このオプションでは、バックアップされたディスクが復元されます。これらのディスクは同じ VM にアタッチされている必要はありません。このオプションでは、ディスクのみが復元され、ディスクがアタッチされていた VM は復元されません。VirtualMachineRestoreRequest リソースを作成して適用し、復元する VM ディスクのリストを targetedVirtualMachineDisks フィールドに指定します。

    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineRestoreRequest
    metadata:
      name: RESTORE_REQUEST_NAME
      namespace: PROJECT_NAME
    spec:
      virtualMachineBackup: VM_BACKUP_NAME
      restoreName: RESTORE_NAME
      restoredResourceName: RESTORE_PREFIX
      restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION
      filter:
        targetedVirtualMachineDisks:
        - VM_DISK_NAME
    

    VM_DISK_NAME は、この VirtualMachineRestoreRequest リソースによって復元される VM ディスクのリストに置き換えます。複数の VM ディスクが指定されている場合、リストは次の形式にする必要があります。

    targetedVirtualMachineDisks:
        - resourceName: "disk-1"
        - resourceName: "disk-2"
        ...
        - resourceName: "disk-n"
    

特定の VM と VM ディスクを復元する

  • VM と VM ディスクの組み合わせをターゲットにするには、targetedVirtualMachines フィルタと targetedVirtualMachineDisks フィルタを組み合わせて使用します。この方法では、targetedVirtualMachines フィルタで指定された VM と、そのアタッチされたディスク、および targetedVirtualMachineDisks フィルタで指定された VM ディスクが復元されます。ディスクが targetedVirtualMachineDisks リストで指定された VM にすでにアタッチされている場合。targetedVirtualMachineDisks フィルタでは、targetedVirtualMachines の一部としてまだ含まれていないディスクのみを指定します。

    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineRestoreRequest
    metadata:
      name: RESTORE_REQUEST_NAME
      namespace: PROJECT_NAME
    spec:
      virtualMachineBackup: VM_BACKUP_NAME
      restoreName: RESTORE_NAME
      restoredResourceName: RESTORE_PREFIX
      restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION
      filter:
        targetedVirtualMachines:
        - resourceName: VM_NAME
        targetedVirtualMachineDisks:
        - resourceName: VM_DISK_NAME
    

    次のように置き換えます。

    • VM_NAME:この VirtualMachineRestoreRequest リソースによって復元される VM のリスト。複数の VM を指定する場合は、リストを次の形式にする必要があります。

            targetedVirtualMachines:
                - resourceName: "virtual-machine"
                - resourceName: "virtual-machine-2"
                ...
                - resourceName: "virtual-machine-n"
        ```
      
    • VM_DISK_NAME: この VirtualMachineRestoreRequest リソースによって復元される VM ディスクのリスト。複数の VM ディスクを指定する場合は、リストを次の形式にする必要があります。

      targetedVirtualMachineDisks:
          - resourceName: "disk-1"
          - resourceName: "disk-2"
          ...
          - resourceName: "disk-n"
      

すべての VM ディスクを復元する

  • フィルタ値 virtualMachineDiskOptions.allDisks を true に設定して、VirtualMachineBackup の一部として保護されたすべてのディスクを復元します。この操作では、ディスクが接続されていた VM は復元されません。

    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineRestoreRequest
    metadata:
      name: RESTORE_REQUEST_NAME
      namespace: PROJECT_NAME
    spec:
      virtualMachineBackup: VM_BACKUP_NAME
      restoreName: RESTORE_NAME
      restoredResourceName: RESTORE_PREFIX
      restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION
      filter:
        virtualMachineDiskOptions:
            allDisks: true
    

次のステップ