MongoDB 2系?から7に上げた

あまり最近は使っていないのだけれど、今は旧ブログとオレオレGyazoが動いてるさくらVPSのUbuntu Serverが20.04なことに気づいて、もうすぐ24.04も出るはずだしと思って雑にdo-release-upgradeをして22.04に上げた。

これ自体はまあ予定通りで、あとは旧ブログのSerene Bachで使われてるCPANモジュール入れるくらいかなと思っていたらオレオレGyazoが死んでて、どうやらバックエンドで使っているMongoDBが死んでいた。

なんか apt upgrade でサクッと入らなくなっていたっぽく、そもそも mongod のバイナリが消えてたので公式ドキュメント見て最新っぽいMongoDB 7.0を入れたらストレージエンジンとして使われていた MMAPv1 が廃止になって WiredTiger というのが推奨になっており、mongod が動いてないと変換もできないということが判明したので古いパッケージ(3.6)を入れたらなんとか動いて、徐々にアップグレードすればうまくいくんじゃねと思ったけどそうでもなく、結局動いてる環境で mongodump して /var/lib/mongodb/ のデータ消して、7.0 に上げて mongorestore したら動いた。思えば12年くらい雑に動かしてた気がする。あとRubyとかPythonスクリプトのmongoクライアントも色々アップデートしたりPython2廃絶したりrbenv飽きたり色々してとりあえず使えるようになった。やっぱいきなり雑にアップグレードするのはスリルがあってあまりよろしくない。

published at