备份概览

本页面介绍什么是备份、备份的工作原理、一些常见使用场景以及创建和使用备份的最佳做法。如需了解如何创建和管理备份,以及如何通过备份恢复 Filestore 实例,请参阅备份数据用于灾难恢复

什么是备份?

Filestore 备份是指文件共享的副本,其中包含在创建备份时的文件共享的所有文件数据和元数据。

创建文件共享的备份后,您可以修改或删除原始文件共享 文件共享,而不影响备份。

您可以使用备份将文件共享恢复到新的 Filestore 实例,对于基本层级实例,还可以恢复到源文件共享或现有文件共享。

备份是创建时保留在您所指定区域内的区域级资源。您可以在 Filestore 所在的区域中创建备份 实例或其他区域,以帮助降低数据丢失的风险。

备份具有全局可寻址,可用于将文件共享恢复到任何 region [地区],但无法共享 共享资源。

跨地区传输网络流量需要支付网络传输费用。如需了解详情,请参阅 请参阅定价 页面。

创建备份

您创建的第一个备份是以下所有文件数据和元数据的完整副本: 文件共享。后续每次备份都会复制对 数据。

与同一实例、区域和 CMEK(如果使用)关联的一组备份称为备份链

备份链位于单个 Cloud Storage 存储桶和区域中,并且可以位于用于存储源实例的区域之外。

所有服务层级都支持多个备份链,让您能够将实例的备份存储在多个区域中。

每次创建备份时,系统都会针对之前的备份同时扫描之前的备份 差异化和增量更改:

  • 差异更改:包括对共享文件中的文件所做的更改,例如 对文件进行编辑、添加或删除操作。

  • 增量更改:包括对备份所在的存储桶中的存储空间所做的更改 数据所在位置。这可能包括之前删除数据 。

每次将备份保存到同一备份链时,之前的备份都会 对差分和增量更改进行扫描。在这种情况下, 不需要。

但是,将一个实例的数据存储在多个备份链中,意味着 会交替保存和存储备份。

每次在交替位置创建新备份时, 系统会再次生成备份备份 create 的延迟时间预计较长 备用操作。

先前备份中包含的未更改数据会在较新的备份中引用,但不会复制到其中。如果删除较早的备份,则其唯一数据将复制到下一个最近的备份,并且所有内部数据引用都将自动更新。

在内部,备份链的历史记录是使用快照进行跟踪的,快照会消耗 来源实例上的容量

创建备份是瞬时操作,但您需要等待一段时间(与复制的时间量成正比)才能使用备份。在此期间,备份会经历三种状态:

状态 时长 说明
正在创建 几秒钟 正在捕获文件共享的当前状态。对文件共享数据的任何新更改不一定都会包括在备份中。在启动备份之前,备份中会包含由实例确认的稳定写入。
正在完成 取决于大小 将数据上传到备份。对文件共享数据的任何新更改都不会包括在备份中。
准备就绪 直到删除备份为止 备份可以随时使用。

创建后,基本层级备份会自动压缩以降低费用。为以下项目中的实例创建备份时,实例性能可能会降低 可用区级、区域级和企业服务层级创建备份不会影响 基本层级实例的可用性或性能。

处理冗余数据

默认情况下,备份采用增量方式,以避免因冗余数据而产生费用, 尽量减少对存储空间的使用为了确保底层基础架构的可靠性 更改历史记录,备份可能偶尔会捕获实例的完整副本。

如需了解详情,请参阅比较快照和备份

备份删除

备份是项目级资源,而不是源实例的子资源,并且需要有自己的单独存储空间。因此,备份的生命周期与源实例的生命周期无关。删除来源不会删除其关联的备份。如果您想删除备份,则必须对备份(而非实例)明确执行删除操作。

请务必删除所有不需要的备份。如果源实例被删除, 剩余备份会继续产生费用。

备份一经删除便无法恢复。

备份一致性

Filestore 备份具有 NFSv3 和 NFSv4.1 一致性语义。启动备份之前,Filestore 实例确认已写入到稳定的存储空间中或后跟已确认的 COMMIT 的所有写入将会包括在备份中。如需了解详情,请参阅 NFSv3 RFC-1813 第 3.3.7 节支持的文件系统协议简介

常见使用场景

以下部分介绍了备份的常见用例。

备份数据用于灾难恢复

假设您的 Filestore 实例位于 us-west1-c,并且您希望保护自己的数据免受影响此区域的灾难的影响。您可以安排作业以定期在远程地区(例如 us- east1)创建此实例的备份。如果 us-west1-c 发生灾难,您可以使用之前的任何备份在其他位置创建新实例。

备份数据以防发生意外更改

如果您希望保护 Filestore 数据免遭意外更改,则可以安排定期创建实例备份的作业。如果数据丢失,您可以浏览备份列表以找出拥有所需文件版本的备份。然后,您可以根据备份创建一个新的 Filestore 实例,将其装载到原始实例所在的客户端,并将文件复制过来。

