Краткий ответ: Быстро освободите место, очистив логи, кэши пакетов и старые журналы — одни только journalctl --vacuum-size=100M и apt clean часто возвращают гигабайты. Затем найдите настоящих потребителей через du, пока они не заполнили диск снова, а если нагрузка просто переросла диск — рассмотрите расширение.
Обзор
Полный диск ломает всё запутанным образом: базы данных останавливаются, сайты бросают ошибки 500, сессии не работают, даже вход по SSH может странно себя вести. Относитесь к 100% использования как к инциденту — сначала верните место, потом расследуйте.
Что нужно иметь
- Root-доступ по SSH (или KVM Console, если сервисы уже отказывают).
Пошаговая инструкция
- Подтвердите и локализуйте проблему:
Проверьте иdf -h df -idf -i— диск может быть «полным» по inode при свободных байтах. - Быстрые победы (безопасны почти на каждом сервере):
sudo journalctl --vacuum-size=100M sudo apt clean sudo rm -rf /tmp/* - Найдите самые большие каталоги от корня вниз:
sudo du -xh --max-depth=2 / 2>/dev/null | sort -rh | head -20 - Обычные подозреваемые: огромные логи в
/var/log(обрезайте, не удаляйте открытые файлы:sudo truncate -s 0 /var/log/nginx/access.log), старые бэкапы, хранящиеся локально, забытые архивы. - Перезапустите всё, что упало, пока диск был полон:
sudo systemctl restart mariadb nginx - Если диск действительно мал — обновите план и расширьте файловую систему: см. расширение диска после апгрейда.
Типичные проблемы
- Удалили огромный файл, а место не вернулось: процесс всё ещё держит его открытым — перезапустите этот сервис или найдите через
lsof +L1. - Логи отрастают за ночь: настройте logrotate вместо ручной чистки.
- Локальные бэкапы съедают диск: вынесите их с сервера — именно для этого существует Storage VPS.
Когда обращаться в поддержку
Если df кардинально не сходится с тем, что находит du, или файловая система стала read-only после заполнения и перезагрузка не спасает, — откройте тикет с выводами шагов 1 и 3.
Частые вопросы
Какой самый быстрый безопасный способ освободить место?
Сожмите журнал systemd до фиксированного размера, почистите кэш пакетов через apt clean и обрежьте раздутые логи. Вместе это обычно возвращает несколько гигабайт менее чем за минуту.
Я удалил файлы, но df всё ещё показывает полный диск — почему?
Запущенный процесс всё ещё держит удалённые файлы открытыми, поэтому место не освобождается. Найдите такие файлы через lsof +L1 и перезапустите сервис, которому они принадлежат.
Может ли диск быть полным, когда df показывает свободное место?
Да — файловая система может исчерпать inode при свободных байтах. Проверьте df -i; миллионы мелких файлов, часто кэш или файлы сессий, исчерпывают inode и ведут себя точно как полный диск.
Похожие статьи
- Как проверить место на диске
- Как расширить диск после апгрейда
- Ошибка подключения к базе данных
- Как собрать логи для поддержки
Нужна помощь? Связаться с поддержкой Cloud2Y →
