备份数据用于灾难恢复

本页面介绍如何使用 Filestore 备份来备份数据以用于灾难恢复。如需详细了解备份、常见使用场景和最佳做法,请参阅备份

支持的层级

下表显示了支持备份、加密和相关 restore 操作的 Filestore 服务层级

层级 备份
支持
restore
个新实例
restore
个现有实例
restore
个源实例
CMEK
支持
基本 HDD
基本 SSD
可用区级
Enterprise

准备工作

  1. 安装 gcloud

  2. 更新 gcloud components

    gcloud components update
    
  3. 请确保您正在使用的账号具有 Cloud Filestore Editor 角色或者 Project Owner 或 Project Editor 基本角色。如需详细了解 Filestore 的角色和权限,请参阅访问权限控制IAM 权限关于支持的协议

备份文件共享

Filestore 备份不包含文件锁定和某些实例特定信息。下表显示了备份会保留的信息和不保留的信息:

保留 不保留
实例 ID 说明
源实例的层级 位置
容量 网络
文件共享名称 IP 地址
创建时间
基于 IP 的访问权限控制
文件锁
锁定状态

备份链和加密

备份链是引用同一源实例的一系列备份。即使存储在与来源不同的区域中,备份链也共同位于自己的存储桶和区域中,并且在适用的情况下,链中的每个备份都使用相同的 CMEK 进行加密。所有服务层级都支持多个备份链。

创建使用 CMEK 加密的备份链时,请考虑以下限制:

  • CMEK 支持不适用于基本 HDD 和基本 SSD 备份。

  • 单个 CMEK 会应用于存储备份链的存储桶,且无法组合或替换。

如需了解详情,请参阅客户管理的加密密钥备份

创建备份

您可以通过以下方法之一创建文件共享的备份:

控制台

  1. 转到“Filestore 实例”页面
  2. 点击您要为其创建备份的 Filestore 实例。
  3. 点击备份标签页。
  4. 点击创建备份
  5. 备份 ID 中,输入备份的名称。
  6. 对于区域,选择您希望备份所在的 Google Cloud 区域。
  7. 可选:添加说明。
  8. 可选:点击添加标签,为备份添加标签。
  9. 点击创建

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 备份。

控制台

  1. 如需查看当前项目中的所有备份的列表,请按照以下操作执行:

    转到 Filestore 备份页面

  2. 如需查看备份的详细信息,请点击备份 ID。

  3. 要删除备份,请使用:

    1. 点击要删除的备份的备份 ID。
    2. 点击删除
    3. 出现提示时,请输入备份 ID。
    4. 点击删除

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 是存储备份的地区。

恢复文件共享

基本层级实例中的文件共享可以从备份恢复到新的 Filestore 实例、源实例或现有实例的文件共享。

在恢复期间,客户端写入会暂停。在启动恢复操作之前,我们建议您暂停应用并从文件系统中卸载,以降低出现应用错误的风险。

从备份恢复文件共享后,您必须重新装载该文件共享。

成功恢复后,所有未处理的文件锁定都将被撤消。

限制

如果您要恢复企业或可用区级实例的备份,则必须创建一个新实例。

准备工作

将备份恢复到现有实例时,如果备份和实例使用单独的客户管理的加密密钥 (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 实例失败,文件共享状态将保持不变。

如果操作开始后,对企业或可用区级(以前为大规模 SSD)实例的备份恢复失败,文件系统将重置为空状态。用户负责重试操作。

控制台

  1. 转到“Filestore 实例”页面
  2. 点击要从中恢复备份的实例的实例 ID。
  3. 点击备份标签页。
  4. 找到要恢复的备份,然后点击 (...) 更多操作
  5. 点击恢复备份
  6. 选择要恢复的目标实例:
    1. 如果要恢复源实例,请点击源实例
    2. 如果要恢复到其他现有实例,请点击其他现有实例
      1. 点击选择实例
      2. 选择您要保留恢复的备份的目标实例,然后点击选择
  7. 点击恢复,随即会出现一个确认对话框。
    1. 点击确认复选框。
    2. 在输入字段中输入备份的名称,然后点击 Restore

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 恢复为 Filestore 实例 myinstance(位于区域 us-central1-c 中的)上的文件共享 vol1

gcloud filestore instances restore myinstance \
    --source-backup=mybackup \
    --source-backup-region=asia-east2  \
    --file-share=vol1 \
    --zone=us-central1-c

恢复到新实例

当备份恢复到新的 Filestore 实例时,新文件共享的容量必须大于或等于备份的容量。对于可用区级和企业层级实例,新文件共享的容量必须大于或等于来源共享的容量。

您还可以选择与原始实例不同的实例层级。

控制台

  1. 在 Google Cloud 控制台中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

  2. 点击备份

  3. 点击要用于进行恢复的备份名称。

  4. 点击恢复

  5. 点击新建实例

  6. 按照页面上的说明配置新实例。如需了解详情,请参阅创建实例

  7. 点击恢复

gcloud

如需将 Filestore 文件共享恢复到新实例,请运行 instances create 命令:

gcloud filestore instances create INSTANCE-NAME \
    --zone=ZONE \
    --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 实例所在的区域。
  • 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 的文件共享 vol1 上恢复:myinstance-restored

gcloud filestore instances create myinstance-restored \
    --zone=us-central1-c \
    --network=name=default \
    --file-share=name=vol1,capacity=2TiB,source-backup=mybackup,source-backup-region=asia-east2

后续步骤