Kuidas lahendada ketta täielikku viga Linuxi serveris?
Juhend suurte failide leidmiseks, logide ohutuks puhastamiseks ja serveris ruumi vabastamiseks.
Üks levinumaid probleeme Linuxi serverites on see, et ketas saab täielikult täis. Kui ketas saab täis, ei saa veebisaidid faile kirjutada, andmebaasiteenused võivad lakata töötamast, mänguserverid ei pruugi logisid salvestada ja mõned teenused ei pruugi üldse käivituda.
Selle vea tunnevad tavaliselt ära järgmised sümptomid:
- Failide serverisse üleslaadimine ebaõnnestus
- Andmebaasiteenuse sulgemine või viga
- Paneelil kuvatakse tõrge "Seadmes pole ruumi jäänud".
- Mänguserver lülitub välja, kuna ei saa logida.
- Veebisaitidel esineb 500 viga või tühje lehti
1. Kettakasutuse kontrollimine
Kõigepealt kontrollige, milline ketta partitsioon serveris on täis.
df -h
siin eriti Kasuta% ala arvestatakse. Kui sektsioon on 90% või rohkem, tähendab see, et risk on alanud. Kui see on 100% täis, ei saa teenused faile kirjutada.
2. Otsige üles kaustad, mis võtavad kõige rohkem ruumi
Kui ketas on täis, on probleemiks tavaliselt ühte kausta kogutud logid, varukoopiad või vahemälufailid. Kontrollige suuri kaustu, alustades juurkataloogist.
du -h --max-depth=1 / 2>/dev/null | sort -h
See käsk näitab, kui palju ruumi kodukataloogid võtavad. Tavaliselt kontrollitakse järgmisi katalooge:
- /var/log - Süsteemi- ja teeninduslogid
- /kodu - Kasutaja ja veebisaidi failid
- /varukoopia - Vanad varukoopiafailid
- /tmp - Ajutised failid
- /var/lib/mysql - MySQL/MariaDB andmebaasifailid
3. Loetlege suured failid
Mõnikord võib üks logifail kasvada 10 GB-ni või rohkem. Suurte failide leidmiseks võite kasutada järgmist käsku:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullSee käsk loetleb üle 500 MB failid. Uurige saadud faile hoolikalt. Eriti .log, .vana, .gz, .bak ja vanu varukoopiaid tuleks kontrollida.
4. Logifailide ohutu puhastamine
Töötava teenuse logifaili otsene kustutamine ei anna mõnikord oodatud tulemust. Kuna teenus suudab faili jätkuvalt avatuna hoida. Seetõttu on kõige turvalisem viis suurte logifailide puhastamisel faili tühjendamine.
truncate -s 0 /var/log/dosya_adi.log
Näide:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Pakendi vahemälu puhastamine
Ubuntu ja Debiani-põhistes süsteemides võivad pakettide vahemälu failid aja jooksul kettaruumi võtta.
apt clean apt autoremove -y
CentOS-i, AlmaLinuxi või Rocky Linuxi süsteemides:
yum clean all dnf clean all
6. Vanade varukoopiate kontrollimine
Failid, mis võtavad hostimis- ja mänguserverites kõige rohkem ruumi, on tavaliselt vanad varukoopiad. Eriti kui on olemas automaatne varundussüsteem, võidakse iga päev teha uusi varukoopiaid ja vanu varukoopiaid ei tohi kustutada.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
See käsk loetleb varukoopiad, mis on vanemad kui 7 päeva. Kustutamiseks pärast veendumist:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Taaslaadimise vältimine Logrotate Setting abil
Isegi kui ketas on puhastatud, kordub sama probleem mõne päeva pärast uuesti, kui põhjust ei kõrvaldata. Selleks tuleb kontrollida logrotate konfiguratsiooni.
nano /etc/logrotate.conf
Lihtsa logrotate loogika näide:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}See säte tagastab logifailid iga päev, säilitab neid 7 päeva ja tihendab vanad logid.
Levinud vead
- Süsteemifailide kustutamine teadmata, milline fail see on
- Käimasoleva logifaili kustutamine ja teenuse taaskäivitamine
- Vanade varukoopiate säilitamine piiramatu aja jooksul
- Logrotate seadeid ei kontrolli üldse
- Ärge sekkuge enne, kui ketas on 100% täis
KKK
Miks annab server veateate, kui ketas on täis?
Kuna teenused ei saa kirjutada logisid, vahemälu, ajutisi faile ega andmebaase. Teenused võivad välja lülitada, kui kirjutamistoiming ebaõnnestub.
Kas logifail on parem kustutada või tühjendada?
Selle asemel, et töötavates teenustes logifail täielikult kustutada kärbima Seda on turvalisem tühjendada kasutades.
Puhastasin ketta, kuid ruumi ei vabanenud, miks?
Töötav teenus võib kustutatud faili siiski avatuna hoida. Võib osutuda vajalikuks vastav teenus taaskäivitada.
Toimivuse ja turvalisuse soovitused
- Jälgige regulaarselt ketta kasutamist.
- Salvestage varukoopiad eraldi kettale või kaugvarundusalale.
- Ärge jätke teenust pikka aega tööle ilma logrotate'i kasutamata.
- Võtke ettevaatusabinõusid, kui ketas saavutab 85% taseme.
- Ärge jätke silumisloge mänguserverites pidevalt avatuks.
See artikkel on spetsiaalselt ette valmistatud PvPServeri jaoks.