Куда могло исчезнуть дисковое пространство? (4/5)
Inodes
Продолжая тему исследования того, куда могло исчезнуть место на диске, рассмотрим новую задачу.
Сервер перестал отвечать. Смотрим по логам, что произошло:
Ок, делаем стандартные проверки для подобного сценария:
Ну, у нас определённо есть свободное пространство, но что-то всё равно пошло не так. Давайте попробуем посмотреть ещё кое-что:
-x tmpfs -x squashfs из первой части, тут также может быть вполне уместно применить
Сервер использовал все доступные inode.
Попробуем найти директорию, с наибольшим количеством использованых inode:
Чтож. Довольно предсказуемо. Теперь провернём небольшой трюк:
Мы смонтировали tmpfs в /tmp. Оно конечно само по себе может вызвать проблемы, но мы тут и так уже посреди инцидента, так что двигаемся дальше:
Почистим эту директорию:
Ладно. Пойдём другим путём:
Решение на perl не единственное, но одно из самых быстрых. С другими возможными вариантами решения можно, например, ознакомиться здесь.
Заключение
количество индексных дескрипторов в файловой системе определяется во время создания. Несмотря на то, что их число достаточно велико, тем не менее они могут быть исчерпаны.
такой тип инцидентов крайне редкий. В основном подобное может случиться в системах, где создаётся множество мелких файлов. Например почтовый сервер, в котором письма хранятся в файлах, накрыла волна спама.













