Я понимаю, что такое инод, но каково точное определение осиротевшего инода? Я действительно не понимаю, что это значит.
ОБНОВИТЬ
Было время, когда у сервера, которым я управлял, закончились inode, но когда я выполнил команду df -h, это показало мне, что сервер занимал только 60% пространства. Я думаю, это из-за осиротевших инодов. Как можно использовать все иноды, но на сервере все еще остается «место»? Можете ли вы указать это в своих ответах?
filesystems
inode
ninjacoder
источник
источник
df -i
покажет соответствующую информацию для inode.Ответы:
Потерянный инод - это инод, который не привязан к записи каталога в файловой системе, что означает, что он недоступен.
Иноды-сироты могут появляться по ряду причин:
fsck
создает новые записи каталога для потерянных инодов вlost+found
.источник
df -h
он показал мне, что на сервере было занято только 60% пространства. Я думаю, это из-за осиротевших инодов. Как можно использовать все иноды, но на сервере все еще остается «место»?Осиротевший инод - это «полуудаленный» файл: в нем больше нет записи каталога, но он все еще открыт в некотором процессе, поэтому данные все еще присутствуют на диске. Когда последний процесс, у которого открыт этот файл, закроет его, файл будет полностью удален, а потерянный индекс исчезнет.
Потерянный инод использует как инод, так и дисковое пространство для хранения файла, так что и то,
df
и другоеdf -i
учитывают как использованное. Таким образом, если дискdf
указан как заполненный, но на нем остается свободное место, это не может быть связано с потерянными инодами. Потерянные иноды являются одной из причин, по которым использование файловой системы, о котором сообщается,df
и общий размер файла, о котором сообщается,du
могут различаться; см. Почему существует так много разных способов измерения использования диска? для более подробной информации по этой теме.Многие файловые системы зарезервировали фиксированное количество inode при создании файловой системы, что означает, что в файловой системе может быть не более такого количества файлов. Количество инодов - это компромисс между пространством, используемым инодами, и возможностью создавать множество файлов. Если в файловой системе больше нет места, то вы не можете увеличивать существующие файлы или создавать новые файлы (возможно, вы все еще можете создать несколько пустых файлов в существующих каталогах, если они заполняют только частично используемые блоки, а не требующий выделения нового блока). Если свободного инода больше нет, вы можете увеличить существующие файлы, но не можете создать новый файл.
Ядро сообщает об одной и той же ошибке приложениям, независимо от того, заполнена ли файловая система из-за недостатка места для данных или из-за отсутствия inode. Таким образом, вы можете получить сообщение об ошибке «диск заполнен», даже если осталось некоторое пространство данных, если для операции требуется новый индекс и таблица индексов заполнена. Запустите,
df -i
чтобы узнать, сколько инодов используется и сколько осталось.источник
Индекс-сирота - это тот, который не был связан, но все еще открыт в другом процессе. Например, работает
tail -f {file}
в одной оболочке, а затемrm {file}
в другой. Файловая система отслеживает их, чтобы их можно было очистить при выходе из процесса.Это совершенно нормально, когда у вас нечистая спешка. Это просто файлы, которые были удалены, но все еще были открыты, когда fs был перемонтирован только для чтения. Они не причина, а всего лишь симптомы.
Для проблемы с индексами выполните этот запрос, чтобы получить список того, сколько индексов используется во всех каталогах.
Вы можете сослаться на это и это для получения дополнительной методики проверки.
источник