Posted at

MongoDBでRECOVERINGから復旧させるある1つの方法

More than 3 years have passed since last update.

MongoDBのreplicasetで運用している際に何かしたらのトラブルでSECONDARYのstateが

RECOVERINGの状態になってしまうことがあります。

ただ、そこからSECONDARYに復旧されず、RECOVERINGの状態が続いてしまうことがあります。

その場合、復旧方法として下記にて、方法で復旧させることができました。


  1. Secondaryのmongodを停止します(db.shutdownServer())

  2. dbpathで指定しているディレクトリを空にします(削除してしまうと怖いので、mvコマンドなどで移動させておきます)

  3. mongodを再開します

  4. データが同期されるまで、SETUP2というstateになります

  5. 同期が完了すると、SECONDARYのstateに復旧します


参考

*--repairを利用して復旧する方法もあるようですが、私の環境下では正常に復旧することはできませんでした。

他の復旧方法などあれば、ご教示ください。