从联机文档来看,似乎只有当MongoDB实例停止并且未检测到心跳时,才会进行故障转移的选择。但是如果磁盘损坏或磁盘扇区损坏并且MongoDB无法将日志或数据文件写入日志,MongoDB将如何响应? MongoDB实例会崩溃并因此发生故障转移吗? 如今,在MOngoDB裸机设置中,通常系统管理员如何检测和处理磁盘故障?谢谢
答案 0 :(得分:1)
自MongoDB 4.2起,Storage Node Watchdog在社区服务器中可用。在链接的页面上:
存储节点监视程序监视以下MongoDB目录以检测文件系统无响应:
- -dbpath目录
- 如果已启用日记功能,则--dbpath目录中的日记目录
- -logpath文件的目录
- -auditPath文件的目录
如果包含受监视目录的任何文件系统均无响应,则存储节点监视程序将终止mongod并以状态代码61退出。如果mongod是副本集的主副本,则终止将启动故障转移,从而允许另一个成为主要会员。
一个警告:
如果其任何受监视目录是到其他卷的符号链接,则存储节点监视程序将不监视该符号链接目标。