Осиротевший инод - это «полуудаленный» файл: в нем больше нет записи каталога, но он все еще открыт в некотором процессе, поэтому данные все еще присутствуют на диске. Когда последний процесс, у которого открыт этот файл, закроет его, файл будет полностью удален, а потерянный индекс исчезнет.
Потерянный инод использует как инод, так и дисковое пространство для хранения файла, так что и то, df
и другое df -i
учитывают как использованное. Таким образом, если диск df
указан как заполненный, но на нем остается свободное место, это не может быть связано с потерянными инодами. Потерянные иноды являются одной из причин, по которым использование файловой системы, о котором сообщается, df
и общий размер файла, о котором сообщается, du
могут различаться; см. Почему существует так много разных способов измерения использования диска? для более подробной информации по этой теме.
Многие файловые системы зарезервировали фиксированное количество inode при создании файловой системы, что означает, что в файловой системе может быть не более такого количества файлов. Количество инодов - это компромисс между пространством, используемым инодами, и возможностью создавать множество файлов. Если в файловой системе больше нет места, то вы не можете увеличивать существующие файлы или создавать новые файлы (возможно, вы все еще можете создать несколько пустых файлов в существующих каталогах, если они заполняют только частично используемые блоки, а не требующий выделения нового блока). Если свободного инода больше нет, вы можете увеличить существующие файлы, но не можете создать новый файл.
Ядро сообщает об одной и той же ошибке приложениям, независимо от того, заполнена ли файловая система из-за недостатка места для данных или из-за отсутствия inode. Таким образом, вы можете получить сообщение об ошибке «диск заполнен», даже если осталось некоторое пространство данных, если для операции требуется новый индекс и таблица индексов заполнена. Запустите, df -i
чтобы узнать, сколько инодов используется и сколько осталось.