MongoDB Atlas维护指南:常见类型、注意事项与窗口设置

为了给Atlas用户更好的产品体验,MongoDB产品团队会进行定期维护。

本文将会介绍:

  • 常见维护项目种类及频率,注意事项
  • 维护期间的影响及建议
  • 维护窗口设置说明
  • 维护告警设置和邮件通知范例

维护窗口常见项目

  • 定期SSL证书轮换
  • 软件升级:包括MongoDB的小版本升级、其他附属功能的版本升级
  • 非紧急安全补丁
  • 云服务提供商的非紧急维护,例如:
    • 硬件更改(例如EC2实例升级)
    • 实例操作系统升级(例如从CentOS 7.5升级到7.6)

常见维护窗口种类及频率

1、实例重启:虚拟机重启维护

  • 频率:每周至两周一次
  • 补充说明:这是针对操作系统补丁执行的维护类型。

2、云服务提供商计划的维护:虚拟机停止/启动维护

  • 频率:每月一次
  • 补充说明:当集群更新到新的实例大小时进行维护。例如,当我们收到云服务提供商通知Atlas集群中的某个实例状态下降并计划退役时。

3、MongoDB小版本更新:Mongod进程重启维护

  • 频率:每两个月一次
  • 补充说明:
    • MongoDB的次要版本升级(最常见的情况)
    • 更改Atlas集群的默认启动参数(例如,更改Atlas集群支持的TLS版本)

维护相关注意事项

  • 紧急维护无法跳过。对于紧急情况下的维护操作,必须执行,无法忽略。
  • 代理程序升级对客户的数据库性能没有任何影响,因此这些升级不会在维护窗口时进行。
  • 可能会出现单个更改(例如较小的MongoDB版本更改)触发维护窗口警报的情况;然而,在实际执行维护操作时,可能会有多个待处理的更改,这些更改将同时应用。
  • 被视为安全性关键的维护操作将不受项目上设置的维护窗口的影响;客户将无法停止这些维护事件的应用。

维护期间的影响及建议

  • 在整个维护过程中,只会发生一次选举。平均而言,一次选举可能需要五秒钟,并且整个维护过程可能持续几分钟。
  • 如果应用程序可以承受一次选举,则不会产生维护downtime。
  • Retryable writes操作有助于在选举新的主节点期间防止写入错误。
  • Atlas的Test Failover feature功能可用于测试应用程序在选举事件发生时的行为。
  • 为了避免在高峰时间运行维护操作,可以配置维护窗口。这样可以在指定的时间段内进行维护,避免对业务产生较大影响。

维护窗口设置

1、在Project Setting页面中,找到"Set Preferred Cluster Maintenance Start Time"选项并设置为"On"。

2、点击铅笔图标。

3、在下面展开页面设置开始时间。

4、如果希望Atlas自动延迟一周的计划维护,请点击"Automatically defer maintenance for one week"。

维护窗口设置说明

可以在每个Project中指定不同的维护窗口,当需要进行维护被排期间时,将按照以下方式进行:

  • 例如,可以指定每周三凌晨四点开始进行维护。(注意时区设定!)
  • 如果指定的维护窗口距离当前时间大于或等于72小时,则维护事件将成功排定。如果小于72小时,则会将其推迟到下周。
  • 例如,如果周二发出排在周三凌晨四点进行的维护,由于距离计划时间小于72小时,维护将推迟到下一周的周三凌晨四点才会进行。
  • 默认Project Owner会在每周计划维护前72小时收到电子邮件通知,并在Atlas用户界面中获得即将进行维护的通知。在Project层级的提示横幅中,可以进一步设置:
    a. 手动再推迟一周
    b. 手动立即进行维护
    c. 不做任何操作,等待按计划时间进行维护

如果确认要将维护推迟第二次,将会在维护计划前的48-72小时内出现将维护推迟一周的选项。
在此之前,无法预先选择第二次推迟的选项。

  • 同一Project中的所有集群的维护会并行开始。
  • 每个维护事件最多可推迟两次。

维护告警设置及邮件通知范例

如果希望收到邮件通知,可在Alert中进行相关维护窗口告警设置。

我们会在维护计划设置、维护开始和维护自动推迟的节点为您发送邮件提醒。

维护已计划

维护开始

维护自动推迟

查看维护历史记录

可在Project的Activity Feed中进行筛选查看。

第一步

第二步

第三步

以上就是本期关于Atlas维护指南的全部内容。

如果本文对您有帮助,别忘了收藏和转发!

相关推荐
北极熊kw1 小时前
CentOS 9/10 Stream / RockyLinux 8 上安装 Oracle database 19c
数据库·oracle·centos
猫猫的小茶馆3 小时前
基于嵌入式linux的数据库:SQLite
linux·服务器·c语言·数据库·单片机·ubuntu·sqlite
一个假的前端男3 小时前
express(node ORM) 使用 Winston 记录日志 及数据库保存日志
android·数据库·express
浪九天3 小时前
MySQL 数据库基础详细解释和示例
数据库·mysql
怡~3 小时前
Golang适配达梦数据库连接指定模式
开发语言·数据库·golang
小马爱打代码4 小时前
MySQL - 一条查询语句是怎么执行的?
数据库·mysql
yqcoder4 小时前
Express + MongoDB 实现用户登出
数据库·mongodb·express
飘零未归人4 小时前
SpringBoot 整合mongoDB并自定义连接池,实现多数据源配置
spring boot·后端·mongodb
暮雨哀尘4 小时前
Linux操作系统:基于ELK栈的日志分析系统与数据爬虫的设计与实现
linux·运维·服务器·爬虫·mongodb·elk·pipeline
小王努力学编程5 小时前
【MySQL篇】数据库基础
数据库·mysql