本页提供有关如何将 Filestore 实例备份到 Backup and DR Service 备份保险库的说明,包括如何在 Filestore 项目中授予备份保险库访问权限、配置定期备份、创建按需备份,以及如何管理保险库中的备份。
概览
将备份发送到备份保险柜可确保备份不可变并强制执行保留期限。借助备份保险柜,您可以将备份存储在单区域或多区域中。如需详细了解备份保险柜,请参阅为不可更改和不可删除的备份创建备份保险柜。
备份用户的 IAM 角色和权限
如需获得配置定期备份或运行按需备份所需的权限,请让管理员向您授予备份保险库项目的以下 IAM 角色:
-
Backup and DR Backup User (
roles/backupdr.backupUser) -
Viewer (
roles/viewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含配置定期备份或运行按需备份所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需配置预定备份或运行按需备份,您需要具备以下权限:
-
backupdr.backupPlans.list -
backupdr.backupPlanAssociations.createForFilestoreInstance -
backupdr.backupPlanAssociations.list -
backupdr.backupPlanAssociations.get -
backupdr.backupPlanAssociations.triggerBackupForFilestoreInstance -
backupdr.backupPlanAssociations.deleteForFilestoreInstance -
backupdr.backupPlans.useForFilestoreInstance -
backupdr.locations.list -
backupdr.operations.get -
cloudasset.assets.searchAllResources
下表列出了每次 API 调用所需的动态权限:
| 资源 | 要对资源执行的操作 | 每次 API 调用所需的权限 | 需要分配到的项目 |
|---|---|---|---|
| 备份保险柜 | 创建 BackupVault | backupdr.backupVaults.create | 管理员项目 |
| 删除 BackupVault | backupdr.backupVaults.delete | 管理员项目 | |
| 更新 BackupVault | backupdr.backupVaults.update | 管理员项目 | |
| 列出 BackupVault | backupdr.backupVaults.list | 管理员项目 | |
| 获取 BackupVault | backupdr.backupVaults.get | 管理员项目 | |
| 备份方案 | 创建 BackupPlan | backupdr.backupPlans.create | 管理员项目 |
| 删除 BackupPlan | backupdr.backupPlans.delete | 管理员项目 | |
| 获取 BackupPlan | backupdr.backupPlans.get | 管理员项目 | |
| 列出备份方案 | backupdr.backupPlans.list | 管理员项目 | |
| 备份方案关联 | 创建备份方案关联 | file.instances.updateBackupDrConfig | 工作负载项目 |
| backupdr.backupPlanAssociations.createForFilestoreInstance | 工作负载项目 | ||
| backupdr.backupPlans.useForFilestoreInstance | 管理员项目 | ||
| 删除备份方案关联 | backupdr.backupPlanAssociations.deleteForFilestoreInstance | 工作负载项目 | |
| file.instances.updateBackupDrConfig | 工作负载项目 | ||
| 在备份方案关联时触发按需备份 | backupdr.backupPlanAssociations.triggerBackupForFilestoreInstance | 工作负载项目 | |
| 获取备份方案关联 | backupdr.backupPlanAssociations.getForFilestoreInstance | 工作负载项目 | |
| 列出备份方案关联 | backupdr.backupPlanAssociations.list | 工作负载项目 | |
| 获取备份方案关联 | backupdr.backupPlanAssociations.fetchForFilestoreInstance | 工作负载项目 | |
| 数据源 | 获取 DataSource | backupdr.bvdataSources.get | 管理员项目 |
| 列出数据源 | backupdr.backupPlanAssociations.list | 管理员项目 | |
| 备份 | 获取备份 | backupdr.bvbackups.get | 管理员项目 |
| 列出备份 | backupdr.bvbackups.list | 管理员项目 | |
| 删除备份 | backupdr.bvbackups.delete | 管理员项目 | |
| 恢复备份 | backupdr.bvbackups.useReadOnlyForFilestoreInstance | 管理员项目 | |
| 数据源参考 | 获取数据源引用 | backupdr.dataSourceReferences.getForFilestoreInstance | 工作负载项目 |
| 提取数据源引用 | backupdr.dataSourceReferences.fetchForFilestoreInstance | 工作负载项目 | |
| 运维 | 列出操作 | backupdr.operations.list | 相应项目 |
| GET 操作 | backupdr.operations.get | 相应项目 |
在 Filestore 项目中授予备份保险柜访问权限
如需备份项目中的 Filestore 实例,但该项目与创建备份保险柜的项目不同,您必须向 Filestore 项目中的备份保险柜服务代理授予 Backup and DR Filestore Editor (roles/backupdr.xxyxxyxx) IAM 角色。
如需备份与创建备份保险柜的项目相同的项目中的 Filestore 实例,则无需授予任何角色。
如需了解如何在您打算备份的项目中向备份保险库服务代理授予角色,请参阅向服务代理授予角色。
准备工作
在 Filestore 实例所在的位置启用 Backup and DR Service API。
在存储桶上设置 Log Analytics 以监控 Backup and DR 备份作业。
备份 Filestore 实例
您可以通过应用备份方案将 Filestore 实例备份到备份保险柜。您可以使用以下任一方法备份数据:
配置预定备份
按照以下说明为 Filestore 实例配置定期备份。
gcloud
配置预定备份。
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=LOCATION \ --backup-plan=BACKUP_PLAN \ --resource=projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME \ --resource-type='file.googleapis.com/Instance'替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。LOCATION:备份方案关联的位置。BACKUP_PLAN:备份方案的名称。PROJECT_ID:Filestore 实例的项目 ID。ZONE:Filestore 实例的可用区。INSTANCE_NAME:Filestore 实例的名称。
更改应用于 Filestore 实例的备份方案
您可以将应用于 Filestore 实例的备份方案更改为其他备份方案。其他备份方案必须满足以下条件:
- 使用同一备份保险柜
- 与 Filestore 实例位于同一区域
按照以下说明更改与 Filestore 实例关联的备份方案。
控制台
在 Google Cloud 控制台中,前往封存的备份页面。
已保险柜化的备份页面仅列出已应用备份方案且备份已存储在项目中的备份保险柜中的实例。
选择要改用其他方案的备份。在备份的备份详情页面中,或在 菜单中,选择更改备份方案。选择备份方案窗口仅列出适用于相应实例的备份方案。
选择备份方案,然后点击应用。
gcloud
创建备份方案关联:
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=LOCATION \ --backup-plan=BACKUP_PLAN \ --resource=projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME \ --resource-type='file.googleapis.com/Instance'替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。LOCATION:备份方案关联的位置。BACKUP_PLAN:备份方案的名称。PROJECT_ID:Filestore 实例的项目 ID。ZONE:Filestore 实例的可用区。INSTANCE_NAME:Filestore 实例的名称。
删除备份方案关联:
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \ --location=LOCATION替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。LOCATION:备份方案关联的位置。
描述备份方案关联:
gcloud backup-dr backup-plan-associations describe BACKUP_PLAN_ASSOCIATION_NAME \ --location=LOCATION替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。LOCATION:备份方案关联的位置。
列出备份方案关联:
gcloud backup-dr backup-plan-associations list --location=LOCATION替换以下内容:
LOCATION:要列出备份方案关联的位置。
为备份方案关联触发备份:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --location=LOCATION \ --backup-rule-id=RULE_ID替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。LOCATION:备份方案关联的位置。RULE_ID:要使用的备份规则的 ID。
列出预定备份
按照以下说明列出已备份的 Filestore 实例。
控制台
在 Google Cloud 控制台中,前往已归档的备份页面。
已保险柜化的备份页面仅列出已应用备份方案且备份已存储在项目中的备份保险柜内的实例。
gcloud
列出预定备份。
gcloud backup-dr backup-plan-associations list \ --location=LOCATION \ --project=PROJECT_ID替换以下内容:
PROJECT_ID:项目的名称。LOCATION:预定备份的位置。
创建按需备份
您可以为具有备份方案的 Filestore 实例发起按需备份,方法是触发所选的备份规则立即运行。按需备份通常仅捕获自上次备份以来发生更改的数据(增量)。
创建按需备份时,您可以从与 Filestore 实例关联的备份方案中选择规则。此规则决定了何时删除按需备份。您可以在作业页面中查看备份作业状态。如需了解详情,请参阅在 Google Cloud 控制台中监控备份和恢复作业。
按照以下说明创建按需备份。
gcloud
创建使用备份规则的按需备份。
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --project=PROJECT_ID \ --location=REGION \ --backup-rule-id=RULE_ID --labels=LABELS替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。运行命令gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID可获取与 Filestore 磁盘关联的备份方案的列表。PROJECT_ID:项目的名称。REGION:预定备份的位置。RULE_ID:您要关联的备份规则名称,用于运行按需备份。LABELS:备份的可选标签,以英文逗号分隔的键值对形式表示,例如webserver=backend,media=images。
创建使用自定义保留期限的按需备份。
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --project=PROJECT_ID \ --location=REGION \ --custom-retention-days=CUSTOM_RETENTION --labels=LABELS替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:备份方案关联的名称。运行命令gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID可获取与 Filestore 磁盘关联的备份方案的列表。PROJECT_ID:项目的名称。REGION:预定备份的位置。CUSTOM_RETENTION:相应按需备份的自定义保留期限(以天为单位)。此值必须等于或大于备份保险柜保留时间,并且小于或等于备份方案中配置的 max-custom-on-demand-retention-days 值(如果未配置 max-custom-on-demand-retention-days,则为保险柜保留时间 + 30 天)。LABELS:备份的可选标签,以英文逗号分隔的键值对形式表示,例如webserver=backend,media=images。
取消保护 Filestore 实例
您可以移除应用于 Filestore 实例的备份方案,从而取消对该实例的保护。从 Filestore 实例中移除备份方案不会删除该备份方案或实例使用期间创建的任何备份。 您仍然可以访问和管理这些现有备份。
按照以下说明取消保护 Filestore 实例。
控制台
在 Google Cloud 控制台中,前往封存的备份页面。
点击要移除备份方案的实例的名称。
选择移除备份方案。
gcloud
取消对 Filestore 实例的保护。
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME\ --project=PROJECT_ID \ --location=LOCATION替换以下内容:
BACKUP_PLAN_ASSOCIATION_NAME:要删除的备份的名称。PROJECT_ID:项目的名称。LOCATION:预定备份的位置。