本页面介绍如何使用 Filestore 备份来备份数据以用于灾难恢复。如需详细了解备份、常见使用场景和最佳做法,请参阅备份。
支持的层级
下表显示了支持备份、加密和相关 restore
操作的 Filestore 服务层级:
层级 | 备份 支持 |
restore 到新实例 |
restore 到现有实例 |
restore 到 源实例 |
CMEK 支持 |
---|---|---|---|---|---|
基本 HDD | 是 | 是 | 是 | 是 | 否 |
基本 SSD | 是 | 是 | 是 | 是 | 否 |
可用区级 | 是 | 是 | 否 | 否 | 是 |
区域 | 是 | 是 | 否 | 否 | 是 |
企业 | 是 | 是 | 否 | 否 | 是 |
准备工作
安装
gcloud
。-
gcloud components update
请确保您正在使用的账号具有 Cloud Filestore Editor 角色或者 Project Owner 或 Project Editor 基本角色。如需详细了解 Filestore 的角色和权限,请参阅访问权限控制、IAM 权限或支持的协议简介。
备份文件共享
Filestore 备份不包含文件锁和某些实例特定信息。下表显示了备份会保留的信息和不保留的信息:
保留 | 不保留 |
---|---|
实例 ID | 说明 |
源实例的层级 | 位置 |
容量 | 网络 |
文件共享名称 | IP 地址 |
创建时间 | |
基于 IP 的访问权限控制 | |
文件锁 | |
锁定状态 | |
快照 |
备份链和加密
备份链是指引用同一源实例的备份集合。即使存储在与来源不同的区域,备份链也会集中位于自己的存储桶和区域中,并且链中的每个备份都使用相同的 CMEK 进行加密(如果适用)。所有服务层级都支持多个备份链。
创建使用 CMEK 加密的备份链时,请考虑以下限制:
基本 HDD 和基本 SSD 备份不支持 CMEK。
单个 CMEK 会应用于存储备份链的存储桶,并且无法组合或替换。
创建备份
您可以通过以下方法之一创建文件共享的备份:
控制台
- 转到“Filestore 实例”页面
- 点击您要为其创建备份的 Filestore 实例。
- 点击备份标签页。
- 点击创建备份。
- 在备份 ID 中,输入备份的名称。
- 在地区部分,选择您要在其中创建备份的 Google Cloud 区域。
- 可选:添加说明。
- 可选:点击添加标签可向备份添加标签。
- 点击创建。
gcloud
在本地机器的终端窗口中运行以下 gcloud filestore backups create
命令。--kms-key
标志是可选标志:
gcloud filestore backups create BACKUP-NAME \
--instance=INSTANCE-NAME \
--file-share=FILE-SHARE-NAME \
--instance-zone=ZONE \
--region=BACKUP-LOCATION \
--kms-key=projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEYRING/cryptoKeys/CRYPTO-KEY
其中:
- BACKUP-NAME 是您要为备份指定的名称。
- INSTANCE-NAME 是要备份的 Filestore 实例的名称。
- FILE-SHARE-NAME 是 Filestore 实例上的文件共享的名称。
- ZONE 是 Filestore 实例所在的区域。
- BACKUP-LOCATION 是备份将存储到的区域。如果未指明区域,则系统会在 Filestore 实例所在的区域创建备份。
- KMS-PROJECT 是存储 KMS 密钥资源的项目名称。
- KMS-LOCATION 是 KMS 密钥资源所在的区域。
- KEYRING 是密钥环的名称。
- CRYPTO-KEY 是 KMS 密钥资源。
示例
以下命令将在位于 us-central1-c
区域的 Filestore 实例 nfs-server
上创建文件共享 vol1
的备份。备份的名称为 mybackup
,位于区域 asia-east2
,并有一个关联的加密密钥,该密钥会在恢复实例时对其进行加密:
gcloud filestore backups create mybackup \
--instance=nfs-server \
--file-share=vol1 \
--instance-zone=us-central1-c \
--region=asia-east2 \
--kms-key=projects/purple-project/locations/us-central1/keyRings/filestore-keyring/cryptoKeys/filestore-key
列出、查看、更新和删除备份
可以列出、查看、更新和删除 Filestore 备份。
控制台
如需查看当前项目中的所有备份的列表,请按照以下操作执行:
如需查看备份的相关详细信息,请点击备份 ID。
要删除备份,请使用:
- 点击要删除的备份的备份 ID。
- 点击删除。
- 出现提示时,请输入备份 ID。
- 点击删除。
gcloud
列出当前项目中的所有备份
如需查看当前项目的备份列表,请运行 backups list
命令:
gcloud filestore backups list
查看备份的相关信息
如需查看备份的相关信息,请运行 backups describe
命令:
gcloud filestore backups describe BACKUP-NAME \
--region=BACKUP-LOCATION
其中:
- BACKUP-NAME 是您要查看其信息的备份的名称。
- BACKUP-LOCATION 是存储备份的地区。
更新备份
如需更新备份,请运行 backups update
命令:
gcloud filestore backups update BACKUP-NAME \ --region=BACKUP-LOCATION \ --description="NEW-DESCRIPTION" \ --update-labels=KEY=VALUE,...
其中:
- BACKUP-NAME 是您要查看其信息的备份的名称。
- BACKUP-LOCATION 是存储备份的地区。地区无法更改。
- NEW-DESCRIPTION 是备份的说明。
- KEY=VALUE,... 是要更新的
KEY=VALUE
对的列表。如果存在标签,则会更新其值,否则将创建新标签。
删除备份
如需删除备份,请运行 backups delete
命令:
gcloud filestore backups delete BACKUP-NAME \ --region=BACKUP-LOCATION
其中:
- BACKUP-NAME 是您要查看其信息的备份的名称。
- BACKUP-LOCATION 是存储备份的地区。
恢复文件共享
在发起恢复操作之前,我们建议您暂停应用并从文件系统中卸载,以降低应用出错的风险。然后,通过备份恢复文件共享后,您必须重新装载文件共享。成功恢复后,系统会撤消所有未完成的文件锁。在恢复期间,客户端 READ
和 WRITE
操作会暂停。
限制
基本层级备份可以恢复到来源、新实例或现有实例。
如果您想恢复可用区级、区域级或企业级实例的备份,则必须创建新实例。
创建新实例以完成备份
restore
操作时,新实例必须与源实例的服务层级和容量范围相匹配。例如,如果来源是使用容量范围较小的区域性服务层级创建的,则新实例必须使用相同的服务层级和容量范围。恢复备份时,新实例必须使用与源实例相同的协议。
准备工作
将备份恢复到现有实例时,如果备份和实例使用不同的客户管理的加密密钥 (CMEK),您需要通过目标实例的项目级服务账号向备份的密钥授予访问权限。
gcloud
确保您拥有适当的权限(例如 roles/cloudkms.admin
角色),以运行以下命令:
gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER \
--member serviceAccount:service-TARGET_INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter
其中:
- KMS_PROJECT_NUMBER 是密钥所在的项目编号。
- TARGET_INSTANCE_PROJECT_NUMBER 是您要与密钥关联的实例的项目编号。
如需了解 gcloud
标志的详细信息,请参阅 gcloud projects add-iam-policy-binding
页面。
恢复到源实例或现有实例
您可以将基本层级备份恢复到源实例,也可以恢复到现有 Filestore 实例的文件共享。
将备份恢复到现有 Filestore 实例时,目标实例的容量必须大于或等于创建备份的原始实例的容量。如果原始实例容量较大,您必须先增加目标实例的容量,然后再尝试执行恢复操作。
如果将备份恢复到基本 HDD 或基本 SSD 实例失败,则文件共享状态将保持不变。
如果在操作开始后,向可用区、区域或企业实例恢复备份失败,文件系统会重置为空状态。用户负责重试操作。
控制台
- 转到“Filestore 实例”页面
- 点击您希望从中恢复备份的实例的 ID。
- 点击备份标签页。
- 找到要用于恢复的备份,然后点击(...)更多操作。
- 点击恢复备份。
- 选择要恢复到的目标实例:
- 如果要恢复源实例,请点击源实例。
- 如果要恢复到其他现有实例,请点击其他现有实例。
- 点击选择实例。
- 选择要将恢复的备份存储到的目标实例,然后点击选择。
- 点击恢复,界面会显示一个确认对话框。
- 点击确认复选框。
- 在输入字段中输入备份的名称,然后点击恢复。
gcloud
如需将 Filestore 文件共享恢复到现有实例,请运行 instances restore
命令:
gcloud filestore instances restore INSTANCE-NAME \
--source-backup=BACKUP-NAME \
--source-backup-region=BACKUP-LOCATION \
--file-share=FILE-SHARE-NAME \
--zone=INSTANCE-LOCATION
其中:
- INSTANCE-NAME 是文件共享要恢复到的现有 Filestore 实例的名称。
- BACKUP-NAME 是要用于进行恢复的备份名称。
- BACKUP-LOCATION 是备份所在的地区。
- FILE-SHARE-NAME 是要恢复到的文件共享名称。
- INSTANCE-LOCATION 是 Filestore 实例所在的区域。
示例
以下命令将位于地区 asia-east2
中的 mybackup
恢复到位于区域 us-central1-c
的 Filestore 实例 myinstance
上的文件共享 vol1
:
gcloud filestore instances restore myinstance \
--source-backup=mybackup \
--source-backup-region=asia-east2 \
--file-share=vol1 \
--zone=us-central1-c
恢复到新实例
将备份恢复到新的 Filestore 实例时,新文件共享的容量必须大于或等于备份的容量。对于可用区级、区域级和企业级实例,新文件共享的容量必须大于或等于来源共享的容量。
您必须使用与源备份相同的服务层级。
控制台
在 Google Cloud 控制台中,前往“Filestore 实例”页面。
点击备份。
点击要用于进行恢复的备份名称。
点击恢复。
点击新建实例。
按照页面上的说明配置新实例。如需了解详情,请参阅创建实例。
点击恢复。
gcloud
如需将 Filestore 文件共享恢复到新实例,请运行 instances create
命令:
gcloud filestore instances create INSTANCE-NAME \
--zone=ZONE \
--tier=TIER \
--file-share=name=FILE-SHARE-NAME,capacity=FILE-SHARE-CAPACITY,source-backup=SOURCE-BACKUP-NAME,source-backup-region=SOURCE-BACKUP-LOCATION \
--network=name=VPC-NETWORK,reserved-ip-range=RESERVED-IP-ADDRESS
其中:
- INSTANCE-NAME 是您要为新 Filestore 实例指定的名称。
- ZONE 是 Filestore 实例所在的区域。
- TIER 是您要使用的服务层级。此值应与来源备份相同。
- FILE-SHARE-NAME 是您为从实例提供的 NFS 文件共享所指定的名称。
- FILE-SHARE-CAPACITY 是文件共享所需的容量。
- SOURCE-BACKUP-NAME 是要用于进行恢复的备份名称。
- SOURCE-BACKUP-LOCATION 是备份所在的地区。
- VPC-NETWORK 是您希望实例使用的 VPC 网络的名称。
- RESERVED-IP-ADDRESS 是 Filestore 实例的 IP 地址范围。
如需了解 gcloud
标志的详细信息,请参阅创建实例。
示例
以下命令会在默认网络上创建位于区域 us-central1-c
的新 Filestore 实例 myinstance-restored
。位于区域 asia-east2
的备份 mybackup
将在拥有 2TiB
容量的 myinstance-restored
的文件共享 vol1
上还原:
gcloud filestore instances create myinstance-restored \
--zone=us-central1-c \
--tier=zonal \
--network=name=default \
--file-share=name=vol1,capacity=2TiB,source-backup=mybackup,source-backup-region=asia-east2
后续步骤
- 了解如何使用 Cloud Scheduler 安排备份。
- 详细了解备份、常见使用场景和最佳做法。
- 了解备份价格。
- 了解如何设置磁盘空间不足和备份配额不足的提醒。
- 了解与备份相关的已知问题。