本页面介绍了如何在 Google Distributed Cloud (GDC) 气隙环境中从现有备份创建虚拟机 (VM)。
创建备份后,您可以为该备份创建恢复,以便开始恢复整个虚拟机。恢复的虚拟机及其关联的磁盘具有不同的名称,具体取决于您在 GDC 控制台中指定的新虚拟机实例名称,或在应用编程接口 (API) 中指定的 restoredResourceName
。
恢复备份时,系统会恢复整个虚拟机。创建资源后,应用功能的实际恢复取决于虚拟机操作系统或映像。
准备工作
如需根据备份创建虚拟机,您必须满足以下条件:
- 现有备份。如需了解详情,请参阅创建备份计划。
必要的身份和访问权限角色:
- Project VirtualMachine Admin:管理项目命名空间中的虚拟机。请让您的 Project IAM Admin 向您授予 Project VirtualMachine Admin (
project-vm-admin
) 角色。 - 备份创建器:创建手动备份和恢复。请让您的 Project IAM Admin 为您授予 Backup Creator (
backup-creator
) 角色。 - 项目查看者:拥有对项目命名空间内所有资源的只读权限。请让您的项目 IAM 管理员为您授予 Project Viewer (
project-viewer
) 角色。
- Project VirtualMachine Admin:管理项目命名空间中的虚拟机。请让您的 Project IAM Admin 向您授予 Project VirtualMachine Admin (
为虚拟机创建恢复
使用 GDC 控制台或 API 恢复虚拟机备份。
控制台
- 登录 GDC 控制台。
- 在导航菜单中,点击 Backup for Virtual Machines。
- 选择一个项目。
- 点击备份标签页。
- 在备份列表中,找到要恢复的备份,然后点击恢复。
- 在新的虚拟机实例名称字段中,输入新目标虚拟实例的名称,以便在其中恢复备份。
- 可选:在新虚拟机实例说明字段中,输入说明。
- 输入恢复的名称。
- 点击恢复。
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
:要为恢复的虚拟机指定的名称。RESTORED_RESOURCE_DESCRIPTION
:有关执行恢复的原因的备注。
恢复操作的结果是创建一个新虚拟机,该虚拟机具有与备份相同的配置和磁盘状态。
查看虚拟机的恢复
使用 GDC 控制台查看恢复列表:
- 登录 GDC 控制台。
- 在导航菜单中,点击 Backup for Virtual Machines。
- 选择一个项目。
- 点击恢复标签页。
- 点击列表中的某个恢复,即可查看其详细信息。
删除恢复
使用 GDC 控制台或 kubectl
删除恢复。
控制台
- 登录 GDC 控制台。
- 在导航菜单中,点击 Backup for Virtual Machines。
- 选择一个项目。
- 点击恢复标签页。
- 在恢复列表中,找到要删除的恢复,然后点击删除恢复。
- 在恢复名称字段中,输入要删除的恢复的名称。
- 点击删除恢复。
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
:项目的名称。