对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

为集群维护做准备

当您对集群中的节点执行维护时, MongoDB Ops Manager会执行滚动重启。 为了在维护期间保持集群可用性,自动化会按以下方式更新集群中的节点:

  • 对于三成员副本集,自动化一次更新一个节点。

  • 对于有五个成员的副本集,自动化一次会更新两个节点。

在对集群执行维护之前,请查看以下注意事项,并在必要时采取措施,以保持集群可用性。

注意

要了解自动化如何在集群上执行维护,请参阅Ops Manager 如何在集群节点上执行维护?

在维护开始之前,集群中的每个节点都会以独立模式重新启动。 当该节点在维护完成后添加回集群时,会重放oplog中的写入以赶上其他节点。

确保集群的 oplog 足够大,以存储应用程序在维护期间可能进行的所有写入。 使用replication.oplogSizeMB高级部署选项调整 oplog 大小。

当在主节点上开始维护时,与该节点的所有客户端连接都会断开。 重新建立与新当选主节点的连接。

您可能更希望将特定数据中心中的节点成为新的主节点。编辑集群的配置并调整每个节点的优先级以指示您的首选主节点。

正在进行维护的节点不为集群提供故障转移支持。 对于三成员和五成员副本集,如果在维护期间有其他节点不可用,则集群会丢失大多数节点。 主节点将失去此状态并降级成为从节点。 在大多数集群节点可用之前,无法选举新的主节点。

自动化使用相同但独立的命令在集群节点上一次一个地构建索引。 为确保写入操作遵循唯一索引中索引字段的unique质量,在构建索引之前,必须停止对集群上集合的所有写入。

您无法使用数据浏览器或 Ops Manager 中的自动化配置资源以滚动方式创建唯一索引,因为这些方法不会停止写入集群。

如果您的使用案例要求您构建新的唯一索引:

  1. 停止向受影响的集合所有写入。有关更多信息。请参阅 MongoDB 手册中的 db.fsyncLock()

  2. 请参阅 MongoDB 手册中的在副本集上构建索引,以滚动方式构建唯一索引。