Tunel prestaje primati veze, usluga se ponovno pokreće dvaput, a zatim se u njezinu zapisu ništa ne pojavljuje. Ta tišina je trag, jer zapis je ono što je napunilo disk i demon nema gdje zapisati pogrešku koju čekate. Svaka dugotrajna usluga može doći u to stanje, a brisanje direktorija zvanog logs to rijetko popravlja. Trajno rješenje je znati koje je spremište naraslo, kome pripada politika njegova zadržavanja i je li pisac doista pustio prostor.

Nađite spremište koje je naraslo i brzinu kojom je raslo

Počnite s dva broja koja se lako zaborave: slobodni blokovi i slobodni inodei. Datotečni sustav može prijaviti mnogo prostora i ipak odbiti upis jer mu nije ostao nijedan inode, a to se događa kada usluga stvara po jednu datoteku za svaku sesiju. Zatražite oba očitanja na istom volumenu, jer se odgovori mogu razići istoga poslijepodneva. Učinite to dok je host zdrav, da brojevi opisuju normalan rad, a ne ispad.

df -h /var
df -i /var

Zatim pripišite rast vlasniku. Vlastita brojka potrošnje journala pokriva samo journal i nikada neće vidjeti demona koji piše na putanju iz svoje konfiguracijske datoteke.

journalctl --disk-usage

Rast tijekom vremena govori više od bilo kojeg pojedinačnog očitanja. Ostavljena uključena razina za otklanjanje pogrešaka, petlja ponovnih pokušaja koja bilježi svaki pokušaj ili datoteka snimanja koju nitko nije zaustavio: svako od toga može izgledati obično u jednom trenutku i zabrinjavajuće sat kasnije. Uzmite jedno očitanje, pričekajte kroz zauzeto razdoblje, uzmite drugo i podijelite s intervalom. Brzina koju možete navesti pretvara kapacitet u odluku, a ne u požar.

Što rotacija čini s otvorenom datotekom

Datoteka zapisa je ime koje pokazuje na inode, a prostor se vraća tek kada se zatvori posljednji otvoreni rukovatelj. Preimenujte datoteku i pisac nastavlja puniti isti inode; izbrišite je i pisac nastavlja puniti inode bez ikakva imena. Zbog tog stanja rečenica „izbrisao sam datoteku, a disk je ostao pun“ opisuje datotečne deskriptore, a ne pokvaren datotečni sustav. Ponovno pokretanje pisca ili odabir načina rotacije koji ponovno otvara datoteku vraća blokove.

lsof +L1 | head

Politika pripada komponenti koja piše datoteku. Journal nameće vlastita ograničenja pohrane iz svoje konfiguracijske datoteke, dok se usluga koja se temelji na datotekama obično oslanja na logrotate, bilo s pravilom stvaranja i signalom za ponovno otvaranje, bilo s načinom skraćivanja na mjestu kada pisac ne može ponovno otvoriti. Najprije potvrdite odluku bez ikakvih promjena:

logrotate -d /etc/logrotate.conf

Gdje ograničenje pripada i koliko veliko treba biti

Postavite ograničenje tamo gdje je pisac konfiguriran, a ne na točki montiranja. Kvota na cijeli volumen štiti host, ali ne kaže koja usluga prva pada, a globalna skripta za čišćenje obično briše dokaze potrebne sljedećem incidentu. Ograničenje journala, broj rotacija s najvećom veličinom i zadržavanje na razini aplikacije svako ograničava jednog proizvođača. Zajedno ograničavaju ukupno; pojedinačno je svako nagađanje.

Odredite veličinu ograničenja prema roku zadržavanja koji možete braniti, a ne prema slobodnom prostoru. Ako je za pregled potreban tjedan pokušaja povezivanja, journal mora držati tjedan pri najzauzetijoj očekivanoj brzini, a ta je brzina broj izmjeren ranije.

Zapis za otklanjanje pogrešaka privremen je način rada sa zabilježenim vremenom početka, a ne plan pohrane. Držite pitanje privatnosti unutar iste odluke, jer zapisi veza nose adrese i identifikatore. Duže zadržavanje također je izbor obrade podataka i treba ga donijeti netko tko poznaje oba ograničenja.

Provjerite ograničenje nakon ponovnog pokretanja

Promjena zadržavanja koja traje do sljedećeg ponovnog pokretanja nije promjena. Ponovno pokrenite pisca, potvrdite da novo ograničenje vrijedi i provjerite da rotacija i dalje radi nakon toga. Za journal, jedno ponovno pokretanje i jedno očitanje potrošnje odgovaraju na oba pitanja:

systemctl restart systemd-journald
journalctl --disk-usage

Za uslugu koja se temelji na datotekama pokrenite rotaciju jednom ručno i potvrdite da je datoteka zamijenjena i deskriptor ponovno otvoren. Pisac koji drži stari rukovatelj prolazi površnu provjeru i pada sljedeći put kada se volumen napuni. Gledajte slobodan prostor tijekom testa, jer datoteka koja se smanjila dok se prostor nije vratio znači da se stari inode još drži.

Usporedite sljedeće očitanje s ovim

Vratite se nakon tjedan dana i usporedite brzinu rasta sa zabilježenom. Odgovarajuća brzina znači da ograničenje drži i da je opterećenje stabilno; udvostručena brzina znači da se nešto promijenilo, a korisno je pitanje što. Najprije pročitajte sadržaj zapisa radi ponovljenih pogrešaka, jer je petlja ponovnih pokušaja istodobno simptom i uzrok obujma. Zatim provjerite sve novo omogućeno, uključujući razine za otklanjanje pogrešaka uključene tijekom incidenta i nikada isključene.

Držite sigurnosne kopije izvan istog volumena ili prihvatite da jedan pun disk nosi kopiju sa sobom. Kopija zapisana na host koji štiti nije plan oporavka, a njezino zadržavanje traži vlastiti odgovor.

Zapišite što se zadržava, gdje, koliko dugo i tko to uklanja. Ta je rečenica isporuka i jedini je dio ovog posla koji nadživi sljedeće ponovno pokretanje.

Povezani članci