K8S部署的MongoDB突然不能正常启动容器了,报错信息如下:
WiredTiger error (-31804)
经常是数据文件损坏,需要修复。操作过程如下:
先把K8S上面的MongoDB 容器停止(可以把副本改成0)。
1、将容器挂载MongoDB的数据目录备份到本地。
2、 Windows 下载MongoDB程序
3、到MongoDB的bin目录下,执行
mongod --dbpath
4、启动mongo
mongod --dbpath
如果修复正常,再将文件覆盖会挂载目录。
5、K8S上面的MongoDB 容器启动
注意:两个MongoDB的版本要一致,本文使用的是mongo:4.2.24