Проблема с местом на диске в Linux


Бывает, что на диске есть достаточно много свободного места, но файлы упорно не создаются. В некоторых случаях выскакивает ошбка о том, что на диске закончилось свободное место.

Вы упорно вводите:

df -ha

И не понимаете, что же не так: на диске еще сотня гиг свободно, а файл создать нельзя.

Ключ -i выведет информацию о доступных инодах:

df -i

У каждого файла и папки на диске есть свой напарник, в котором содержится дополнительная информация о файле. В linux такие "напарники" называются инодами (inodes)

Каждый файл и папка имеют права доступа, владельцев, время создания и изменения. Вот эта информация и содержится в инодах.

Как правило, большинство пользователей не знают о том, что количество инодов ограничено до тех пор пока не сталкиваются с проблемами.
Чем больше файлов создано на диске, тем больше используется инодов для хранения информации о них.

Посчитать количество всех инодов используемых в текущем каталоге можно с помощью следующего скрипта:

echo "Inode Usage BreakDown: $(pwd)"; 
for d in $(find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort); 
do 
    c=$(find $d |wc -l) ; 
    printf "$c\t\t- $d\n";
done; 
printf "Total: \t\t$(find $(pwd) | wc -l)\n"

К сожалению количество инод нельзя увеличить без пересоздания файловой системы, так что у Вас проблема, если сервер имеет только один раздел. Указать количество инод можно с помощью ключа "-N" в аргументах утилиты "mke2fs".

Share Button
(Visited 234 times, 1 visits today)

2 комментария на «“Проблема с местом на диске в Linux”»

  1. А как увеличить количество индо конечно же говорить не нужно. Классная статья. Да, проблема есть, как решать — не скажем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *