Ответ
Inode (index node) — это фундаментальная структура данных в файловых системах Linux (ext4, XFS и др.), которая хранит метаданные файла, но не его имя или содержимое.
Что хранится в inode:
- Размер файла и права доступа (permissions).
- Владелец и группа (UID/GID).
- Временные метки (atime, ctime, mtime).
- Указатели на блоки данных на диске, где хранится содержимое файла.
Практическое значение для DevOps и администрирования:
-
Жесткие ссылки (hard links): Несколько имен файлов могут ссылаться на один и тот же inode. Это полезно для создания неизменяемых точек конфигурации без дублирования данных.
ln /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup # Создает жесткую ссылку ls -i /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup # Покажет одинаковый номер inode -
Проблема исчерпания inodes: Файловая система имеет ограниченное количество inodes, задаваемое при форматировании. Если создать миллионы маленьких файлов (например, логи, кэш, файлы в
/tmp), свободные inodes могут закончиться, даже если есть свободное место на диске. Система не сможет создавать новые файлы.df -i # Показать использование inodes Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda1 524288 512000 12288 98% / -
Восстановление файлов: Утилиты типа
fsckиспользуют информацию inode для восстановления структуры файловой системы после сбоя.
Вывод: Понимание inodes критично для диагностики проблем с дисковым пространством (когда df -h показывает свободное место, а система не может записать файл) и для работы с жесткими ссылками в скриптах автоматизации.