您可以设置 Atlas 应开始对集群执行每周维护的时间。此设置是可选的,大多数集群都不需要此设置。从 项目设置中配置维护窗口。
通常,您不需要手动配置维护窗口。 Atlas以滚动方式自动执行维护,以保持弹性应用程序的持续可用性。您可以使用测试故障转移功能,确保应用程序对副本集选举具有弹性。
通过允许在一天中的首选时间进行需要副本集选举的维护,并在业务关键时间之外进行其他标准更新,配置维护窗口可以更好地控制维护时机。
重要
您可以在项目级别配置维护窗口,它们仅应用于专用集群(M10 及更高版本)。对于免费集群和 Flex 集群, Atlas会自动管理其维护窗口,您无法手动配置。
维护窗口注意事项
紧急维护活动:Atlas 可能会在必要时立即执行紧急维护活动(例如零日漏洞的安全补丁),而不考虑配置的维护窗口或受保护的时间。
持续维护操作:一旦您为集群安排了维护窗口,在所有进行中的维护操作完成之前,您无法更改它。
MongoDB 数据库升级:如果维护包括 MongoDB 修补程序版本升级,Atlas 会在控制台中显示当前版本和目标版本。如果 Atlas 在下一个维护窗口期间升级您某个集群上的 MongoDB 维护版本,则该集群的卡片会显示目标 MongoDB 维护版本。
维护需要副本集选举:Atlas 的维护方式与 MongoDB 手册中所述的维护过程相同。此过程要求每个副本集在维护窗口期间至少进行一次副本集选举。使用测试故障转移功能,确保应用程序对副本集选举具有弹性。
维护会尽可能接近窗口开始时启动:但正在进行的集群更新或意外的系统问题可能会延迟开始时间。
维护期间可能会出现短暂的性能下降:如果磁盘 IOPS 较低,则在 MongoDB 重新填充 WiredTiger 存储引擎时,集群可能会在维护期间出现短暂的性能下降。请参阅日志记录和 WiredTiger 存储引擎,以了解更多信息。
受保护时间:除了配置维护窗口之外,您还可以设置每日受保护时间,这是 Atlas 避免执行标准更新的时间段。Atlas 会在维护窗口期间自动执行维护。
然而,Atlas可能会在维护窗口之外执行不涉及集群重启或影响工作负载性能的标准更新。当您启用保护时间后,Atlas 会在保护时间窗口之外执行标准更新。受保护时间窗口的长度不得超过 18 个小时。
计划维护操作类型
Scheduled Maintenance Operations 模态可能显示以下一种或多种维护类型:
MongoDB 所需维护:集群运行状况和稳定所需的关键维护操作。
MongoDB 版本更新:升级到 MongoDB 补丁版本或维护版本。
操作系统策略版本更新:底层操作系统策略和安全补丁的更新。
其他维护操作:集群管理所需的其他维护活动。
轨道维护完成
维护操作完成后,您将在项目操作日志中看到 Maintenance window completed事件。
为未来的维护窗口启用自动推迟
当您启用 Automatically defer maintenance for one week 选项时,Atlas 每次会自动将未来的计划维护推迟一周。这意味着维护实际上每两周运行一次,而不是每周一次,因为第一周每次都会被自动推迟。如果需要,您仍然可以手动额外推迟一次维护。
重要
如果您启用 Automatically defer maintenance for one week 选项,Atlas 会为未来的维护窗口配置自动推迟。要推迟当前已计划的维护,请使用推迟维护部分中描述的 Defer 1 Week 选项。
自动延迟允许您:
降低维护频率:设置一次自动推迟,将维护操作间隔为每两周一次,而不是每周一次。
批量更新:将维护操作合并到单个维护窗口中,并减少维护事件的总数。
先在较低环境中测试:在生产环境中设置自动推迟,同时允许维护在开发或预发布环境中每周运行。这使您有时间在更新进入生产环境之前对其进行验证。
要启用自动推迟,请参阅查看并配置维护窗口部分。
必需的访问权限
要管理维护窗口,您必须拥有项目的 Organization Owner 或 Project Owner 访问权限。
步骤
打开项目设置
在Atlas中,转到 Project Settings 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Project Settings。
显示项目设置页面。
查看和配置维护窗口
要使用 Atlas 用户界面查看和配置维护窗口:
单击 Set Maintenance Window 按钮以显示维护窗口设置。
设置您希望 Atlas 开始维护项目的日期和时间。
如果您希望 Atlas 自动将任何计划的维护推迟一周,请单击 Automatically defer maintenance for one week。
启用此选项会为未来的维护窗口配置自动推迟。要推迟当前已计划的维护,请使用 Defer 1 Week 按钮。
要设置 Atlas 在保护时间范围内避免执行标准更新,请将 Turn on protected hours 设置切换为 On。您可以将每天的最大时间范围设置为 18 小时。
单击 Save 以保留更改,或单击 Cancel 以放弃更改。
要使用 Atlas CLI 返回维护窗口的详情,请运行以下命令:
atlas maintenanceWindows describe [options]
要使用 Atlas CLI 更新维护窗口,请运行以下命令:
atlas maintenanceWindows update [options]
清除维护窗口配置设置
如果您配置了首选维护窗口开始时间,则可以使用 Atlas CLI 或 Atlas 用户界面清除设置。清除维护窗口配置可恢复默认的维护窗口设置。
要使用 Atlas 用户界面清除配置的维护窗口,请将 Set Maintenance Window 设置切换到 Off。
要使用 Atlas CLI 清除已配置的维护窗口,请运行以下命令:
atlas maintenanceWindows clear [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas maintenanceWindows clear。
响应所需的维护
需要维护时:
在计划维护前 48 到 72 小时(2-3 天),Atlas 会在您项目的集群列表中显示一个横幅,显示计划维护的日期和时间。单击 Show Details 查看计划维护操作,例如 MongoDB 版本更新、操作系统策略更新或其他维护类型。
Atlas 会向具有
Project Owner角色的用户发送电子邮件,并更新 Atlas UI,以显示“立即开始维护”或“将维护推迟一周”的选项。注意
要配置如何接收计划维护窗口通知,请参阅配置维护窗口警报。
立即开始维护
要立即开始维护:
在维护横幅中,单击 Show Details。将出现一个标题为 Scheduled Maintenance Operations 的模态窗口,显示计划的日期和时间以及计划的维护操作类型。
在 Scheduled Maintenance Operations 模态中,单击 Begin Now 按钮。在 Start Cluster Maintenance Now 确认模态中,单击 Yes, start my maintenance now. 进行确认。
要使用 Atlas CLI 更新维护窗口,请运行以下命令:
atlas maintenanceWindows update [options]
要学习有关命令语法和参数的更多信息,请参阅Atlas CLI文档atlas maintenanceWindows 更新。
重要: 要立即触发维护,请传递 --startASAP 选项。
# Trigger immediate maintenance for the project with the ID # 5e2211c17a3e5a48f5497de3: atlas maintenanceWindows update --startASAP --projectId 5e2211c17a3e5a48f5497de3 --output json
Atlas为一个项目端点提供更新一个维护窗口。您可以通过传入值为 true 的可选 startASAP字段来立即 trigger 维护。
注意
此 curl 命令使用服务帐户访问权限令牌 (OAuth 2.0) 而不是API密钥进行身份验证。要学习;了解更多信息,请参阅Atlas 管理 API入门。
curl --header "Authorization: Bearer {ACCESS-TOKEN}" \ --include \ --header "Accept: application/vnd.atlas.2025-03-12+json" \ --header "Content-Type: application/json" \ -X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/maintenanceWindow" \ --data ' { "startASAP": true }'
推迟维护
使用以下过程将当前计划的维护推迟一周。要自动推迟所有未来的维护,请启用自动推迟。
注意
您最多可以将单个项目的维护事件推迟两次。
要推迟计划维护:
在维护横幅中,单击 Show Details。将出现一个标题为 Scheduled Maintenance Operations 的模态窗口,显示计划的日期和时间以及计划的维护操作类型。
在 Scheduled Maintenance Operations 模态中,单击 Defer 1 Week 按钮。在 Defer Maintenance to Next Week 确认模态中,单击 Yes, defer maintenance until next week. 进行确认。
注意
您最多可以将单个项目的维护事件推迟两次。
要使用 Atlas CLI 推迟维护窗口,请运行以下命令:
atlas maintenanceWindows defer [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档以了解Atlas MaintenanceWindows 延迟。
Atlas 提供 为一个项目终结点延迟一个维护窗口。
注意
您最多可以将单个项目的维护事件推迟两次。