Kratak odgovor
Kada je disk pun, prvo proverite zauzeće pomoću `df -h` i pronađite velike fajlove i foldere pomoću `du`. Zatim očistite nepotrebne logove, keš paketa i privremene fajlove, ali vodite računa da ne obrišete aktivne logove bez rotacije. Na kraju podesite logrotate i uklonite stare arhive da sprečite ponovno punjenje.
Kako se problem prepoznaje
- Servisi ne mogu da upišu podatke u bazu ili fajlove
- Aplikacija prijavljuje grešku „No space left on device“
- Ne možete da se prijavite na server putem SSH-a
- Web sajt vraća grešku 500 ili se ne učitava
- Sistemski logovi prestaju da se pišu
Najčešći uzroci
Nekontrolisani logovi
Log fajlovi aplikacija ili sistema rastu bez rotacije i mogu zauzeti sve slobodno mesto.
Keš paketa i ažuriranja
Preuzeti paketi i keš menadžera paketa (APT, DNF) akumuliraju se vremenom.
Privremeni fajlovi i sesije
Fajlovi u `/tmp` i sesije korisnika mogu ostati zauvek ako se ne čiste.
Veliki fajlovi baze podataka
Backup fajlovi, dumpovi baze ili arhive mogu biti veliki i zaboravljeni.
Neispravno montirani diskovi
Ako se particija ne montira pravilno, podaci se upisuju na root particiju i pune je.
Rešenje korak po korak
- 1
Proverite zauzeće diska
Pokrenite
df -hda vidite koja particija je puna. Obratite pažnju na kolonuUse%i na particiju koja je 100% zauzeta. Ako je puna root particija (/), nastavite sa proverom velikih foldera. - 2
Pronađite najveće foldere
Koristite kao root
du -h --max-depth=1 /da vidite zauzeće po direktorijumima. Zatim uđite u najveći folder i ponovite komandu. Na taj način ćete brzo locirati mesto gde se troši prostor. - 3
Pronađite velike fajlove
Pokrenite kao root
find / -type f -size +100M -exec ls -lh {} \;da pronađete fajlove veće od 100 MB. Obrišite ili premestite one koji nisu potrebni, ali prvo proverite čemu služe i napravite backup ako su podaci važni. - 4
Očistite logove
Logovi se obično nalaze u
/var/log. Pre čišćenja napravite backup logova ako su vam potrebni za dijagnostiku. Možete obrisati stare arhivirane logove (*.gz,*.1) ili ih skratiti kao root komandomtruncate -s 0 /var/log/ime.log. Ne brišite aktivne logove, već ih skratite ili rotirajte. - 5
Očistite keš paketa
Na Debian/Ubuntu sistemima pokrenite kao root ili sa
sudo:apt cleaniapt autoremove. Na RHEL/CentOS/Fedora sistemima koristite kao root ili sasudo:dnf clean allidnf autoremove. Time ćete osloboditi prostor koji zauzimaju preuzeti paketi. - 6
Očistite privremene fajlove
Pregledajte
/tmpi/var/tmpi obrišite fajlove starije od nekoliko dana. Budite oprezni sa fajlovima koje trenutno koriste aktivni procesi. - 7
Podesite logrotate
Proverite konfiguraciju u
/etc/logrotate.confi/etc/logrotate.d/. Uverite se da se logovi rotiraju i da se starije verzije brišu. Možete dodatirotate 7idailyza ključne logove. - 8
Proverite montiranje diskova
Pokrenite
mountidf -hda vidite da li su sve particije pravilno montirane. Ako neka particija nije montirana, podaci se upisuju na root particiju i mogu je napuniti.
Ako ništa ne pomogne
Ako i dalje nemate dovoljno prostora, proverite da li postoje obrisani fajlovi koje drže aktivni procesi. Komanda lsof +L1, pokrenuta kao root, prikazuje takve fajlove; bezbedno restartujte proces koji ih drži. Razmislite o dodavanju novog diska ili proširenju particije. Za baze podataka i aplikacije sa velikim podacima, redovno pravite backup i čistite stare dumpove. Na kraju, ako je disk fizički mali, planirajte migraciju na veći disk ili cloud storage.
Kako da sprečite da se ponovi
- Redovno proveravajte zauzeće diska pomoću `df -h` i `du`
- Podesite logrotate za sve aplikacije koje pišu logove
- Čistite keš paketa i privremene fajlove mesečno
- Koristite monitoring alate koji će vas upozoriti kada disk dostigne 80%
Kada je bolje pozvati stručnjaka
Ako ne možete da pristupite serveru ili ne znate koji su fajlovi bezbedni za brisanje, obratite se IT podršci. Takođe, ako je disk fizički neispravan ili postoji sumnja na hardverski kvar, bolje je da to pregleda stručnjak.
Održavanje IT infrastrukture · Serveri, mreže, backup, bezbednost i helpdeskČesta pitanja
Kako da brzo oslobodim prostor na root particiji?
Prvo proverite `df -h` da vidite koliko je prostora ostalo. Zatim pronađite velike fajlove i foldere pomoću `du` i `find`, i obrišite nepotrebne logove i keš. Ako je hitno, možete privremeno obrisati stare arhive logova, ali pre toga napravite backup ako su vam potrebni.
Mogu li slobodno da obrišem fajlove u /tmp?
Možete obrisati fajlove starije od nekoliko dana, ali prvo proverite da ih ne koristi neki aktivni proces. Najbolje je koristiti `tmpwatch` ili `systemd-tmpfiles` uz odgovarajući timer koji automatski čisti `/tmp`.
Zašto mi se disk ponovo puni nakon čišćenja?
Najčešći uzrok je nedostatak rotacije logova ili aplikacija koja stvara velike privremene fajlove. Proverite logrotate konfiguraciju i podesite ograničenja za aplikacije koje pišu mnogo podataka.