Краткий ответ: Быстро освободите место, очистив логи, кэши пакетов и старые журналы — одни только journalctl --vacuum-size=100M и apt clean часто возвращают гигабайты. Затем найдите настоящих потребителей через du, пока они не заполнили диск снова, а если нагрузка просто переросла диск — рассмотрите расширение.

Обзор

Полный диск ломает всё запутанным образом: базы данных останавливаются, сайты бросают ошибки 500, сессии не работают, даже вход по SSH может странно себя вести. Относитесь к 100% использования как к инциденту — сначала верните место, потом расследуйте.

Что нужно иметь

  • Root-доступ по SSH (или KVM Console, если сервисы уже отказывают).

Пошаговая инструкция

  1. Подтвердите и локализуйте проблему:
    df -h
    df -i
    Проверьте и df -i — диск может быть «полным» по inode при свободных байтах.
  2. Быстрые победы (безопасны почти на каждом сервере):
    sudo journalctl --vacuum-size=100M
    sudo apt clean
    sudo rm -rf /tmp/*
  3. Найдите самые большие каталоги от корня вниз:
    sudo du -xh --max-depth=2 / 2>/dev/null | sort -rh | head -20
  4. Обычные подозреваемые: огромные логи в /var/log (обрезайте, не удаляйте открытые файлы: sudo truncate -s 0 /var/log/nginx/access.log), старые бэкапы, хранящиеся локально, забытые архивы.
  5. Перезапустите всё, что упало, пока диск был полон:
    sudo systemctl restart mariadb nginx
  6. Если диск действительно мал — обновите план и расширьте файловую систему: см. расширение диска после апгрейда.

Типичные проблемы

  • Удалили огромный файл, а место не вернулось: процесс всё ещё держит его открытым — перезапустите этот сервис или найдите через lsof +L1.
  • Логи отрастают за ночь: настройте logrotate вместо ручной чистки.
  • Локальные бэкапы съедают диск: вынесите их с сервера — именно для этого существует Storage VPS.

Когда обращаться в поддержку

Если df кардинально не сходится с тем, что находит du, или файловая система стала read-only после заполнения и перезагрузка не спасает, — откройте тикет с выводами шагов 1 и 3.

Частые вопросы

Какой самый быстрый безопасный способ освободить место?

Сожмите журнал systemd до фиксированного размера, почистите кэш пакетов через apt clean и обрежьте раздутые логи. Вместе это обычно возвращает несколько гигабайт менее чем за минуту.

Я удалил файлы, но df всё ещё показывает полный диск — почему?

Запущенный процесс всё ещё держит удалённые файлы открытыми, поэтому место не освобождается. Найдите такие файлы через lsof +L1 и перезапустите сервис, которому они принадлежат.

Может ли диск быть полным, когда df показывает свободное место?

Да — файловая система может исчерпать inode при свободных байтах. Проверьте df -i; миллионы мелких файлов, часто кэш или файлы сессий, исчерпывают inode и ведут себя точно как полный диск.

Похожие статьи

Нужна помощь? Связаться с поддержкой Cloud2Y →

Помог ли вам данный ответ? 0 Пользователи нашли это полезным (0 голосов)