IBM Cloud Docs
IBM Cloudant 的灾难恢复和备份

IBM Cloudant 的灾难恢复和备份

您的数据十分重要,也非常宝贵。 您希望保护数据,以帮助确保其安全,可用且保持完整性。 IBM® Cloudant® for IBM Cloud® 提供了多种方法来保护您的数据,并帮助您的应用程序保持正常运行。

其中一些保护功能是自动执行的。 对于其他形式的保护, IBM Cloudant 为您提供了受支持的工具,这些工具可帮助您创建自己的高可用性和灾难恢复功能。

IBM Cloud® 服务具有业务连续性计划,用于在发生灾难时在数小时内恢复云服务。 您负责数据备份以及内容的关联恢复。

本文档概述了 IBM Cloudant 提供的自动功能和支持的工具。

保护的类型和级别

您可能需要的保护类型取决于您尝试解决的问题。

例如,您可能希望具有高级别的数据可用性,以便在系统中有限数量的硬件发生故障时,仍能访问数据。 此要求对于 "高可用性" (HA) 是必需的。 这意味着您在硬件故障后提供尽可能最佳的连续数据可用性。 不同的高可用性方法容许发生不同级别的故障而不影响运作。

您可能希望有快速且简单的方法来备份和复原数据。 例如,在发生严重或广泛的硬件故障之后,您希望能够尽快使所有数据在备用系统上可用。 此要求对于 "灾难恢复" (DR) 是必需的。 灾难通常意味着一个数据库在一个或多个位置不再可用。 例如,停电可能会导致数据库集群中的所有系统发生故障。 或者大规模网络故障可能意味着无法联系集群中的系统,即使这些系统继续正常工作也是如此。

要满足您的 HA 或 DR 需求,往往需要首先将问题简化为更通用的需求。 确定您的需求时,可以应用各种工具和功能来帮助解决通用需求。 这些工具和功能一起可以满足您的 HA 或 DR 需求。

不同的工具和功能将提供不同级别的保护。 不同的功能可能或多或少适合您的特定 HA 或 DR 需求。

IBM Cloudant 提供了用于满足通用需求的若干工具和功能:

  1. 单个区域中的数据冗余,也称为区域内自动数据冗余
  2. 跨区域数据冗余和故障转移,也称为针对灾难恢复的跨区域冗余
  3. 用于使用 "传统" 数据库备份和恢复的时间点复原的时间点备份。

区域内自动数据冗余

在单个 IBM Cloudant 帐户中,数据使用内部和自动过程存储为一式三份。 您不需要执行任何操作来启用此内部数据复制。

区域内数据冗余支持高可用性保护。 具体来说,区域内数据冗余提供针对区域中硬件故障的数据保护。 当区域内的硬件单元发生故障时,只有存储在该单元上的数据副本不再可用。 应用程序保持可用,因为 IBM Cloudant 会自动将请求路由到区域内其他硬件单元上仍然可用的数据副本。 同时,系统的自动监视功能会检测到硬件单元故障,提示执行操作以及后续的完全冗余复原。

IBM Cloudant 帐户位于单个区域中,这意味着您在帐户中存储的数据存储在不同的服务器中,每个服务器都托管在该单个区域中。

区域内自动数据冗余仅限于以下功能:

  1. 仅提供单个区域内的保护。
  2. 维护当前数据。

要在与您帐户关联的单个区域以及其他区域之间提供保护,请使用针对灾难恢复的跨区域冗余。 要为数据的 "历史记录" 提供保护,请使用由 数据库备份和恢复 工具创建的数据快照。 例如,可以启用对应用程序对数据所作的更改的审计。

区域内数据冗余支持高可用性功能,可对影响区域内单个系统的故障提供容错。

用于灾难恢复的跨区域冗余

IBM Cloudant 复制功能可帮助您在应用程序中构建灵活的灾难恢复能力。 支持灾难恢复的主要方法是使用 IBM Cloudant 复制来跨区域创建冗余。 结果是应用程序可以容忍一个或多个区域不可用的情况。

