根据快照恢复虚拟机

本页面介绍了如何从通过 Google Distributed Cloud (GDC) 气隙备份和恢复程序创建的映像磁盘快照恢复虚拟机 (VM) 磁盘。

准备工作

如需从快照恢复虚拟机磁盘,您必须具备以下条件:

  • 现有快照。如需了解详情,请参阅备份磁盘
  • 必要的身份和访问权限角色:

    • Project VirtualMachine Admin:管理项目命名空间中的虚拟机。请让您的 Project IAM Admin 向您授予 Project VirtualMachine Admin (project-vm-admin) 角色。
    • 备份创建器:创建手动备份和恢复。请让您的 Project IAM Admin 向您授予 Backup Creator (backup-creator) 角色。
    • 项目查看者:拥有对项目命名空间内所有资源的只读权限。请让您的 Project IAM Admin 为您授予 Project Viewer (project-viewer) 角色。

恢复快照

使用 GDC 控制台或应用编程接口 (API) 通过磁盘快照创建新的虚拟机。

控制台

  1. 登录 GDC 控制台。
  2. 在导航菜单中,依次点击虚拟机 > 快照
  3. 选择一个项目。
  4. 在快照列表中,找到要恢复的快照,然后点击恢复
  5. 新磁盘名称字段中,输入要将备份恢复到的磁盘的名称。
  6. 输入恢复的恢复名称
  7. 点击恢复

API

创建 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: 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. 在导航菜单中,依次点击虚拟机 > 快照
  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:项目的名称。

后续步骤