注意
本页适用于Atlas Infinite 和Atlas Core。
您可以通过配置以下选项来管理 Atlas 如何为您的项目推出维护:
受保护时间:业务关键时间,在此期间无法进行标准更新。
维护Windows: Atlas开始每周维护的时间,需要为项目中的集群进行副本集选举。
维护轮次:组织中的项目接受维护的顺序。维护波次按顺序标记,从Wave 1 到Last Wave 。
您可以使用“预计维护日历”工具,在给定维护窗口、受保护时间和维护波次的情况下,可视化Atlas如何对项目进行维护。
重要
维护窗口、受保护时长和维护波动按项目进行配置,并且仅应用于专用集群(M10 及更高版本)。对于免费集群和 Flex 集群, Atlas会自动管理其维护窗口,您无法手动配置。
我们建议您设立维护窗口、保护时间和维护波次,尽管所有这些都是可选的。 Atlas以滚动方式自动执行维护,以保持弹性应用程序的持续可用性。要确认您的应用程序对副本集选举具有弹性,请在Atlas中测试故障转移。
要了解详情,请参阅:
维护管理注意事项
受保护时间:除了配置维护窗口之外,您还可以设置每日受保护时间,这是 Atlas 避免执行标准更新的时间段。 受保护时间窗口的长度不得超过 18 个小时。
虽然Atlas可以执行标准更新,这些更新不会涉及集群重启或在配置的维护窗口之外影响工作负载负载性能,但Atlas始终会遵守受保护的时间。
紧急维护活动: Atlas可以在必要时立即执行紧急维护活动(例如针对零日漏洞的安全补丁),而无需考虑配置的维护窗口、保护时间或维护波次。
持续维护操作:一旦您为集群安排了维护窗口,在所有进行中的维护操作完成之前,您无法更改它。
MongoDB 数据库升级:如果维护包括MongoDB次要版本或补丁版本升级,Atlas会在控制台中显示当前版本和目标版本。如果Atlas在下一个维护窗口期间升级其中一个集群上的MongoDB维护版本,则该集群会显示目标MongoDB维护版本。
维护会尽可能接近窗口开始时启动:但正在进行的集群更新或意外的系统问题可能会延迟开始时间。
维护期间可能会出现短暂的性能下降:如果磁盘 IOPS 较低,则在 MongoDB 重新填充 WiredTiger 存储引擎时,集群可能会在维护期间出现短暂的性能下降。请参阅日志记录和 WiredTiger 存储引擎,以了解更多信息。
默认维护波次: Atlas使用以下规则自动将维护波次分配给没有显式波次分配的项目:
Atlas 将没有配置维护窗口的项目分配给 Wave 1。
Atlas 将配置了维护窗口的项目分配给 Wave2 。
维护波次评估: Atlas会在维护事件首次消失时评估配置的维护波次。如果您在维护事件开始和完成之间对所有波次的维护波次进行更改,Atlas在下一个维护事件开始时开始使用新的维护波次。
维护之间的时间:如果配置了维护分次,Atlas对一次分次部署维护与下一波次部署之间至少有48 小时的间隔。在Atlas进入下一波(从Wave 1 开始)之前,分配给给定波次的所有项目必须完成维护。
计划维护操作类型
Scheduled Maintenance Operations 模态可能显示以下一种或多种维护类型:
MongoDB 所需维护:集群运行状况和稳定所需的关键维护操作。
MongoDB 版本更新:升级到 MongoDB 次要版本、补丁版本或维护版本。
操作系统策略版本更新:更新根本的操作系统策略和安全补丁。
其他维护操作:集群管理所需的其他维护活动。
轨道维护完成
维护操作完成后,您将在项目操作日志中看到 Maintenance window completed事件。
自动延迟以适应未来的维护Windows
您可以启用Automatically defer maintenance for one week 选项,让Atlas自动将未来的计划维护每次推迟一周。这意味着维护实际上每两周而不是每周进行一次,因为每次都会自动推迟第一周。如有需要,您仍可再次手动推迟维护时间。
重要
如果为组织中的项目配置了维护波次,则无法为该组织中的项目配置自动推迟维护。
如果您启用Automatically defer maintenance for one week 选项, Atlas会为未来的维护窗口配置自动延迟。要推迟当前计划的维护,请使用Defer 1 Week 选项,如推迟维护部分所述。
自动延迟允许您将维护操作整合到单个维护窗口中,并减少维护事件的总数。如果要在较低环境中测试维护,以便在更新投入生产之前对其进行验证,请使用维护波次而不是使用自动延迟。
使用维护波次观察维护影响
您可以设立维护波次,以便在维护进入生产之前观察维护对较低环境的影响。维护包括任何计划的维护操作类型。对于任何升级节奏,都建议在生产之前进行测试。要学习;了解更多信息,请在升级前参阅版本和升级路径指导。
将维护波次与环境隔离结合使用
许多代码开发设置将其工作流程分隔到不同的环境中,最常见的是:
开发 (Dev):开发人员最初写入和测试新代码的地方。
质量保证 (QA):测试人员在模拟现实工作负载的环境中查看代码是否存在错误、性能和可靠性。
生产 (Prod):终端用户访问代码并与其进行交互的地方。
维护波次对于环境分离的工作流程非常有用,因为它们允许您在将维护推广到面向用户的环境之前监控集群维护如何影响内部环境。
要在这些或类似环境中对项目使用维护波次,我们建议为每个项目设置相同的维护窗口和受保护时间。然后,将每个环境分配给维护波次,如下所示:
开发为Wave 1
对 进行质量检查Wave 2
生成Last Wave
这ACID 一致性保证了部署到每个环境的维护事件之间至少有 7 天的间隔。您还可以将分配给 Last Wave 的项目的维护再推迟 7 天。
预计维护日历工具
要直观了解维护事件何时将推送到您的项目,可以使用 Projected Maintenance Calendar 工具。通过此工具,您可以输入潜在的维护窗口和批次以及维护版本发布日期。根据这些设置和发布日期,该工具会显示 Atlas 在各个批次中对项目执行维护的日期和时间。
此工具未链接到 Atlas 账户。它无法读取您在 Atlas 中配置的设置,也无法为您的项目或组织配置设置。