我有一个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
如果我改变文件名的一个字母,它就可以了.
以下是该卷的磁盘使用情况和inode使用情况:
# 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