Как исправить проблему отсутствия свободного места на устройстве в Linux

Отсутствие свободного места на устройстве обычно означает, что у нас закончилось место на диске. Но в редких случаях, когда мы получаем эту ошибку, у нас еще есть свободное место. Люди приходят в замешательство, когда получают эту ошибку. Вот процесс устранения этой ошибки.

"No space left on device", хотя место есть.

Пример

Ошибка

Корневая причина "На устройстве не осталось свободного места"

Было обнаружено, что каталоги содержат миллионы файлов, с которыми драйвер файловой системы ext не может эффективно справиться, и вообще файловые системы ext3 и ext4 не могут эффективно справиться. В файловой системе также имеется достаточное количество inode. Таким образом, дисковое пространство и inode не являются первопричиной этой проблемы.

Первопричиной является неожиданный размер каталога.

В этом каталоге уже выделено много блоков, но в нем не так много файлов. Файловые системы ext3 имеют ограничение на количество файлов, которые могут быть созданы в одном каталоге, после чего вы увидите ошибки ENOSPC. На каком-то этапе в этом каталоге действительно было много файлов, затем количество файлов было уменьшено. Это могло привести к образованию дыр в карте каталогов. В результате этот новый файл или любой другой достаточно большой файл больше не может быть добавлен.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий