오류 발생: 특정 파일 이름에 대해 "장치에 남은 공간이 없습니다"

오류 발생: 특정 파일 이름에 대해 "장치에 남은 공간이 없습니다"

특정 디렉토리 내에 많은 파일이 포함된 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

누군가 나를 도와줄 수 있습니까? 어떻게 하면 더 이상 디버깅할 수 있습니까?

답변1

파일 이름 해시 충돌로 인해 발생하는 dir_index 기능(비활성화할 수 있음)에 알려진 버그가 있는 것 같습니다.

http://blog.merovius.de/2013/10/20/ext4-mysterious-no-space-left-on.html

관련 정보