本頁面說明如何從 Google Distributed Cloud (GDC) 氣隙環境中的現有備份建立虛擬機器 (VM)。
建立備份後,您可以為該備份建立還原作業,啟動整個 VM 的還原程序。還原的 VM 和相關聯的磁碟會根據您在 GDC 控制台中指定的「New VM instance name」(新的 VM 執行個體名稱) ,或應用程式開發介面 (API) 中的 restoredResourceName,採用不同的名稱。
還原備份時,系統會還原整個 VM。建立資源後,實際還原應用程式功能時,會受到 VM 作業系統或映像檔的影響。
事前準備
如要從備份建立 VM,您必須具備下列條件:
- 現有備份。詳情請參閱「建立備份計畫」。
必要的身分與存取權角色:
- 專案虛擬機器管理員:管理專案命名空間中的 VM。請專案 IAM 管理員授予您專案 VirtualMachine 管理員 (
project-vm-admin) 角色。 - 備份建立者:建立手動備份及還原。請專案 IAM 管理員授予您備份建立者 (
backup-creator) 角色。 - 專案檢視者:具備專案命名空間內所有資源的唯讀存取權。請專案 IAM 管理員授予您專案檢視者 (
project-viewer) 角色。
- 專案虛擬機器管理員:管理專案命名空間中的 VM。請專案 IAM 管理員授予您專案 VirtualMachine 管理員 (
建立 VM 的還原作業
使用 GDC 控制台或 API 還原 VM 備份。
控制台
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Virtual Machines」(虛擬機器備份)。
- 選取專案。
- 按一下 [備份] 分頁標籤。
- 在備份清單中找出要還原的備份,然後按一下「還原」。
- 在「New VM instance name」(新的 VM 執行個體名稱) 欄位中,輸入新目標虛擬執行個體的名稱,以便還原備份。
- 選用:在「New VM instance」(新的 VM 執行個體) 說明欄位中輸入說明。
- 輸入還原作業的名稱。
- 按一下「還原」。
API
定義 VirtualMachineRestoreRequest 自訂資源,啟動還原程序。virtualMachineBackup 欄位中參照的備份是指 VirtualMachineBackupRequest 產生的 VirtualMachineBackup 自訂資源。以下是 VirtualMachineRestoreRequest 的範例:
定義 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: RESTORED_RESOURCE_NAME
restoredResourceDescription: RESTORED_RESOURCE_DESCRIPTION
更改下列內容:
VM_BACKUP_NAME:要從中還原的VirtualMachineBackup名稱。PROJECT_NAME:GDC 專案的名稱。RESTORE_REQUEST_NAME:要為啟動的還原要求指定的名稱。RESTORE_NAME:要為啟動的還原作業指定的名稱。RESTORED_RESOURCE_NAME:要為還原的 VM 命名。RESTORED_RESOURCE_DESCRIPTION:說明執行還原作業的原因。
還原作業完成後,系統會建立新的 VM,其設定和磁碟狀態與備份相同。
查看 VM 還原作業
使用 GDC 控制台查看還原清單:
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Virtual Machines」(虛擬機器備份)。
- 選取專案。
- 按一下「還原」分頁標籤。
- 按一下清單中的還原作業,即可查看詳細資料。
刪除還原項目
使用 GDC 控制台或 kubectl 刪除還原作業。
控制台
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Virtual Machines」(虛擬機器備份)。
- 選取專案。
- 按一下「還原」分頁標籤。
- 在還原清單中,找出要刪除的還原作業,然後按一下「刪除還原」。
- 在「Restore name」(還原名稱) 欄位中,輸入要刪除的還原名稱。
- 按一下「刪除」。
kubectl
列出現有還原作業:
kubectl get virtualmachinerestores.virtualmachine.gdc.goog -n PROJECT_NAME將
PROJECT_NAME替換為專案名稱。在清單中找出要刪除的還原作業。
刪除還原項目:
kubectl delete virtualmachinerestores.virtualmachine.gdc.goog RESTORE_NAME -n PROJECT_NAME更改下列內容:
RESTORE_NAME:還原作業的名稱。PROJECT_NAME:專案名稱。