您可以通过配置以下选项来管理 Atlas 如何为您的项目推出维护:
受保护时间:业务关键时间,在此期间无法进行标准更新。
Maintenance Windows: Atlas应该开始每周维护的时间,需要为项目中的集群进行副本集选举。
维护序列:组织中的项目接收维护的顺序。您在按顺序标记的波次中配置维护序列,从 Wave 1 到 Last Wave。
您可以使用 预计维护日历工具来可视化 Atlas 如何根据您的维护窗口、受保护时间和维护序列配置向项目推出维护。
重要
维护窗口、受保护时间和维护序列是按项目配置的,仅适用于专用集群(M10 及以上)。对于免费集群和 Flex 集群,Atlas 会自动托管其维护窗口,您无法手动配置。
我们建议您设置维护窗口、受保护时间和维护序列,但这些都是可选的。Atlas 以滚动方式自动执行维护,以确保弹性应用程序的持续可用性。要确认您的应用程序对副本集选举具有弹性,请在 Atlas 中测试故障转移。
维护管理注意事项
受保护时间:除了配置维护窗口之外,您还可以设置每日受保护时间,这是 Atlas 避免执行标准更新的时间段。Atlas 会在维护窗口期间自动执行维护。
然而,Atlas可能会在维护窗口之外执行不涉及集群重启或影响工作负载性能的标准更新。当您启用保护时间后,Atlas 会在保护时间窗口之外执行标准更新。受保护时间窗口的长度不得超过 18 个小时。
紧急维护活动:Atlas 可能会在必要时立即执行紧急维护活动(例如零日漏洞的安全补丁),而不考虑配置的维护窗口或受保护的时间。
持续维护操作:一旦您为集群安排了维护窗口,在所有进行中的维护操作完成之前,您无法更改它。
MongoDB 数据库升级:如果维护包括MongoDB次要版本或补丁版本升级,Atlas会在控制台中显示当前版本和目标版本。如果Atlas在下一个维护窗口期间升级其中一个集群上的MongoDB维护版本,则该集群的卡片会显示目标MongoDB维护版本。
维护需要副本集选举:Atlas 的维护方式与 MongoDB 手册中所述的维护过程相同。此过程要求每个副本集在维护窗口期间至少进行一次副本集选举。要确认您的应用程序对副本集选举具有弹性,请在 Atlas 中测试故障转移。
维护会尽可能接近窗口开始时启动:但正在进行的集群更新或意外的系统问题可能会延迟开始时间。
维护期间可能会出现短暂的性能下降:如果磁盘 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事件。
为未来的维护窗口启用自动推迟
当您启用 Automatically defer maintenance for one week 选项时,Atlas 每次会自动将未来的计划维护推迟一周。这意味着维护实际上每两周运行一次,而不是每周一次,因为第一周每次都会被自动推迟。如果需要,您仍然可以手动额外推迟一次维护。
重要
如果您已为组织中的项目配置了维护序列,则无法为该组织中的项目配置自动推迟维护。
如果您启用 Automatically defer maintenance for one week 选项,Atlas 会为未来的维护窗口配置自动推迟。要推迟当前已计划的维护,请使用推迟维护部分中描述的 Defer 1 Week 选项。
自动延迟允许您:
降低维护频率:设置自动延迟一次,将维护操作间隔为每两周而不是每周进行一次。
批处理更新:将维护操作合并到单个维护窗口中,并减少维护事件的总数。
先在较低环境中测试:在生产环境中设置自动推迟,同时允许维护在开发或预发布环境中每周运行。这使您有时间在更新进入生产环境之前对其进行验证。
要启用自动推迟,请参阅查看并配置维护窗口部分。
必需的访问权限
要管理维护窗口,您必须拥有项目的 Organization Owner 或 Project Owner 访问权限。
配置项目的维护窗口和序列
查看和配置维护窗口和序列
您可以从组织的设置或该项目的设置配置项目的维护窗口、受保护时间和维护序列。
在Atlas中,转到 Organization Settings 页面。
如果尚未显示,组织从导航栏中的Organizations菜单。
在侧边栏中,单击 Organization Settings。
显示“组织设置”页面。
Maintenance Window and Sequence 部分显示您为组织中的项目配置的维护窗口和序列。要使用 Atlas 用户界面从组织设置配置维护序列波:
单击 Edit sequence for all projects(连接)。
要向项目手动分配维护波,请选择 Manual Assignment。
使用每个项目旁的下拉菜单分配维护波。
如果您为项目设置了环境项目标签,则可以使用 Generate sequences based on existing project tags 选项。
Atlas 根据环境项目标签生成以下分配。您只能将这些项目标签用于维护波分配。
开发/测试:波 1
预发布环境:第 2 波
production:最后一波
如果更新项目的环境标签,Atlas 不会自动更新这些分配。
如果选择 Manual Assignment,则可以在配置项目的维护窗口时配置项目的维护序列。
若要将项目的维护波与其环境项目标签相链接,请选择 Use Project Tags to auto-define sequence。
Atlas 根据环境项目标签生成以下分配。您只能将这些项目标签用于维护波分配。
开发/测试:波 1
预发布环境:第 2 波
production:最后一波
Atlas 会在您更新项目的环境标签时自动更新这些分配。
单击 Save 以保留更改,或单击 Cancel 以放弃更改。
要使用 Atlas 用户界面配置项目的维护窗口:
选择要配置维护窗口的一个或多个项目。
要编辑单个项目的维护窗口,请单击项目旁的 以打开 Edit Maintenance Window 页面。
要编辑多个项目的维护窗口,请单击要选择的项目旁边的复选框。然后,单击 Edit Maintenance Window。
设置您希望 Atlas 开始对您选择的项目进行维护的日期和时间。
要设置 Atlas 在保护时间范围内避免执行标准更新,请将 Enable protected hours 设置切换为 On。您可以将每天的最大时间范围设置为 18 小时。
如果您希望 Atlas 自动将任何计划的维护推迟一周,请单击 Automatically defer maintenance for one week。
启用此选项会为未来的维护窗口配置自动推迟。要推迟当前已计划的维护,请使用 Defer 1 Week 按钮。
重要
使用维护序列时推迟维护
自动推迟维护不适用于已配置维护序列的项目。
如果已配置维护序列波的项目分配给 Last Wave,则可以延迟维护。Atlas 将这些项目的延迟次数限制为最多一次。
要设置维护序列,请使用 Sequence (per project) 下的下拉菜单将一个或多个项目分配给维护波。
注意
使用项目标签设置维护序列
如果在组织级别维护序列设置中选择了 Use Project Tags to auto-define sequence,则无法从项目的设置手动配置维护序列。
单击 Save 以保留更改,或单击 Cancel 以放弃更改。
在Atlas中,转到 Project Settings 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 图标 Project Overview 旁边的图标。
显示项目设置页面。
Maintenance Window and Sequence 部分显示为项目配置的维护窗口和序列。要使用 Atlas 用户界面从项目设置配置维护序列波:
单击 Edit 按钮以配置维护窗口或序列。
设置您希望 Atlas 开始维护项目的日期和时间。
要设置 Atlas 在保护时间范围内避免执行标准更新,请将 Enable protected hours 设置切换为 On。您可以将每天的最大时间范围设置为 18 小时。
如果您希望 Atlas 自动将任何计划的维护推迟一周,请单击 Automatically defer maintenance for one week。
启用此选项会为未来的维护窗口配置自动推迟。要推迟当前已计划的维护,请使用 Defer 1 Week 按钮。
重要
使用维护序列时推迟维护
自动推迟维护不适用于已配置维护序列的项目。
如果已配置维护序列波的项目分配给 Last Wave,则可以延迟维护。Atlas 将这些项目的延迟次数限制为最多一次。
要设置维护序列,请使用 Sequence (per project) 下的下拉菜单将一个或多个项目分配给维护波。
注意
使用项目标签设置维护序列
如果在组织级别维护序列设置中选择了 Use Project Tags to auto-define sequence,则无法从项目的设置手动配置维护序列。
单击 Save 以保留更改,或单击 Cancel 以放弃更改。
要使用 Atlas CLI 返回维护窗口的详情,请运行以下命令:
atlas maintenanceWindows describe [options]
要使用 Atlas CLI 更新维护窗口,请运行以下命令:
atlas maintenanceWindows update [options]
Atlas 提供 更新一个项目终结点的一个维护窗口 和 获取一个项目终结点的一个维护窗口。
注意
此 curl 命令使用服务帐户访问权限令牌 (OAuth 2.0) 而不是API密钥进行身份验证。要学习;了解更多信息,请参阅Atlas 管理 API入门。
删除维护窗口配置设置
如果您配置了维护窗口、受保护时间或维护序列,则可以使用 Atlas 用户界面、Atlas CLI 或 Atlas Administration API 删除这些设置。删除维护窗口配置可恢复默认维护窗口设置。
组织设置
您可以在 Maintenance Window and Sequence 部分中单击 Delete sequence for all projects 来删除所有配置的维护序列波。
要删除特定的维护窗口或序列波分配:
如果您配置了维护序列波,请单击与要删除维护窗口的项目波对应的标签页。
在 Actions 下,单击要删除的维护窗口旁的 图标。这将删除维护窗口和分配的序列波。
在不删除维护窗口的情况下删除已分配的维护序列波:
选择一个或多个要删除其维护序列波的项目。
要删除单个项目的维护序列波,请单击项目旁的 以打开 Edit Maintenance Window 页面。
要删除多个项目的维护窗口,请单击要选择的项目旁边的复选框。然后,单击 Edit Maintenance Window。
使用 Sequence (per project) 下的下拉菜单选择 None。
项目设置
要使用 Atlas 用户界面删除配置的维护窗口和序列,请单击 Maintenance Window and Sequence 部分中的 图标。
在不删除维护窗口的情况下删除已分配的维护序列波:
单击 Maintenance Window and Sequence 部分中的 Edit。
使用 Sequence (per project) 下的下拉菜单选择 None。
单击 Save 以保留更改,或单击 Cancel 以放弃更改。
要使用 Atlas CLI 清除已配置的维护窗口,请运行以下命令:
atlas maintenanceWindows clear [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas maintenanceWindows clear。
Atlas 提供 为一个项目终结点更新一个维护窗口。
注意
此 curl 命令使用服务帐户访问权限令牌 (OAuth 2.0) 而不是API密钥进行身份验证。要学习;了解更多信息,请参阅Atlas 管理 API入门。
响应所需的维护
需要维护时:
在计划维护前 48 到 72 小时(2-3 天),Atlas 会在您项目的集群列表中显示一个横幅,显示计划维护的日期和时间。单击 Show Details 查看计划维护操作,例如 MongoDB 版本更新、操作系统策略更新或其他维护类型。
Atlas 会向具有
Project Owner角色的用户发送电子邮件,并更新 Atlas UI,以显示“立即开始维护”或“将维护推迟一周”的选项。注意
要配置如何接收计划维护窗口通知,请参阅配置维护窗口警报。
立即开始维护
要立即开始维护:
在Atlas中,转到 Project Settings 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 图标 Project Overview 旁边的图标。
显示项目设置页面。
在左侧导航栏的 Database 部分下,单击 Clusters。
在维护横幅中,单击 View Details 或 View more scheduled maintenances。
将出现一个标题为 Scheduled Maintenance Operations 的模态窗口,显示计划的日期和时间以及计划的维护操作类型。
在维护横幅中,单击 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 }'
推迟维护
使用以下过程将当前计划的维护推迟一周。要自动推迟所有未来的维护,请启用自动推迟。
注意
通过配置维护序列推迟维护
如果已配置维护序列波的项目分配给 Last Wave,则可以延迟维护。Atlas 将这些项目的延迟次数限制为最多一次。
注意
您最多可以将单个项目的维护事件推迟两次。
要推迟计划维护:
在Atlas中,转到 Project Settings 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 图标 Project Overview 旁边的图标。
显示项目设置页面。
在左侧导航栏的 Database 部分下,单击 Clusters。
在维护横幅中,单击 View Details 或 View more scheduled maintenances。
将出现一个标题为 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 提供 为一个项目终结点延迟一个维护窗口。
注意
您最多可以将单个项目的维护事件推迟两次。
预计维护日历工具
要可视化维护事件何时向项目推出,可以使用 预计维护日历工具。此工具允许您输入潜在的维护窗口和序列设置以及维护发布日期。根据这些设置和发布日期,该工具会显示 Atlas 将在每个序列波中对项目执行维护的日期和时间。
此工具未链接到 Atlas 账户。它无法读取您在 Atlas 中配置的设置,也无法为您的项目或组织配置设置。