← Назад к вопросам

Для чего нужен inode?

1.0 Junior🔥 191 комментариев
#Linux и администрирование

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI21 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

# Inode: Назначение и функции

Что такое inode

Inode (index node) - это структура данных в файловой системе Linux, которая хранит метаданные о файле или директории. Это НЕ имя файла, а уникальный идентификатор и описание файла.

Структура inode

Каждый inode содержит:

  • Тип файла (обычный файл, директория, символическая ссылка)
  • Размер файла
  • Владелец файла (UID)
  • Группа файла (GID)
  • Права доступа (rwx)
  • Временные метки (создание, изменение, доступ)
  • Счётчик жёстких ссылок
  • Указатели на блоки данных

Основные функции inode

1. Связь между именем и данными

ls -i file.txt
12345 file.txt

Имя файла просто указывает на номер inode. Когда вы открываете файл, ОС:

  1. Ищет имя в директории
  2. Находит номер inode
  3. Загружает структуру inode
  4. Читает блоки данных из inode

2. Хранение метаданных

stat file.txt
Size: 1234 bytes
Inode: 12345
Access: (0644/-rw-r--r--)
Uid: (1000/pavel)
Modify: 2024-03-20 10:30:42

3. Жёсткие ссылки (Hard Links)

ln file.txt hardlink.txt
ls -i file.txt hardlink.txt
12345 file.txt
12345 hardlink.txt

Оба имена указывают на один inode. Файл удаляется только когда счётчик ссылок = 0.

Практическая проблема: inode переполнение

df -h
Filesystem Size Used Avail Use%
/dev/sda1  100G  50G   50G  50%

df -i
Filesystem Inodes IUsed IFree IUse%
/dev/sda1  1000000 980000 20000 98%

Если inode кончились, вы не сможете создавать новые файлы, хотя место на диске есть!

Причина: много мелких файлов (логи, временные файлы, кеш).

Решение: удалить ненужные файлы

find /tmp -type f -atime +7 -delete
find /var/log -name "*.log" -mtime +30 -delete

DevOps контекст

Важно мониторить inode при:

  • Логировании (Docker контейнеры создают много лог-файлов)
  • Временных файлах приложений
  • Кеше (package managers, build artifacts)
  • Большом количестве small files (socket files, lock files)

Вывод

Inode - это фундаментальная часть файловой системы, которая связывает имя файла с его метаданными и данными. Без inode файловая система не может отслеживать файлы, права доступа и жёсткие ссылки. DevOps инженеру важно следить за использованием inode, потому что его переполнение блокирует создание новых файлов, даже если на диске есть свободное место.

Для чего нужен inode? | PrepBro