Главная / Справочник ошибок / Сервер
На диске кончилось место или индексные узлы
No space left on device (ENOSPC)
No space left on device в логах Directum RX и его окружения: диск заполнен или кончились индексные узлы. Как быстро найти, что занимает место, и что можно удалять.
Что это значит
Запись на диск не удалась. Причин две: кончилось место или кончились индексные узлы (при множестве мелких файлов), хотя место ещё есть. Последствия зависят от того, чей это том: база останавливается, брокер блокирует публикацию, сервисы не могут писать журналы и временные файлы.
Как проверить
df -h
df -i
du -xh --max-depth=2 /var | sort -rh | head -20
docker system df
df -i со 100 % в колонке IUse% означает, что кончились индексные узлы. Если df показывает занятое место, а du его не находит, файл удалён, но процесс держит его открытым: lsof +L1.
Что сделать
- Найти крупнейшие каталоги. Обычные виновники: журналы сервисов без ротации, журнал базы, образы и слои Docker, старые резервные копии, временные файлы.
- Журналы: настроить ротацию с ограничением по размеру. Для Docker задать
max-sizeиmax-fileв настройках журналирования. - Docker:
docker image prune -aудалит неиспользуемые образы. Командуdocker system prune --volumesне запускать без понимания: она удаляет тома с данными. - Файлы базы и брокера руками не удалять. Для каталога
pg_walесть отдельная статья. - Поставить наблюдение за местом с порогом 80 %.