Docs 菜单
Docs 主页
/ /

Atlas 灾难恢复指导

企业制定灾难恢复计划至关重要。我们强烈建议您准备一份全面的灾难恢复 (DR) 计划,其中包括以下内容:

  • 您指定的恢复点目标 (RPO)

  • 您指定的恢复时间目标 (RTO)

  • 促进实现这些目标的自动化流程

使用此页面上的建议来准备和应对灾难。

如需进一步了解有助于灾难恢复的主动高可用性配置,请参见 Atlas 高可用性建议。

要了解支持灾难恢复的 Atlas 功能,请参阅 Atlas 架构中心的以下页面:

使用以下灾难恢复建议为您的组织创建 灾难恢复计划。这些建议提供了在发生灾难事件时应采取的步骤的信息。

您必须定期(最好每季度一次,但至少每半年一次)测试本节中的计划。测试通常有助于企业数据库管理 (EDM)团队做好应对灾难的准备,同时也有助于保持说明为最新。

某些灾难恢复测试可能要求执行 EDM 用户无法执行的操作。在这些情况下,请至少在计划运行测试练习之前一周打开支持案例,以便执行人为中断。

下图比较了不同的灾难恢复场景和部署配置。该表显示了每种配置的恢复时间目标(RTO) 和恢复点目标(RPO) 优势与部署复杂性和费用的相对比。请注意,副本集选举(自动故障转移)不会导致数据丢失,而从备份恢复可能会丢失一些数据,具体取决于备份频率。 “控制平面故障”是指Atlas管理基础架构的问题,而不是数据节点的问题。

显示不同灾难恢复配置的相对复杂性和 RTO/RPO 权衡的图像。
点击放大

图 1。灾难恢复配置复杂性和 RTO/RPO 权衡。

仅适用于单区域部署的建议

每个可部署 Atlas 集群的云提供商都提供默认的数据冗余,有助于缓解任何服务中断:

  • AWS 将对象存储在 AWS 区域中至少三个可用区域的多个设备上。

  • Microsoft Azure 使用本地冗余存储 (LRS),可在选定区域的单个数据中心内将您的数据复制 3 次。

  • Google Cloud 将您的数据分布在备份区域的多个区域内。

为了增强您的灾难恢复能力,您可以将 Atlas 配置为在其他区域自动创建快照和 oplog 的副本。这可以确保即使主节点区域发生服务中断,您也可以使用存储在其他区域的快照副本恢复集群。Atlas 根据区域可用性选择最有效的选项来优化恢复速度,如果恢复到存在这些副本的区域时,则使用已复制的快照。此外,如果由于区域性服务中断而无法访问原始快照,Atlas 会使用最近的可用快照副本进行恢复,从而最大限度地减少停机时间并提高恢复韧性。要了解更多信息,请参阅配置 Atlas 以自动将快照复制到其他区域

仅适用于跨多个区域或多个云提供商部署的建议

多区域和多云部署通过将集群节点分布在不同的地理位置或云提供商来提供增强的灾难恢复功能。这种分布有助于确保如果一个地区或云提供商遇到中断,您的应用程序可以使用未受影响位置的节点继续运行。

配置多区域或多云部署时,请确保备份策略考虑了部署的分布式性质,包括根据特定恢复要求设置适当的备份保留期。

以下建议适用于所有部署范式。

本节介绍以下灾难恢复过程:

如果您的副本集中的单个节点因部分区域性服务中断而发生故障,只要遵循最佳实践,您的部署仍应能够正常运行。如果您从从节点读取,当从节点发生故障时,您可能会遇到性能下降或潜在的服务中断,因为集群在此时由于负载增加而资源不足。

您可以使用Atlas用户界面的“测试主节点 (primary node in the replica set)节点故障转移”功能或“测试故障转移Atlas Administration API”端点在Atlas中测试主节点中断。

在发生区域性服务中断事件时,多区域集群将自动进行选举,并在必要时识别新的主节点。这种拓扑结构更改将自动通知应用程序,以便执行必要的更正操作。为了在区域性服务中断事件中保持应用程序的正常运行时间,您的应用程序本身也必须采用多区域拓扑结构进行部署。此要求扩展到包括您的应用程序可能集成的任何第三方服务。要了解更多信息,请参阅多区域部署范式

如果单地区中断或多区域中断导致集群状态下降,请执行以下步骤:

1
2

您可以在Atlas 用户界面集群的 Overview标签页中找到有关集群运行状况的信息。

3

根据剩余在线节点的数量,确定您需要多少个新节点来将副本集恢复到正常状态。

正常状态是大多数节点可用的状态。

4

根据中断的原因,在不久的将来,可能还有其他地区也会出现计划外中断。示例,如果中断是由美国东海岸的自然灾害造成的,则应避开美国东海岸地区,以防出现其他问题。

5

