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

Soluție de eroare completă a discului pe serverul Linux

Yazdır

Cum se rezolvă eroarea completă a discului pe serverul Linux?

Un ghid pentru găsirea fișierelor mari, curățarea în siguranță a jurnalelor și eliberarea spațiului pe server.

Una dintre cele mai frecvente probleme pe serverele Linux este că discul devine complet plin. Când discul devine plin, site-urile web nu pot scrie fișiere, serviciile de baze de date pot înceta să funcționeze, serverele de jocuri pot să nu înregistreze jurnalele și este posibil ca unele servicii să nu pornească deloc.

Această eroare este de obicei recunoscută prin următoarele simptome:

  • Nu se încarcă fișierele pe server
  • Închidere sau eroare a serviciului de bază de date
  • Apare pe panou eroarea „Fără spațiu rămas pe dispozitiv”.
  • Serverul de joc se oprește deoarece nu se poate autentifica.
  • Pe site-uri apar 500 de erori sau pagini goale
Important: Ștergerea fișierelor aleatorii în cazul unei erori de disc plin este periculoasă. Serviciile pot fi corupte dacă fișierul de sistem greșit este șters. Mai întâi este necesar să determinați care folder ocupă spațiu.

1. Verificarea utilizării discului

Mai întâi, verificați ce partiție de disc de pe server este plină.

df -h

aici mai ales Utilizați% se ia în considerare zona. Dacă o secțiune este de 90% sau mai mult, înseamnă că riscul a început. Dacă este plin 100%, serviciile nu vor putea scrie fișiere.

2. Găsiți folderele care ocupă cel mai mult spațiu

Când discul este plin, problema este de obicei jurnalele, copiile de rezervă sau fișierele cache acumulate într-un singur folder. Verificați folderele mari, pornind de la directorul rădăcină.

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

Această comandă arată cât spațiu ocupă directoarele de acasă. De obicei sunt verificate următoarele directoare:

  • /var/log - Jurnalele de sistem și de service
  • /acasă - Fișiere utilizator și site-ul web
  • /backup - Fișiere de rezervă vechi
  • /tmp - Fișiere temporare
  • /var/lib/mysql - Fișiere de baze de date MySQL/MariaDB

3. Listați fișiere mari

Uneori, un singur fișier jurnal poate crește până la 10 GB sau mai mult. Pentru a găsi fișiere mari, puteți folosi această comandă:

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

Această comandă listează fișierele de peste 500 MB. Examinați cu atenție fișierele rezultate. Mai ales .log, .vechi, .gz, .bak iar fișierele de rezervă vechi ar trebui verificate.

Abordare sigură: Dacă nu știi care este fișierul, nu-l șterge. Priviți mai întâi calea fișierului și serviciul la care este conectat.

4. Curățarea în siguranță a fișierelor jurnal

Ștergerea directă a fișierului jurnal al unui serviciu care rulează uneori nu dă rezultatul așteptat. Deoarece serviciul poate continua să păstreze fișierul deschis. Prin urmare, cea mai sigură metodă atunci când curățați fișierele jurnal mari este golirea fișierului.

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

Exemplu:

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

5. Curățarea cache a pachetului

Pe sistemele bazate pe Ubuntu și Debian, fișierele cache ale pachetelor pot ocupa spațiu pe disc în timp.

apt clean
apt autoremove -y

Pe sistemele CentOS, AlmaLinux sau Rocky Linux:

yum clean all
dnf clean all

6. Verificarea backup-urilor vechi

Fișierele care ocupă cel mai mult spațiu pe serverele de găzduire și jocuri sunt de obicei copii de rezervă vechi. Mai ales dacă există un sistem de backup automat, se pot face copii de rezervă noi în fiecare zi și este posibil ca backupurile vechi să nu fie șterse.

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

Această comandă listează copiile de rezervă mai vechi de 7 zile. Pentru a șterge după ce vă asigurați:

find /backup -type f -mtime +7 -name "*.tar.gz" -delete
Atentie: Înainte de a utiliza comanda de ștergere, asigurați-vă că verificați ce fișiere vor fi șterse cu comanda listing.

7. Preveniți reîncărcarea cu setarea Logrotate

Chiar dacă discul este curățat, dacă cauza nu este corectată, aceeași problemă va apărea din nou după câteva zile. Pentru aceasta, configurația logrotate trebuie verificată.

nano /etc/logrotate.conf

Exemplu de logică simplă de logrotate:

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

Această setare returnează fișierele jurnal zilnic, le păstrează timp de 7 zile și comprimă jurnalele vechi.

Greșeli comune

  • Ștergerea fișierelor de sistem fără a ști ce fișier este
  • Ștergerea fișierului jurnal care rulează și nu repornirea serviciului
  • Păstrarea vechilor copii de rezervă pentru o perioadă nelimitată de timp
  • Nu se verifică deloc setările logrotate
  • Nu interveni până când discul este plin 100%.

Întrebări frecvente

De ce serverul dă o eroare când discul este plin?
Deoarece serviciile nu pot scrie jurnale, cache, fișiere temporare sau baze de date. Serviciile se pot opri atunci când operația de scriere eșuează.

Este mai bine să ștergeți sau să goliți fișierul jurnal?
În loc să ștergeți complet fișierul jurnal din serviciile care rulează trunchia Este mai sigur să-l goliți folosind.

Am curățat discul, dar spațiul nu a fost eliberat, de ce?
Fișierul șters poate fi încă menținut deschis de un serviciu care rulează. Poate fi necesar să reporniți serviciul relevant.

Recomandări de performanță și securitate

  • Monitorizați regulat utilizarea discului.
  • Stocați copiile de siguranță pe un disc separat sau pe o zonă de backup la distanță.
  • Nu lăsați un serviciu în funcțiune mult timp fără a utiliza logrotate.
  • Luați măsuri de precauție când discul atinge nivelul de 85%.
  • Nu lăsați jurnalele de depanare deschise în mod constant pe serverele de joc.

Acest articol este pregătit special pentru PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner