"15926 Insufficient free space for journals"
最近Dockerを使用してEC2上に並列テスト環境構築みたいなことをしていて、EC2(t2.small)上にMongoDBを3台ほど立てようとした時に15926 Insufficient free space for journals
というエラーが発生しました。
起動時にJournaling用に確保しているディスク容量が足りないということ。
EC2はデフォルトで8GBしかディスクがないので立ち上げの時に容量を確保できなかったために発生しているようでした。
対策
対策はEBSのサイズを大きくしても良いですが、上のStackoverflowにも書いてあるようにsmallFiles
をtrue
に設定すること。これでJournalのサイズを抑えることができるそうです。
設定
設定方法は立ち上げ方によって違います。
普通にMongoDBをインストールして起動している場合は/etc/mongo.conf
を編集する。
smallFiles: true
Configuration File Options — MongoDB Manual 3.0
--
Dockerで起動している場合は起動コマンドにオプションをつける。
docker run -d -p 27017:27017 --name my-mongo mongo mongod --smallfiles
--
docker-composeを使用している場合はdocker-compose.yml
にて起動コマンドを上書きする。
mongo: image: mongo command: mongod --smallfiles