创建预定备份方案

本文档介绍了如何创建定期备份方案,以在 Google Distributed Cloud (GDC) 气隙环境中按预定时间表备份虚拟机 (VM) 工作负载。

备份方案提供备份的配置和位置。备份方案包含备份配置,此配置涉及源虚拟机以及选择要备份的虚拟机。备份方案用于定义虚拟机备份的定期时间表。每个基于虚拟机的备份方案都会使用在 ProtectedApplication 资源中定义的标签选择器来引用要备份的目标虚拟机或虚拟机磁盘资源。

本文档适用于平台管理员或应用运维者群组中负责管理虚拟机备份操作的开发者。如需了解详情,请参阅 GDC 网闸隔离配置文档的受众群体

准备工作

如需创建虚拟机备份方案,您必须满足以下条件:

申请 IAM 角色

如需管理虚拟机备份资源的生命周期,包括在用户集群中创建、查看和删除备份和恢复方案,请让组织 IAM 管理员向您授予组织备份管理员 (organization-backup-admin) 角色。此角色可让您配置和执行虚拟机数据保护策略。

为虚拟机创建备份方案模板

如需规划备份,请创建 VirtualMachineBackupPlanTemplate 自定义资源。以下是 VirtualMachineBackupPlanTemplate 的示例:

   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineBackupPlanTemplate
   metadata:
     name: BACKUP_TEMPLATE_NAME
     namespace: PROJECT_NAME
   spec:
     backupRepository: "BACKUP_REPOSITORY_NAME"

替换以下内容:

  • BACKUP_TEMPLATE_NAME:备份方案模板的名称。
  • PROJECT_NAME:要在其中创建模板的项目的名称。

  • BACKUP_REPOSITORY_NAME:在上一部分中创建的代码库的名称。

为虚拟机创建已定义的备份方案

如需按指定范围的定义时间表创建虚拟机备份,您必须使用 API 创建 VirtualMachineBackupPlan 资源。此资源用于指定虚拟机备份的范围以及定义备份创建频率的 cron 时间表。

您可以通过以下两种方式设置虚拟机备份方案的范围:

  • 使用列表:以列表形式指定要备份的虚拟机或虚拟机磁盘。这些备份目标位置在 selectedVirtualMachinesselectedVirtualMachineDisks 字段中列出。
  • 使用标签:提供一个标签,用于选择包含相应标签值的所有虚拟机或虚拟机磁盘。任何匹配的虚拟机都会通过此备份方案进行备份。

使用列表创建虚拟机备份方案

如需使用列表方法创建虚拟机备份方案,请在 selectedVirtualMachinesselectedVirtualMachineDisks 字段中指定备份目标:

apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
    name: BACKUP_PLAN_NAME
    namespace: BACKUP_PLAN_NAMESPACE
spec:
    virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
    backupConfig:
        backupScope:
            selectedVirtualMachines:
                - resourceName: VM_NAME
            selectedVirtualMachineDisks:
                - resourceName: VM_DISK_NAME
        volumeStrategy: VOLUME_STRATEGY
    backupSchedule:
        cronSchedule: CRON_SCHEDULE
        paused: false
        maxConcurrency: MAX_CONCURRENCY

