本文档介绍了如何在 Google Distributed Cloud (GDC) 网闸隔离配置中手动为虚拟机 (VM) 工作负载创建备份。
默认情况下,备份方案会自动启动预定备份。您也可以随时手动创建虚拟机备份,即使在您定义的时间表之外也是如此。手动虚拟机备份可让您即时捕获虚拟机的状态,并提供独立于预定备份方案的恢复点。
本文档适用于管理虚拟机备份操作的平台管理员或应用运维者群组中的开发者。如需了解详情,请参阅 GDC 网闸隔离配置文档的受众群体。
准备工作
如需创建手动虚拟机备份,您必须有一个单个虚拟机备份仓库来存储备份数据。
申请 IAM 角色
如需完成本文档中的任务,请申请所需的组织和项目角色。
组织级角色
请让您的 IAM 组织管理员向您授予 Organization Backup Admin (organization-backup-admin) 角色。借助此角色,您可以创建、获取、列出、监视、更新、修补和删除虚拟机备份仓库、虚拟机备份方案模板、虚拟机备份请求和虚拟机恢复请求。
项目级角色
请让您的 IAM 项目管理员向您授予以下角色:
- Virtual Machine Project Admin (
project-vm-admin):在项目命名空间中创建、获取、列出、监视、更新、修补和删除虚拟机和虚拟机磁盘。 - Backup Creator (
backup-creator):创建、获取、列出、监视、更新、修补和删除手动备份请求和手动恢复请求。 - Project Viewer (
project-viewer):获取、列出和监视项目命名空间中的所有资源。
按照相关步骤验证您的访问权限。
为虚拟机创建备份方案模板
您必须先创建备份方案模板,然后才能触发手动备份。您只需为每个备份仓库执行一次此步骤。如果您已经创建了一个模板,请勿再创建其他模板。
控制台
- 登录 GDC 控制台。
- 在导航菜单中,依次点击 Backup for Virtual Machines > 备份方案。
- 点击创建备份方案。
- 在项目字段中,选择此备份方案的项目。
- 输入备份方案名称和说明。
- 在备份仓库字段中,选择一个备份仓库。备份仓库是一组对象存储实现。
- 点击创建。
kubectl
如需规划备份,请创建并应用 VirtualMachineBackupPlanTemplate 自定义资源:
kubectl apply -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlanTemplate
metadata:
name: BACKUP_TEMPLATE_NAME
namespace: PROJECT_NAME
spec:
backupRepository: "BACKUP_REPOSITORY_NAME"
EOF
替换以下内容:
BACKUP_TEMPLATE_NAME:备份方案模板的名称。PROJECT_NAME:您要在其中创建模板的项目的名称。BACKUP_REPOSITORY_NAME:您在上一步中创建的备份仓库的名称。
创建手动备份
创建手动虚拟机备份
如需创建手动虚拟机备份,请创建并应用 VirtualMachineBackupRequest 自定义资源,并使用以下两种方法之一指定备份目标:
引用现有备份方案:使用元数据中的
namespace字段指定方案所在的项目,并使用virtualMachineBackupPlan字段定位到特定备份方案:kubectl apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineBackupRequest metadata: name: BACKUP_REQUEST_NAME namespace: PROJECT # Use this field if the backup plan was created using the API. spec: virtualMachineBackupPlan: VM_BACKUP_PLAN virtualMachineBackupName: VM_BACKUP_NAME deleteLockDays: DELETE_LOCK_DAYS retainDays: RETAIN_DAYS EOF使用模板并定位到特定虚拟机:在基于模板定义新的即时备份时,使用
virtualMachineBackupPlanTemplate和virtualMachine字段。使用此方法时,您必须直接在spec部分中指定目标虚拟机:kubectl apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineBackupRequest metadata: name: BACKUP_REQUEST_NAME spec: virtualMachineBackupPlanTemplate: VM_BACKUP_PLAN_TEMPLATE virtualMachine: VM_NAME virtualMachineBackupName: VM_BACKUP_NAME deleteLockDays: DELETE_LOCK_DAYS retainDays: RETAIN_DAYS EOF
替换以下内容:
BACKUP_REQUEST_NAME:您要发起的备份请求的名称。PROJECT:备份方案所在项目的名称。VM_BACKUP_PLAN:要作为备份目标的VirtualMachineBackupPlan自定义资源的名称。VM_BACKUP_PLAN_TEMPLATE:用于配置备份的VirtualMachineBackupPlanTemplate自定义资源的名称。VM_NAME:要备份的虚拟机的名称。VM_BACKUP_NAME:要创建的备份的名称。DELETE_LOCK_DAYS(可选):自此备份创建之日起,系统阻止删除备份的天数。该值不得超过 90 天,且必须小于或等于RETAIN_DAYS。如果您将此值设置为0,系统不会阻止删除。如果您省略此值,则系统会默认使用关联备份方案的配置。RETAIN_DAYS(可选):在系统自动删除此备份之前保留此备份的天数。该值不得超过 90 天。如果您将此值设置为0,系统不会自动删除备份。如果您省略此值,则默认为关联的备份方案的配置。
创建快照
快照会捕获虚拟机磁盘的时间点映像以进行恢复,这与虚拟机备份不同,后者会在备份仓库中创建虚拟机数据的独立副本。
使用 GDC 控制台或 API 创建快照。
控制台
- 登录 GDC 控制台。
- 在导航菜单中,依次点击虚拟机 > 快照。
- 选择一个项目。
- 点击创建快照。
- 在来源磁盘字段中,选择要从中创建快照的磁盘。
- 在快照名称字段中,输入快照的名称。
- 点击创建。
kubectl
创建并应用 VirtualMachineBackupRequest 自定义资源以启动快照:
kubectl apply -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupRequest
metadata:
name: BACKUP_REQUEST_NAME
namespace: PROJECT_NAME
spec:
virtualMachineBackupPlanTemplate: VM_BACKUP_PLAN
virtualMachineDisk: VM_DISK
virtualMachineBackupName: VM_BACKUP_NAME
deleteLockDays: DELETE_LOCK_DAYS
retainDays: RETAIN_DAYS
EOF
替换以下内容:
BACKUP_REQUEST_NAME:您要发起的备份请求的名称。PROJECT_NAME:GDC 项目的名称。VM_BACKUP_PLAN:用于配置快照的VirtualMachineBackupPlanTemplate自定义资源的名称。VM_DISK:要创建快照的磁盘的名称。VM_BACKUP_NAME:要创建的快照的名称。DELETE_LOCK_DAYS(可选):自此快照创建之日起,系统禁止删除快照的天数。该值不得超过 90 天,且必须小于或等于RETAIN_DAYS。如果您将此值设置为0,系统不会阻止删除。如果您省略此值,则默认为关联的备份方案的配置。RETAIN_DAYS(可选):在系统自动删除此快照之前保留此快照的天数。该值不得超过 90 天。如果您将此值设置为0,系统不会自动删除快照。如果您省略此值,则默认为关联的备份方案的配置。