在复制文件之前,您可以在两个装载点使用 Linux diff 命令来检查原始实例上的数据与根据备份恢复的数据之间的差异。获取数据后, 已恢复,您可以删除已恢复的实例,并创建新的备份 保留数据的当前状态以备将来使用。

此外,您也可以执行就地恢复,即备份数据直接恢复到原始 Filestore 实例,从而将实例中的所有数据替换为备份中的数据。我们建议您为 因为所有没有支持的数据, 会丢失

创建克隆以用于开发和测试

假设您在提供生产流量的 Filestore 实例上设置了数据库。如果您想使用数据库作为输入运行测试,则可以通过生产实例的备份创建新的 Filestore 实例用于测试。这样,测试使用就不会干扰生产。

同样,您可以使用备份进行离线分析和调查,而不会影响生产。

迁移数据

创建 Filestore 实例后,您无法更改其实例。 位置或服务层级。如需将数据迁移到另一个区域,则可以创建数据备份,然后使用该备份创建新的 Filestore 实例,或者将备份恢复到现有实例。

此外,通过备份创建新的 Filestore 实例时,您可以在基本 HDD 和基本 SSD 层级之间进行选择,而无论源实例的层级如何。

功能限制

Filestore 备份已正式发布(GA) 适用于所有服务层级

存在以下限制:

  • Filestore 备份不能与 Filestore 结合使用 多人共享功能。

  • 用户应创建一个或多个新备份,以替换在预览版中创建的备份。在预览版中创建的备份可能会被删除。已创建备份 预览版反映的是创建时可用的功能行为。 新功能发布时,现有备份不会更新。

以下各部分介绍了与性能相关的其他功能限制, 存储、容量、加密和其他主题的详细信息:

性能

  • 通过多个硬链接对同一文件进行大量更改(例如, 成千上万个)都可能会影响性能。

  • 对于利用率较高的实例,性能可能会降低多达 15% 并在上传备份时删除。基本层级实例性能不受备份 create 操作的影响。

  • 将实例的数据存储在多个备份链中确实会影响备份 性能在以下情况下,备份 create 操作的延迟时间预计会更长: 备用链之间切换。

  • 实例 restore 或实例 delete 等实例操作 延迟,直到备份 create 操作完成。

  • 在某些情况下,delete 操作最长可能需要 24 小时才能完成。

操作并发

  • 与同一源实例关联的备份 delete 操作必须 一次执行一个。

    不支持在一个备份链内执行批量备份 delete 操作。虽然 delete操作处于待处理状态,而同一个应用中的所有新delete操作 备用链返回 RESOURCE_EXHAUSTED 错误。无论源实例是否已删除,都适用。

    • 如果源实例已被删除,用户会收到类似的 FAILED_PRECONDITION 错误。

    • 此限制适用于除基本 SSD 和基本 HDD 之外的所有服务层级。

    • 请注意,Filestore 确实支持并发备份 delete 备份操作会引用单独的源实例。

      例如,标记为 Source1 的实例在 Backup1Backup2 中引用了备份数据。“Source2”在“Backup3”中引用了备份数据 和 Backup4Backup1Backup2 不能并行删除,但 Backup2Backup3 可以。

    如需了解详情,请参阅备份的速率限制

  • 备份 create 和备份 delete 操作在同一时间启动 备用链可以并发运行。不过,在系统删除最新备份时,用户无法完成备份 create 操作。

    • 如果用户在删除最新备份时尝试创建实例的新备份,则会收到 FAILED_PRECONDITION 错误。例如,如果 Source1 的备用链由 Backup1 组成, 和 Backup2,并且用户开始针对 Backup3create 操作,他们 在 create 操作完成之前,无法删除 Backup2。 这是因为最新的备份包含成功完成备份 create 操作所需的最重要数据。
  • 如需详细了解操作速率限制,请参阅备份的操作速率限制

存储

  • 可用区级实例、区域性实例和企业实例不支持对来源实例或现有实例执行备份 restore 操作。如果您想在任何这些服务层级中恢复实例的备份,则必须创建一个新实例。

    • 新实例必须与源实例的服务层级和容量匹配 范围。例如,如果来源是使用可用区级服务层级创建的 新的实例必须使用相同的服务层级 和容量范围

    • 如果您需要使用旧版大规模 SSD 服务创建实例 您必须直接通过 Filestore 运行您的操作 API。

    • 如果您需要使用旧版企业服务层级创建实例, 您可以直接通过 Filestore API 运行自己的操作 或者通过恢复备份 >新建实例页面 Google Cloud

      例如,如果您想创建一个实例容量为 10 TiB 的区域性资源,则必须使用旧版企业服务层级。

  • 备份操作(例如 restoreeditdelete)可能不适用于预览版中创建的部分备份。

  • RestoreInstance 操作应用于区域级实例或企业实例后,您将无法创建与操作前之前的快照具有相同名称的快照。

  • 在删除备份时尝试通过备份恢复实例 快照删除操作将会失败。

  • 如果备份删除失败,则状态会被标记为 invalid。在这种情况下,您需要重试 delete 操作。