替换以下内容:

  • BACKUP_PLAN_NAME:备份方案的名称。
  • BACKUP_PLAN_NAMESPACE:包含备份方案的命名空间。
  • BACKUP_TEMPLATE_NAME:指向在创建虚拟机备份方案模板中创建的相关备份存储库的虚拟机备份方案模板。
  • VM_NAMEselectedVirtualMachines 字段中的虚拟机名称列表。此列表中的虚拟机由虚拟机备份方案提供备份。如果指定了多个虚拟机,您必须使用以下格式列出虚拟机名称:

    selectedVirtualMachines:
        - resourceName: "virtualmachine"
        - resourceName: "virtualmachine-2"
        ...
        - resourceName: "virtualmachine-n"
    
  • VM_DISK_NAME:要通过虚拟机备份计划备份的虚拟机磁盘。如果您需要指定多个虚拟机磁盘,则必须按以下格式列出这些磁盘:

    selectedVirtualMachineDisks:
        - resourceName: "disk-1"
        - resourceName: "disk-2"
        ...
        - resourceName: "disk-n"
    
  • VOLUME_STRATEGY:要执行的卷备份的类型。您必须使用以下某个值:

    • ProvisionerSpecific:利用底层存储空间配置程序的备份和恢复功能。如果 includeVolumeDatatrue,请使用此选项。
    • LocalSnapshotOnly:仅在本地存储系统本身上创建卷的时间点副本。
  • CRON_SCHEDULE:用于定义所选备份时间表的 cron 表达式。例如,cron 值 0 */12 * * * 会每 12 小时创建一次备份。所预定的备份之间的最短间隔为 10 分钟。

  • MAX_CONCURRENCY:指定一个备份方案下可同时存在的有效定期备份数量上限。如果指定了此值,则在任意给定时间,此备份方案中处于有效状态的定期备份数量不得超过此值。如果未指定,则默认为 2。值必须介于 1 到 7 之间。

使用标签创建虚拟机备份方案

如需使用标签方法创建虚拟机备份方案,请在 vmResourceLabelSelector 字段中指定与要备份的目标虚拟机匹配的标签:

apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
    name: BACKUP_PLAN_NAME
    namespace: BACKUP_PLAN_NAMESPACE
spec:
    virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
    backupConfig:
        backupScope:
            vmResourceLabelSelector:
                KEY: VALUE
        volumeStrategy: VOLUME_STRATEGY
    backupSchedule:
        cronSchedule: CRON_SCHEDULE
        paused: false
        maxConcurrency: MAX_CONCURRENCY

替换以下内容:

  • BACKUP_PLAN_NAME:备份方案的名称。
  • BACKUP_PLAN_NAMESPACE:包含备份方案的命名空间。
  • BACKUP_TEMPLATE_NAME:指向在创建虚拟机备份方案模板中创建的相关备份存储库的虚拟机备份方案模板。
  • KEY: VALUE:将给定标签与包含该标签的任何虚拟机相匹配的标签选择器。此备份方案会备份在同一命名空间中找到的所有匹配虚拟机。此对象必须采用 keys:string, values:string 格式。
  • VOLUME_STRATEGY:要执行的卷备份的类型。您必须使用以下某个值:
    • ProvisionerSpecific:利用底层存储空间配置程序的备份和恢复功能。如果 includeVolumeDatatrue,请使用此选项。
    • LocalSnapshotOnly:仅在本地存储系统本身上创建卷的时间点副本。
  • CRON_SCHEDULE:用于定义所选备份时间表的 cron 表达式。例如,cron 值 0 */12 * * * 会每 12 小时创建一次备份。
  • MAX_CONCURRENCY:指定一个备份方案下可同时存在的有效定期备份数量上限。如果指定了此值,则在任意给定时间,此备份方案中处于有效状态的定期备份数量不得超过此值。如果未指定,则默认为 2。值必须介于 1 到 7 之间。

查看备份方案

使用 GDC 控制台或 kubectl 查看备份方案。

控制台

使用 GDC 控制台查看备份方案列表。

  1. 登录 GDC 控制台。
  2. 在导航菜单中,依次点击Backup for Virtual Machines > Backup plans
  3. 选择一个项目。
  4. 点击列表中的备份方案即可查看其详细信息。

kubectl

通过列出备份方案并使用 kubectl 查看其详细信息来查看备份方案。

  1. 列出现有备份方案:

    kubectl get backupplans.backup.gdc.goog -n PROJECT_NAME
    
  2. 在列表中,找到要查看的备份方案。

  3. 查看备份方案详情:

    kubectl describe backupplans.backup.gdc.goog BACKUP_PLAN_NAME -n PROJECT_NAME
    

    替换以下内容:

    • BACKUP_PLAN_NAME:备份方案的名称。
    • PROJECT_NAME:项目的名称。

后续步骤