在不太可能受到中断原因影响的区域中添加正常状态所需的节点数。

要在服务中断期间通过添加区域或节点重新配置副本集,请参阅在区域服务中断期间重新配置副本集。

6

除了添加节点以将副本集恢复到正常状态外,您还可以添加其他节点以匹配灾难发生前副本集的拓扑结构。

您可以使用Atlas用户界面的模拟停电功能或启动停电模拟Atlas Administration API端点来测试Atlas中的地区停电。

With multi-cloud clusters, you can select electable nodes across cloud providers to maintain high availability. Should the provider in which your primary node is deployed become unavailable, Atlas automatically elects new primary nodes to ensure continuous operation. For example, you can create electable nodes on AWS, Google Cloud, and Microsoft Azure to ensure that if one cloud provider experiences an outage, an electable node on a separate provider can automatically take over as your cluster's primary node. To learn more, see Multi-Cloud Deployment Paradigm.

大多数多区域 Atlas 集群会在单个区域服务中断后自动恢复。要了解更多信息,请参阅高可用性部分和多区域部署页面。如果区域性服务中断导致大多数节点瘫痪,您必须确定还需要增加多少节点才能使大多数节点恢复正常。

在极不可能发生的整个云提供商不可用的情况下,请按照以下步骤使部署重新上线:

1

在本程序的稍后部分,您需要此信息来恢复您的部署。

2

有关云提供商列表和信息,请参阅云提供商。

3

要了解如何查看备份快照,请参阅查看 M10+ 备份快照。

4

新集群必须具有与原始集群相同的拓扑结构。

或者,您也可以向现有集群添加由替代云提供商托管的新节点,而不是创建全新的集群。

5

要学习;了解如何恢复快照,请参阅恢复集群。

6

要查找新的连接字符串,请参阅通过驱动程序连接。请查看应用程序堆栈,因为您可能需要将其重新部署到新的云提供商上。

在极不可能发生的 Atlas 控制平面和 Atlas 用户界面不可用的情况下,您的 Atlas 集群仍然可用且可访问。要了解更多信息,请参阅平台 Reliability。打开高优先级支持工单,进一步调查此问题。

规划不善或意外的数据库流量可能会导致计算资源(如磁盘空间、RAM 或 CPU)容量问题。这种行为可能不是由灾难引起的。

如果计算资源达到最大分配量并导致灾难,请遵循以下步骤:

1

要在Atlas用户界面中查看资源利用率,请参阅监控实时性能。

要使用Atlas Administration API查看指标,请参阅 监控和日志。

2
3

请注意, Atlas将以滚动方式执行此更改,因此它不会对您的应用程序产生任何重大影响。

要学习;了解如何分配更多资源,请参阅编辑集群。

4

重要

这是一个临时解决方案,旨在缩短整个系统的停机时间。解决根本的问题后,将新创建集群中的数据合并到原始集群,并将所有应用程序点原始集群。

如果计算资源发生故障并导致您的集群不可用,请遵循以下步骤:

1
2
3

要学习;了解如何恢复快照,请参阅恢复集群。

4

由于人为错误或在数据库上构建的应用程序中的漏洞,生产数据可能会被意外删除。如果集群本身被意外删除,Atlas可能会暂时保留该卷。

如果集合或数据库的内容已被删除,请按照以下步骤恢复您的数据:

1
2

您可以使用mongoexport创建副本。

3

如果删除发生在过去 72 小时内,并且您已配置连续备份,请使用给定时间点 (PIT) 恢复,从删除发生之前的时间点进行恢复。

如果删除操作并非发生在过去 72 小时内,则将删除操作发生之前的最新备份恢复到集群中。

要学习;了解更多信息,请参阅恢复集群。

4

您可以使用 mongoimport更新或插入模式来导入数据,并确保在集合或数据库中正确反映任何已修改或添加的数据。

如果驱动程序出现故障,请按照以下步骤操作:

1

在此步骤中,您可以与技术支持团队合作。

确定问题是与过时的驾驶员版本有关,还是与最近更新的驾驶员版本有关。

2
  • 如果您使用的是过时的驾驶员,请检查升级到新版本是否可以解决问题。大多数驾驶员问题已在新版本中修复。

  • 如果您最近升级了驾驶员并怀疑新版本引入了该问题,请考虑恢复到以前的工作版本。

3

This might include application code or query changes. For example, there might be breaking changes if you are moving between major versions, or new features available if upgrading.

4
5

确保上一步的任何其他更改都反映在生产环境中。

重要

这是一个临时解决方案,旨在缩短整个系统的停机时间。解决根本的问题后,将新创建集群中的数据合并到原始集群,并将所有应用程序点原始集群。

如果底层数据损坏,请遵循以下步骤:

1
2
3

要学习;了解如何恢复快照,请参阅恢复集群。

4
5

后退

备份

在此页面上