Коротка відповідь: Швидко звільніть місце, почистивши логи, кеші пакетів і старі журнали — самі лише 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 →
