LoginSignup
2
1

More than 5 years have passed since last update.

ディスク容量が余裕でも"No space left on device"と怒られる怪現象

Last updated at Posted at 2018-08-20

mongodbが落ちていたのでログを確認するとNo space left on deviceと出力されていた。

$ # /var/log/mongodb/mongod.log の内容
( 略 : )
2018-08-18T21:44:32.320+0900 E STORAGE  [thread1] WiredTiger (28) [1534596272:318424][943:0x7ff7d77b2700], file:WiredTiger.wt, WT_SESSION.checkpoint: /var/lib/mongodb/WiredTiger.turtle.set: handle-open: open: No space left on device
2018-08-18T21:44:32.321+0900 E STORAGE  [thread1] WiredTiger (28) [1534596272:321564][943:0x7ff7d77b2700], checkpoint-server: checkpoint server error: No space left on device
( 略 : )

ディスクフルだろうとディスク容量を確認する、、、空き容量はある。怪現象だ。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            990M  4.0K  990M   1% /dev
tmpfs           201M  412K  200M   1% /run
/dev/vda1        48G   29G   17G  63% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none           1001M     0 1001M   0% /run/shm
none            100M     0  100M   0% /run/user
$

サイズではなくファイル数がフルなのであった。

$ df -i
Filesystem      Inodes   IUsed  IFree IUse% Mounted on
udev            253417     419 252998    1% /dev
tmpfs           256223     354 255869    1% /run
/dev/vda1      3145728 3145728      0  100% /
none            256223      11 256212    1% /sys/fs/cgroup
none            256223       1 256222    1% /run/lock
none            256223       1 256222    1% /run/shm
none            256223       3 256220    1% /run/user
$

このマシンではサイズの小さなファイル(1KB程度)を200万ファイル/年のペースで生成するようなシステム(※1)が動いているため、ファイル数(inode数)の上限に達してしまっていたのであった。

対処法としては以下が挙げられる。

  • 不要or古いファイルをアーカイブor退避or削除する
  • ファイル数を監視し一定に保つ仕組みを設ける
  • ストレージorディスク容量を増やす

(※1)
将棋の棋譜ファイルをスクレイピングで収集するサービス( 将棋クエスト履歴検索β )を稼働させている。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1