特定のディレクトリ内にたくさんのファイルがあるext4ボリュームがあります。
特定の名前のファイルをその中に作成しようとすると、「デバイスに空き容量がありません」というエラーが表示されます。
$ touch /data/lake/http:____images__br037__319854_366_tp.jpg
touch: cannot touch ‘/data/lake/http:____images__br037__319854_366_tp.jpg’: No space left on device
ファイル名を1文字でも変更すると、機能します。
そのボリュームのディスク使用量とiノード使用量は次のとおりです。
# df -h /dev/xvdf
Filesystem Size Used Avail Use% Mounted on
/dev/xvdf 985G 679G 256G 73% /data
# df -i /dev/xvdf
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvdf 65536000 24751661 40784339 38% /data
また、ディスクの破損の問題ではないことを確認するためにfsckを実行しました。
# e2fsck -y /dev/xvdf
e2fsck 1.42.9 (4-Feb-2014)
/dev/xvdf: clean, 24751661/65536000 files, 182020406/262144000 blocks
誰かが私にそれをさらにデバッグする方法を教えてもらえますか?.
Dir_index機能(無効にできるはずです)には、ファイル名のハッシュが衝突することによって引き起こされる既知のバグがあるようです。
http://blog.merovius.de/2013/10/20/ext4-mysterious-no-space-left-on.html