备份数据用于灾难恢复

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

支持的层级

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

层级 备份
支持
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 加密的备份链时,请考虑以下限制:

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

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

恢复文件共享

在发起恢复操作之前,我们建议您暂停应用并从文件系统中卸载,以降低应用出错的风险。然后,通过备份恢复文件共享后,您必须重新装载文件共享。成功恢复后,系统会撤消所有未完成的文件锁。在恢复期间,客户端 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. 选择要恢复到的目标实例:
    1. 如果要恢复源实例,请点击源实例
    2. 如果要恢复到其他现有实例,请点击其他现有实例
      1. 点击选择实例
      2. 选择要将恢复的备份存储到的目标实例,然后点击选择
  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 实例所在的区域。

示例

以下命令将位于地区 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 实例时,新文件共享的容量必须大于或等于备份的容量。对于可用区级、区域级和企业级实例,新文件共享的容量必须大于或等于来源共享的容量。

您必须使用与源备份相同的服务层级

控制台

  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。位于区域 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

后续步骤