Ext4 파일 시스템에 장치에 남은 공간이 없습니까? 당신은 거짓말 쟁이!

3892 단어


그래서 어느 날 일어나서 프로그램 중 하나가 "장치에 남은 공간이 없습니다"에 대해 불평하기 시작하는 것을 발견했습니다.

다음 일은 (당연하죠?) 무슨 일이 일어났는지 확인하는 것입니다.

$ du -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/zkvm1-root 6.2G 4.6G 1.3G 79% /





무엇을 기다립니다? 거기에 공간이 있습니다! 어떻게 그럴 수 있습니까? 내 모든 경험(+15!)에서 그런 것은 본 적이 없습니다!

신들이 미쳤나봐!? 아니면 2020 년입니까?



$ touch /tmp
touch: cannot touch ‘/tmp/test’: No space left on device





뻔뻔하게 인터넷 검색/오리더킹/검색 후, 결국 https://blog.merovius.de/2013/10/20/ext4-mysterious-no-space-left-on.htmlbut에 도달했습니다. 아아, 그것은 내 문제가 아니었지만... 파일이 너무 많을 수도 있습니다. 이번에는 du -h /tmp로 확인하겠습니다.

$ du -i /tmp
`Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/zkvm1-root 417792 417792 0 100% /





나는 매우 똑똑하기 때문에 그렇지 않습니다. 이제 내 문제가 어디에 있는지 알고 있습니다. 파일이 너무 많습니다!, 이 문제를 해결할 시간입니다...

몇 분 동안 파일을 삭제하고, 이동하고, 마운트를 바인딩한 후 실제 근본 원인을 찾았습니다.

처리를 위해 /var/spool/clientmqueue에서 대기 중인 수많은 메시지, 일부를 삭제하기로 결정했습니다. 결국 이 시스템의 메일은 신경 쓰지 않습니다… 예!.

그러나 맹목적으로 파일을 삭제하는 것은 결코 좋은 해결책이 아니기 때문에 위의 링크에서 결국 해결 방법은 매우 간단했습니다.

$ systemctl enable --now sendmail





잠시 후 du -i 사용자가 시스템 메일을 받기 시작했고 나중에 삭제할 수 있었습니다. :)

결국, 모든 데이터를 포맷하거나 두 번째 드라이브로 전송하는 것, inode 크기 등으로 포맷하고 재생하는 것보다 매우 간단한 솔루션(내 경우에는!)…

Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/zkvm1-root 417792 92955 324837 23% /



Et voilà, ma chérie!

이것은 매우 긴 게시물입니다.

ext4 no space left on device는 다음을 의미할 수 있습니다. 남은 공간이 없거나 파일을 저장할 공간이 더 이상 없습니다.

좋은 웹페이지 즐겨찾기