以下列表中包含创建跨区域冗余的基本步骤:

  1. 在两个或两个以上的区域中创建 IBM Cloudant 帐户。
  2. 根据需要在每个区域中创建数据库。
  3. 对于必须使用跨区域冗余存储的数据库,在每个帐户中的对应数据库之间设置双向持续复制。
  4. 设计并实现应用程序,以便根据环境是“主动/被动”还是“主动/主动”配置,对数据请求进行路由。 有关设置跨区域冗余的更多信息,请参阅 配置 IBM Cloudant 以进行跨区域灾难恢复

将应用程序设计为使用跨多个区域的数据时,请考虑以下几点:

  • 应用程序可以将请求发送到托管位置离自己物理位置最近的数据库。 使用这种邻近性可以缩短网络等待时间和响应时间。 此配置称为 "活动-活动" 方法。 actve-active 方法的特征是并发使用多个数据副本。 在“主动/主动”配置中运行的应用程序必须具有 冲突处理策略,以避免发生与多个数据副本相关的问题。
  • 缺省情况下,应用程序可以向单个区域请求数据。 如果该区域不可用,那么应用程序可以切换为从另一个区域请求数据。 此配置称为 "活动-被动" 方法。 主动/被动方法的特点是一次只主动使用一组数据。
  • 应用程序可使用混合配置,其中单个帐户用于所有数据写请求,而其他位置专用于只读请求。 对于读操作,此配置被视为“主动/主动”。
  • 在灾难场景中,应用程序必须重新路由数据请求,以访问在仍处于联机状态的区域中托管的帐户。 此要求意味着应用程序必须检测区域丢失,然后重新路由数据请求。

总之,跨区域冗余与高可用性功能类似,但适用于会影响整个区域的故障。 配置应用程序以正确使用交叉冗余配置可提供真正的灾难恢复功能。 因此,如果一个区域中的数据在一段时间内不可用,那么应用程序可以继续工作。 IBM Cloudant 复制可帮助确保区域之间的数据同步。 应用程序必须 "故障转移" 到存储在其他区域中的数据副本。

数据库备份和恢复

区域内自动数据冗余为应用程序提供了对数据的高可用性访问。 针对灾难恢复的跨区域冗余为应用程序提供了灾难恢复方法。 但是,这两种能力都只专注于保持对数据 当前副本的访问。

人员和应用程序可能会犯错误,并以意想不到的方式更改数据。 应用程序本身可以实现一些保护,但有时一些不该发生的更改也会被放行。 能够从先前时间点恢复数据很有用。 数据库备份支持此需求。

除了使用高可用性和灾难恢复功能保护数据外,还请考虑定期将数据库数据转储到单独的位置。 请确保检查并测试备份,以确定它们是否完整且正确。

IBM Cloudant 支持帮助您将数据库中的 JSON 内容转储到文件,然后从这些文件复原数据库的工具。

具体而言, IBM Cloudant 支持可帮助您执行以下任务的工具:

  • 将完整数据库备份到适合进一步处理和非现场存储的文件。
  • 从备份文件中包含的先前状态复原完整数据库。

IBM Cloudant 支持的工具具有以下限制:

  • 工具不会备份 _security 设置。
  • 附件未由工具备份。
  • 备份并不是精确的 "时间点" 快照。 原因是数据库中的文档是批量检索的,而其他应用程序可能在同时更新文档。 因此,在读取第一批和最后一批之间的这段时间内,数据库中的数据可能会更改。
  • 会备份保存有索引定义的设计文档,但复原数据时,必须重建索引。 此重建操作可能需要相当长的时间,具体取决于复原的数据量。

数据保护策略的后续步骤

您可以开发基于基本 IBM Cloudant 功能和受支持工具构建的应用程序,以支持更复杂的数据保护策略。 以下列表中显示了示例场景:

  • 从先前状态复原单个文档。
  • 存储多个先前文档状态以允许从较旧的备份复原。
  • 将较旧的数据迁移到更便宜的存储器,从而实现更经济的保留。

备份工具由开放式源代码 node.js 命令行应用程序和库组成。 它在 NPM上可用。

有关说明如何将工具集成到数据保护策略中的构想和示例,请参阅 IBM Cloudant 备份和恢复指南