Linux Labs

Хранилище / Ступень 1 из 11

Место закончилось — какое именно?

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 8 · на машине · 8 мин

Место и записи о файлах

У файловой системы два независимых ресурса, и кончиться может любой — даже когда второго с избытком.

На машине обычно работает несколько файловых систем: у корня / своя, у учебного тома — своя, собранная в файле-образе. Каждая ведёт учёт сама, поэтому df спрашивают про путь, куда пишет программа.

Содержимое файлов файловая система хранит в блоках — кусках одинакового размера. df -h считает блоки: Size — всего, Used — занято, Avail — доступно обычному пользователю. Резерв для root в Avail уже не входит.

Кроме содержимого, у файла есть описание: владелец, права, время изменения, адреса блоков. Оно хранится в inode — отдельной записи на каждый файл и каталог. Имени в inode нет: имя держит каталог, в записи «имя → номер inode».

Число inode в ext4 задаётся при создании файловой системы и потом не растёт. Новый файл, даже пустой, забирает один свободный inode. Свободных нет — файл не создаётся, и система пишет ту же No space left on device.

Ресурс На что расходуется Чем проверить
блоки содержимое файлов df -h ПУТЬ, столбец Avail
inode каждый файл и каталог, даже пустой df -i ПУТЬ, столбец IFree

Сотни пустых файлов исчерпают inode при свободных блоках, один огромный файл займёт все блоки одним inode. На обычных дисках inode — сотни тысяч; на учебном томе их нарочно 256, чтобы нехватка наступала за секунды.

В упражнении служба снова не может записать отчёт, но том собран в другом состоянии.

Упражнение · посмотреть

Что кончилось на этот раз

Служба снова не может записать отчёт в /mnt/lab-data. Попробуй записать строку в report.txt, потом сравни для тома df -h и df -i.

Войти и начать Машина доступна после входа
Ubuntu 24.04
Загрузка…