PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Disk Full Error Solution на сервері Linux

Yazdır

Як вирішити проблему повного диска на сервері Linux?

Посібник із пошуку великих файлів, безпечного очищення журналів і звільнення місця на сервері.

Однією з найпоширеніших проблем на серверах Linux є повне заповнення диска. Коли диск заповнюється, веб-сайти не можуть записувати файли, служби баз даних можуть перестати працювати, ігрові сервери можуть не записувати журнали, а деякі служби можуть взагалі не запускатися.

Цю помилку зазвичай розпізнають за такими симптомами:

  • Збій завантаження файлів на сервер
  • Вимкнення або помилка служби бази даних
  • На панелі з’являється помилка «На пристрої не залишилося місця».
  • Ігровий сервер вимикається, оскільки не може увійти.
  • На веб-сайтах трапляється 500 помилок або порожніх сторінок
Важливо: Видалення випадкових файлів у разі помилки заповнення диска небезпечно. Служби можуть бути пошкоджені, якщо видалити неправильний системний файл. Спочатку необхідно визначити, яка папка займає місце.

1. Перевірка використання диска

Спочатку перевірте, який розділ диска на сервері заповнений.

df -h

тут особливо використання% розглядається площа. Якщо розділ становить 90% або вище, це означає, що ризик почався. Якщо він заповнений на 100%, служби не зможуть записувати файли.

2. Знайдіть папки, які займають найбільше місця

Коли диск заповнений, проблемою зазвичай є журнали, резервні копії або файли кешу, накопичені в одній папці. Перевірте великі папки, починаючи з кореневого каталогу.

du -h --max-depth=1 / 2>/dev/null | sort -h

Ця команда показує, скільки місця займають домашні каталоги. Зазвичай перевіряються такі каталоги:

  • /var/log - Системні та сервісні журнали
  • / додому - Файли користувачів і веб-сайтів
  • / резервна копія - Старі резервні файли
  • /tmp - Тимчасові файли
  • /var/lib/mysql - Файли бази даних MySQL/MariaDB

3. Список великих файлів

Іноді один файл журналу може зрости до 10 ГБ або більше. Щоб знайти великі файли, ви можете скористатися цією командою:

find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null

Ця команда показує список файлів розміром понад 500 Мб. Уважно вивчіть отримані файли. Особливо .log, .старий, .gz, .bak і старі файли резервних копій слід перевірити.

Безпечний підхід: Якщо ви не знаєте, що це за файл, не видаляйте його. Спочатку подивіться шлях до файлу та службу, до якої він підключений.

4. Безпечне очищення файлів журналу

Безпосереднє видалення файлу журналу запущеної служби іноді не дає очікуваного результату. Оскільки служба може продовжувати тримати файл відкритим. Тому найбезпечнішим способом очищення великих файлів журналу є очищення файлу.

truncate -s 0 /var/log/dosya_adi.log

приклад:

truncate -s 0 /var/log/syslog
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/nginx/error.log

5. Очищення кешу пакетів

У системах на базі Ubuntu і Debian файли кешу пакетів можуть з часом займати місце на диску.

apt clean
apt autoremove -y

У системах CentOS, AlmaLinux або Rocky Linux:

yum clean all
dnf clean all

6. Перевірка старих резервних копій

Файли, які займають найбільше місця на хостингу та ігрових серверах, зазвичай є старими резервними копіями. Особливо, якщо є система автоматичного резервного копіювання, нові резервні копії можуть створюватися щодня, а старі резервні копії можуть не видалятися.

find /backup -type f -mtime +7 -name "*.tar.gz" -ls

Ця команда показує резервні копії, старіші за 7 днів. Щоб видалити, переконавшись:

find /backup -type f -mtime +7 -name "*.tar.gz" -delete
Увага: Перед використанням команди delete обов’язково перевірте, які файли буде видалено командою listing.

7. Запобігайте перезавантаженню за допомогою налаштування Logrotate

Навіть якщо диск очищено, якщо причину не усунути, та сама проблема виникне знову через кілька днів. Для цього необхідно перевірити конфігурацію logrotate.

nano /etc/logrotate.conf

Приклад простої логічної логіки:

/var/log/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

Цей параметр щодня повертає файли журналів, зберігає їх протягом 7 днів і стискає старі журнали.

Поширені помилки

  • Видалення системних файлів, не знаючи, який це файл
  • Видалення запущеного файлу журналу без перезапуску служби
  • Зберігання старих резервних копій необмежений період часу
  • Налаштування logrotate взагалі не перевіряються
  • Не втручайтесь, поки диск не заповниться на 100%.

FAQ

Чому сервер видає помилку, коли диск заповнений?
Оскільки служби не можуть писати журнали, кеші, тимчасові файли чи бази даних. Служби можуть вимкнутися, коли операція запису не вдається.

Чи краще видалити або очистити файл журналу?
Замість повного видалення файлу журналу в запущених службах урізати Безпечніше спорожнити його за допомогою.

Я очистив диск, але місце не звільнилося, чому?
Видалений файл може залишатися відкритим запущеною службою. Можливо, буде потрібно перезапустити відповідну службу.

Рекомендації щодо продуктивності та безпеки

  • Регулярно контролюйте використання диска.
  • Зберігайте резервні копії на окремому диску або віддаленій області резервного копіювання.
  • Не залишайте службу запущеною протягом тривалого часу без використання logrotate.
  • Вживайте заходів обережності, коли рівень диска досягне 85%.
  • Не залишайте журнали налагодження постійно відкритими на ігрових серверах.

Ця стаття спеціально підготовлена для PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner