Linux

出現錯誤:特定文件名的“設備上沒有剩餘空間”

  • May 5, 2015

我有一個 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

引用自:https://serverfault.com/questions/688637