本文档介绍了如何创建定期备份方案,以在 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 时间表。
您可以通过以下两种方式设置虚拟机备份方案的范围:
- 使用列表:以列表形式指定要备份的虚拟机或虚拟机磁盘。这些备份目标位置在
selectedVirtualMachines和selectedVirtualMachineDisks字段中列出。 - 使用标签:提供一个标签,用于选择包含相应标签值的所有虚拟机或虚拟机磁盘。此备份方案会备份所有匹配的虚拟机。
使用列表创建虚拟机备份方案
如需使用列表方法创建虚拟机备份方案,请在 selectedVirtualMachines 和 selectedVirtualMachineDisks 字段中指定备份目标:
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
替换以下内容:
BACKUP_PLAN_NAME:备份方案的名称。BACKUP_PLAN_NAMESPACE:包含备份方案的命名空间。BACKUP_TEMPLATE_NAME:指向在创建虚拟机备份方案模板中创建的相关备份存储库的虚拟机备份方案模板。VM_NAME:在selectedVirtualMachines字段中以列表形式指定虚拟机名称。此虚拟机备份方案备份的虚拟机列表。如果指定了多个虚拟机,则列表必须采用以下格式: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:利用底层存储空间配置程序的备份和恢复功能。如果includeVolumeData为true,请使用此选项。LocalSnapshotOnly:仅在本地存储系统本身上创建卷的时间点副本。
CRON_SCHEDULE:用于定义所选备份时间表的 cron 表达式。例如,cron 值0 */12 * * *会每 12 小时创建一次备份。
使用标签创建虚拟机备份方案
如需使用标签方法创建虚拟机备份方案,请在 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
替换以下内容:
BACKUP_PLAN_NAME:备份方案的名称。BACKUP_PLAN_NAMESPACE:包含备份方案的命名空间。BACKUP_TEMPLATE_NAME:指向在创建虚拟机备份方案模板中创建的相关备份存储库的虚拟机备份方案模板。KEY: VALUE:标签选择器,用于将给定标签与包含该标签的任何虚拟机相匹配。此备份方案会备份在同一命名空间中找到的所有匹配虚拟机。此对象必须采用keys:string, values:string格式。VOLUME_STRATEGY:要执行的卷备份的类型。您必须使用以下某个值:ProvisionerSpecific:利用底层存储空间配置程序的备份和恢复功能。如果includeVolumeData为true,请使用此选项。LocalSnapshotOnly:仅在本地存储系统本身上创建卷的时间点副本。
CRON_SCHEDULE:用于定义所选备份时间表的 cron 表达式。例如,cron 值0 */12 * * *会每 12 小时创建一次备份。
查看备份方案
使用 GDC 控制台或 kubectl 查看备份方案。
控制台
使用 GDC 控制台查看备份方案列表。
- 登录 GDC 控制台。
- 在导航菜单中,依次点击Backup for Virtual Machines > 备份方案。
- 选择一个项目。
- 点击列表中的备份方案即可查看其详细信息。
kubectl
通过使用 kubectl 列出备份方案并查看其详细信息来查看备份方案。
列出现有备份方案:
kubectl get backupplans.backup.gdc.goog -n PROJECT_NAME在列表中,找到要查看的备份方案。
查看备份方案详情:
kubectl describe backupplans.backup.gdc.goog BACKUP_PLAN_NAME -n PROJECT_NAME替换以下内容:
BACKUP_PLAN_NAME:备份方案的名称。PROJECT_NAME:项目的名称。