【发布时间】:2020-03-15 09:35:26
【问题描述】:
从网上的文档来看,似乎只有当MongoDB实例停止并且没有检测到心跳时,才会进行故障转移选举。但是万一坏盘或者坏盘扇区以及MongoDB写入日志或者数据文件失败,MongoDB会如何响应呢? MongoDB 实例会崩溃并因此发生故障转移吗? 今天在 mongodb 裸机设置中,系统管理员一般如何检测和处理磁盘故障?谢谢
【问题讨论】:
从网上的文档来看,似乎只有当MongoDB实例停止并且没有检测到心跳时,才会进行故障转移选举。但是万一坏盘或者坏盘扇区以及MongoDB写入日志或者数据文件失败,MongoDB会如何响应呢? MongoDB 实例会崩溃并因此发生故障转移吗? 今天在 mongodb 裸机设置中,系统管理员一般如何检测和处理磁盘故障?谢谢
【问题讨论】:
自 MongoDB 4.2 起,Storage Node Watchdog 在社区服务器中可用。从链接页面:
存储节点看门狗监视以下 MongoDB 目录以检测文件系统无响应:
- --dbpath 目录
- --dbpath 目录中的日志目录(如果启用了日志功能)
- --logpath 文件目录
- --auditPath 文件目录
如果包含受监视目录的任何文件系统变得无响应,存储节点看门狗将终止 mongod 并以状态码 61 退出。如果 mongod 是副本集的主节点,则终止启动故障转移,允许另一个成员成为主要成员。
一个警告:
如果其任何受监视目录是指向其他卷的符号链接,则存储节点看门狗不会监视符号链接目标。
【讨论】: