從快照還原 VM

本頁面說明如何從透過 Google Distributed Cloud (GDC) 無網路連線備份與還原程序建立的映像檔磁碟快照,還原虛擬機器 (VM) 磁碟。

事前準備

如要從快照還原 VM 磁碟,您必須具備下列條件:

  • 現有快照。詳情請參閱「備份磁碟」。
  • 必要的身分與存取權角色:

    • 專案虛擬機器管理員:管理專案命名空間中的 VM。請專案 IAM 管理員授予您專案 VirtualMachine 管理員 (project-vm-admin) 角色。
    • 備份建立者:建立手動備份及還原。請專案 IAM 管理員授予您備份建立者 (backup-creator) 角色。
    • 專案檢視者:具備專案命名空間內所有資源的唯讀存取權。請專案 IAM 管理員授予您專案檢視者 (project-viewer) 角色。

還原快照

使用 GDC 控制台或應用程式開發介面 (API),從磁碟快照建立新的 VM。

控制台

  1. 登入 GDC 控制台。
  2. 在導覽選單中,依序點選「Virtual Machines」>「Snapshots」
  3. 選取專案。
  4. 在快照清單中找出要還原的快照,然後按一下「還原」
  5. 在「New disk name」(新磁碟名稱) 欄位中,輸入要還原備份的磁碟名稱。
  6. 輸入還原作業的「還原名稱」
  7. 按一下「還原」

API

建立 VirtualMachineRestoreRequest 自訂資源,啟動還原程序。

應用程式功能是否能還原,取決於 VM 作業系統或映像檔。建立 VirtualMachineRestoreRequest 自訂資源,啟動還原程序:

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

更改下列內容:

  • VM_BACKUP_NAME:要從中還原的 VirtualMachineBackup 資源名稱。
  • PROJECT_NAME:GDC 專案的名稱。
  • RESTORE_REQUEST_NAME:要啟動的還原要求名稱。
  • RESTORE_NAME:要授予啟動還原作業的名稱。
  • RESTORE_PREFIX:附加至此要求還原備份名稱開頭的前置字元。
  • RESTORED_RESOURCE_DESCRIPTION:說明執行還原作業的原因。

還原作業會建立新的磁碟,其設定和磁碟狀態與快照相同,完成資料備份和復原程序。

查看還原作業

使用 GDC 控制台或 kubectl 指令列介面 (CLI) 查看還原作業。

控制台

  1. 登入 GDC 控制台。
  2. 在導覽選單中,依序點選「Virtual Machines」>「Snapshots」
  3. 選取專案。
  4. 按一下「還原」分頁標籤。
  5. 在還原作業清單中,按一下還原作業名稱即可查看詳細資料。

kubectl

如要查看還原作業,請列出還原作業並查看詳細資料:

  1. 列出現有快照:

    kubectl get virtualmachinerestores.virtualmachine.gdc.goog -n PROJECT_NAME
    

    PROJECT_NAME 替換為專案名稱。

  2. 在清單中找出要查看的還原作業。

  3. 查看還原詳細資料:

    kubectl describe virtualmachinerestore.virtualmachine.gdc.goog RESTORE_NAME -n PROJECT_NAME
    

    更改下列內容:

    • RESTORE_NAME:還原作業的名稱。
    • PROJECT_NAME:專案名稱。

刪除還原項目

使用 kubectl 指令列介面 (CLI) 刪除還原作業。

如要查看還原作業,請列出還原作業並查看詳細資料:

  1. 列出現有還原作業:

    kubectl get virtualmachinerestores.virtualmachine.gdc.goog -n PROJECT_NAME
    

    PROJECT_NAME 替換為專案名稱。

  2. 在清單中找出要刪除的還原作業。

  3. 刪除還原項目:

    kubectl delete virtualmachinerestores.virtualmachine.gdc.goog RESTORE_NAME -n PROJECT_NAME
    

    更改下列內容:

    • RESTORE_NAME:還原作業的名稱。
    • PROJECT_NAME:專案名稱。

後續步驟