
Ich habe ein ext4-Volume mit vielen Dateien in einem bestimmten Verzeichnis.
Immer wenn ich versuche, darin eine Datei mit einem bestimmten Namen zu erstellen, erhalte ich die Fehlermeldung „Kein Speicherplatz mehr auf dem Gerät“.
$ 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
Wenn ich auch nur einen Buchstaben des Dateinamens ändere, funktioniert es.
Hier ist die Festplattennutzung und Inode-Nutzung für dieses Volume:
# 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
Ich habe außerdem fsck ausgeführt, um sicherzustellen, dass es sich nicht um ein Problem mit einer Festplattenbeschädigung handelt.
# e2fsck -y /dev/xvdf
e2fsck 1.42.9 (4-Feb-2014)
/dev/xvdf: clean, 24751661/65536000 files, 182020406/262144000 blocks
Kann mir jemand helfen, wie ich es weiter debuggen kann?
Antwort1
Es scheint einen bekannten Fehler in der dir_index-Funktion zu geben (den Sie deaktivieren können sollten), der durch kollidierende Hashes von Dateinamen verursacht wird:
http://blog.merovius.de/2013/10/20/ext4-mysterious-no-space-left-on.html