Kako riješiti pogrešku pun disk na Linux poslužitelju?
Vodič za pronalaženje velikih datoteka, sigurno čišćenje zapisa i oslobađanje prostora na poslužitelju.
Jedan od najčešćih problema na Linux poslužiteljima je da se disk potpuno napuni. Kada se disk napuni, web-mjesta ne mogu pisati datoteke, usluge baze podataka mogu prestati raditi, poslužitelji igara možda neće bilježiti zapisnike, a neke se usluge možda uopće neće pokrenuti.
Ova greška se obično prepoznaje po sljedećim simptomima:
- Neuspješno učitavanje datoteka na poslužitelj
- Gašenje usluge baze podataka ili pogreška
- Na ploči se pojavljuje pogreška "Nema više prostora na uređaju".
- Poslužitelj igre se gasi jer se ne može prijaviti.
- 500 grešaka ili praznih stranica pojavljuje se na web stranicama
1. Provjera korištenja diska
Najprije provjerite koja je particija diska na poslužitelju puna.
df -h
ovdje posebno Iskoristi % razmatra se područje. Ako je odjeljak 90% ili više, to znači da je rizik započeo. Ako je 100% pun, servisi neće moći pisati datoteke.
2. Pronađite mape koje zauzimaju najviše prostora
Kada je disk pun, problem su obično zapisi, sigurnosne kopije ili datoteke predmemorije nakupljene u jednoj mapi. Provjerite velike mape, počevši od korijenskog direktorija.
du -h --max-depth=1 / 2>/dev/null | sort -h
Ova naredba pokazuje koliko prostora zauzimaju kućni imenici. Obično se provjeravaju sljedeći imenici:
- /var/log - Dnevnici sustava i usluga
- /kući - Datoteke korisnika i web stranica
- /sigurnosna kopija - Stare sigurnosne kopije datoteka
- /tmp - Privremene datoteke
- /var/lib/mysql - MySQL/MariaDB datoteke baze podataka
3. Popis velikih datoteka
Ponekad jedna datoteka dnevnika može narasti do 10 GB ili više. Da biste pronašli velike datoteke, možete koristiti ovu naredbu:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullOva naredba ispisuje datoteke veće od 500 MB. Pažljivo pregledajte nastale datoteke. Posebno .log, .stari, .gz, .bak i treba provjeriti stare sigurnosne datoteke.
4. Sigurno čišćenje log datoteka
Izravno brisanje datoteke dnevnika pokrenute usluge ponekad ne daje očekivani rezultat. Budući da usluga može nastaviti držati datoteku otvorenom. Stoga je najsigurnija metoda prilikom čišćenja velikih datoteka dnevnika isprazniti datoteku.
truncate -s 0 /var/log/dosya_adi.log
Primjer:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Čišćenje predmemorije paketa
Na sustavima baziranim na Ubuntu i Debianu, datoteke predmemorije paketa mogu s vremenom zauzeti prostor na disku.
apt clean apt autoremove -y
Na sustavima CentOS, AlmaLinux ili Rocky Linux:
yum clean all dnf clean all
6. Provjera starih sigurnosnih kopija
Datoteke koje zauzimaju najviše prostora na poslužiteljima za hosting i igre obično su stare sigurnosne kopije. Osobito ako postoji sustav automatskog sigurnosnog kopiranja, nove sigurnosne kopije mogu se raditi svaki dan, a stare se sigurnosne kopije ne smiju brisati.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Ova naredba navodi sigurnosne kopije starije od 7 dana. Za brisanje nakon provjere:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Spriječite ponovno učitavanje s postavkom Logrotate
Čak i ako se disk očisti, ako se uzrok ne otkloni, isti će se problem ponoviti nakon nekoliko dana. Za ovo se mora provjeriti konfiguracija logrotate.
nano /etc/logrotate.conf
Primjer jednostavne logrotirane logike:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Ova postavka svakodnevno vraća zapisničke datoteke, čuva ih 7 dana i sažima stare zapisnike.
Uobičajene greške
- Brisanje sistemskih datoteka bez znanja o kojoj se datoteci radi
- Brisanje pokrenute datoteke dnevnika i nepokretanje usluge
- Čuvanje starih sigurnosnih kopija na neograničeno vrijeme
- Uopće ne provjeravam postavke logrotate
- Nemojte intervenirati dok se disk ne napuni 100%.
FAQ
Zašto server daje grešku kada je disk pun?
Budući da usluge ne mogu pisati zapisnike, predmemorije, privremene datoteke ili baze podataka. Usluge se mogu isključiti kada operacija pisanja ne uspije.
Je li bolje izbrisati ili isprazniti log datoteku?
Umjesto potpunog brisanja datoteke dnevnika u pokrenutim servisima krnjiti Sigurnije ga je isprazniti pomoću.
Očistio sam disk, ali prostor nije oslobođen, zašto?
Izbrisanu datoteku još uvijek može držati otvorenom pokrenuta usluga. Možda će biti potrebno ponovno pokrenuti odgovarajuću uslugu.
Preporuke za performanse i sigurnost
- Redovito pratite korištenje diska.
- Pohranite sigurnosne kopije na poseban disk ili udaljeno područje za sigurnosno kopiranje.
- Ne ostavljajte uslugu da radi dulje vrijeme bez korištenja logrotate-a.
- Poduzmite mjere opreza kada disk dosegne razinu od 85%.
- Ne ostavljajte zapisnike otklanjanja pogrešaka stalno otvorene na poslužiteljima igara.
Ovaj članak je posebno pripremljen za PvPServer.