容量

每个备份都会占用实例容量。此容量因 自上次创建备份以来对数据所做更改的范围。

更具体地说,创建备份时,Filestore 会创建文件系统的内部快照,该快照也会占用一部分可用实例容量。

此外,快照大小还与自上次创建备份以来对共享内数据所做的更改范围有关。此快照会一直保留,直到下一个后续备份被创建并上传为止。

备份引用的所有数据都会保持在捕获时的状态 并继续占用文件系统的容量。例如,如果您要从已装载的文件系统中删除数据,该操作本身不会释放容量。相反,您需要在删除或覆盖大量数据后创建新备份。

如需详细了解差分更改和增量更改以及如何处理这些更改,请参阅备份创建

为了预先为工作负载预留足够的容量,请考虑采用以下方法之一:

  • 提高实例容量,以适应数据变化频繁或变化率较高的工作负载。

加密

使用 CMEK 加密备份链时,需遵循以下限制:

  • 整个备份链都使用相同的 CMEK 进行加密。

  • CMEK 必须与其加密的资源位于同一区域。

  • 如果将备份链存储在与源实例不同的区域中, 可能需要为源密钥和备份密钥应用不同的密钥 链。

    • 所有服务层级都支持多个备份链,或者能够存储 多个区域中的实例备份。如果选择将 CMEK 用于 加密,CMEK 密钥必须与其资源位于同一区域 加密。如果您将备份存储在与源代码不同的区域,并且 CMEK 不是多区域密钥,则必须使用单独的 CMEK 密钥。如需了解详情,请参阅 CMEK 限制选择最佳 CMEK 位置
  • 一个 CMEK 会应用于存储备份链的 Cloud Storage 存储桶,并且无法组合或替换。

  • 基本层级的备份不支持 CMEK。

如需了解详情,请参阅 CMEK 对备份链的支持

协议

  • 恢复备份时,新实例必须使用与源实例相同的协议

最佳做法

以下各部分介绍了推荐采用的最佳实践。

准备文件共享以实现最佳备份一致性

备份的质量取决于您的应用通过在大量写入工作负载期间创建的备份恢复数据的能力。在大多数情况下,即使您的应用向文件共享写入数据,您也可以创建具有良好一致性的备份。但是,如果您的应用要求严格的一致性,建议您执行以下一项或多项操作:

  • 使用 sync 装载。如需了解详情,请参阅 nfs(5) 中的“同步装载选项”部分。或者,您也可以使用 O_DIRECT|O_SYNC 标志打开文件。如需了解详情,请参阅 open(2)
  • 暂停将数据写入文件共享的应用或操作系统进程,使其在启动备份之前清空对文件共享的更改。如需了解详情,请参阅 fsync(2)
  • 如果您的应用需要在多个共享之间保持一致性,请在写入所有文件共享的所有实例上暂停所有应用,并在恢复应用之前为所有文件共享创建备份。
  • 如果需要保持应用级层一致性,请在创建备份之前先停止应用并卸载文件共享。

将现有备份用作新备份的基准,以缩短创建备份的时间

一个区域内某个文件共享的现有备份可用作 创建新的文件共享备份,从而缩短备份创建时间。因此, 我们建议您执行以下操作:

  • 在删除某个文件共享之前的备份之前,请先重新备份该文件共享 文件共享。

  • 等待新备份处于 Ready 状态,然后再创建后续备份 同一文件共享的备份。

将备份任务安排在非高峰时段运行,以缩短创建备份的时间

在非高峰时段创建备份可以缩短创建备份的时间。如果您要安排定期备份文件共享,建议在非高峰时段安排备份。

在 Filestore 实例所在地区中创建备份的高峰时段是每个工作日的结束时和午夜。建议您在清晨或工作日创建备份。

在不同的 Filestore 实例上整理数据,以最大限度地提高效率

文件共享中的数据越多,备份越大,费用也就越高。接收者 仅备份需要备份的数据,因此我们建议您妥善整理数据 即:

  • 采用不同的写入模式或不同的备份存储关键数据 对不同文件共享的要求
  • 通过保留类似数据来减少需要创建的备份数量 一个文件共享。

配额

对于基本 SSD 的每个区域中的备份数量,存在配额限制 和基本 HDD 服务层级。

备份配额限制不适用于可用区级、区域级和企业服务层级。

如需了解详情,请参阅服务层级和配额

Filestore 备份使用入门

如需开始使用此功能,请参阅备份数据以用于灾难恢复

后续步骤