备份数据用于灾难恢复

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

支持的层级

下表显示了 Filestore 服务层级 (支持备份、加密以及相关restore) 操作:

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

准备工作

  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. 区域部分,选择您要将 备份。
  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 是存储备份的地区。

恢复文件共享

在启动恢复操作之前,我们建议您暂停应用并 来降低应用出错的风险。您 从备份恢复文件共享后,必须重新装载该文件共享。全部 未完成的文件锁定会在成功恢复后撤消。中 因此客户端 READWRITE 操作会暂停。

限制

  • 基本层级备份可恢复到来源、新实例或 现有实例

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

  • 创建新实例以完成备份 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 实例的备份恢复失败,则文件共享 状态保持不变。

如果操作开始后,备份恢复到可用区级、区域级或可用区级 企业实例发生故障时,文件系统会重置为空状态。用户 负责重试操作。

控制台

  1. 转到“Filestore 实例”页面
  2. 点击要从中恢复备份的实例的 ID。
  3. 点击备份标签页。
  4. 找到要恢复的备份,然后点击 (...) 更多操作
  5. 点击恢复备份
  6. 选择要恢复的目标实例: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果要恢复源实例,请点击源实例
    2. 如果要恢复到另一个现有实例,请点击其他现有实例
      1. 点击选择实例
      2. 选择要将恢复的备份保存到的目标实例 然后点击 Select
  7. 点击恢复,系统会显示一个确认对话框。
    1. 点击确认复选框。
    2. 在输入字段中输入备份的名称,然后点击恢复

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 实例所在的区域。

示例

以下命令会恢复位于区域中的 mybackup asia-east2(指向 Filestore 实例上的文件共享 vol1myinstance(位于可用区 us-central1-c 中):

  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 \
  --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。备份 mybackup 位于区域 asia-east2 的文件共享 vol1 中恢复 myinstance-restored(容量为 2TiB):

  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

后续步骤