Tunelis nustoja priimti ryšius, paslauga du kartus persikrauna, o po to jos žurnale nieko nepasirodo. Ta tyla yra užuomina, nes diską užpildė būtent žurnalas, o demonas neturi kur įrašyti klaidos, kurios laukiate. Bet kuri ilgai veikianti paslauga gali pasiekti šią būseną, ir katalogo, vadinamo logs, ištrynimas tai retai ištaiso. Ilgalaikis sprendimas yra žinoti, kuri saugykla išaugo, kam priklauso jos saugojimo politika ir ar rašytojas tikrai atlaisvino vietą.

Raskite išaugusią saugyklą ir tempą, kuriuo ji augo

Pradėkite nuo dviejų lengvai pamirštamų skaičių: laisvų blokų ir laisvų inode. Failų sistema gali pranešti apie daug vietos ir vis tiek atsisakyti rašyti, nes nebeliko inode, o tai nutinka, kai paslauga sukuria po vieną failą sesijai. Paprašykite abiejų rodmenų tame pačiame tome, nes atsakymai gali nesutapti tą pačią popietę. Darykite tai, kol pagrindinis kompiuteris sveikas, kad skaičiai apibūdintų įprastą veikimą, o ne sutrikimą.

df -h /var
df -i /var

Tada priskirkite augimą savininkui. Paties journal naudojimo skaičius apima tik journal ir niekada nematys demono, rašančio į kelią iš jo konfigūracijos failo.

journalctl --disk-usage

Augimas laikui bėgant pasako daugiau nei bet kuris atskiras matavimas. Įjungtas paliktas derinimo lygis, pakartojimų ciklas, registruojantis kiekvieną bandymą, arba niekieno nesustabdytas fiksavimo failas: kiekvienas jų vienu metu gali atrodyti įprastai, o po valandos nerimą keliančiai. Paimkite vieną matavimą, palaukite užimtą laikotarpį, paimkite kitą ir padalinkite iš intervalo. Tempas, kurį galite įvardyti, paverčia talpą sprendimu, o ne gaisru.

Ką rotacija daro atidarytam failui

Žurnalo failas yra vardas, rodantis į inode, ir vieta grąžinama tik uždarius paskutinį atidarytą deskriptorių. Pervadinkite failą ir rašytojas toliau pildo tą patį inode; ištrinkite jį ir rašytojas toliau pildo inode visai be vardo. Dėl šios būsenos frazė „ištryniau failą, o diskas liko pilnas“ apibūdina failų deskriptorius, o ne sugedusią failų sistemą. Rašytojo perkrovimas arba rotacijos režimo, kuris iš naujo atidaro failą, pasirinkimas iš tikrųjų grąžina blokus.

lsof +L1 | head

Politika priklauso komponentui, kuris rašo failą. Journal taiko savo saugojimo ribas iš savo konfigūracijos failo, o failais pagrįsta paslauga paprastai remiasi logrotate, arba su kūrimo taisykle ir pakartotinio atidarymo signalu, arba su vietoje trumpinimo režimu, kai rašytojas negali iš naujo atidaryti. Pirmiausia patvirtinkite sprendimą nieko nekeisdami:

logrotate -d /etc/logrotate.conf

Kur turi būti riba ir kokio dydžio ji turėtų būti

Dėkite ribą ten, kur sukonfigūruotas rašytojas, o ne prijungimo taške. Kvota visam tomui apsaugo pagrindinį kompiuterį, bet nepasako, kuri paslauga suges pirmoji, o globalus valymo scenarijus linkęs ištrinti įrodymus, kurių prireiks kitam incidentui. Journal riba, rotacijų skaičius su didžiausiu dydžiu ir programos lygmens saugojimas kiekvienas apriboja vieną gamintoją. Kartu jie apriboja visumą; atskirai kiekvienas yra spėjimas.

Apskaičiuokite šią ribą pagal saugojimą, kurį galite apginti, o ne pagal laisvą vietą. Jei peržiūrai reikia savaitės prisijungimų bandymų, journal turi išlaikyti savaitę didžiausiu numatomu tempu, ir tas tempas yra anksčiau išmatuotas skaičius.

Derinimo žurnalas yra laikinas režimas su įrašytu pradžios laiku, o ne saugojimo planas. Laikykite privatumo klausimą tame pačiame sprendime, nes prisijungimų žurnalai neša adresus ir identifikatorius. Ilgesnis saugojimas taip pat yra duomenų tvarkymo pasirinkimas, ir jį turėtų priimti žmogus, žinantis abu apribojimus.

Patikrinkite ribą po perkrovimo

Saugojimo pakeitimas, kuris tęsiasi iki kito perkrovimo, nėra pakeitimas. Perkraukite rašytoją, patvirtinkite, kad galioja nauja riba, ir patikrinkite, ar rotacija po to vis dar veikia. Journal atveju vienas perkrovimas ir vienas naudojimo rodmuo atsako į abu klausimus:

systemctl restart systemd-journald
journalctl --disk-usage

Jei paslauga pagrįsta failais, vieną kartą paleiskite rotacijos užduotį rankiniu būdu ir patvirtinkite, kad failas pakeistas, o deskriptorius atidarytas iš naujo. Rašytojas, laikantis seną deskriptorių, praeina paviršutinišką patikrinimą ir nepavyksta kitą kartą, kai tomas prisipildo. Stebėkite laisvą vietą testo metu, nes failas, kuris sumažėjo, o vieta negrįžo, reiškia, kad senas inode vis dar laikomas.

Palyginkite kitą matavimą su šiuo

Grįžkite po savaitės ir palyginkite augimo tempą su užrašytu. Sutampantis tempas reiškia, kad riba laiko ir apkrova stabili; padvigubėjęs tempas reiškia, kad kažkas pasikeitė, o naudingas klausimas yra kas. Pirmiausia skaitykite žurnalo turinį dėl pasikartojančių klaidų, nes pakartojimų ciklas yra ir simptomas, ir apimties priežastis. Tada patikrinkite viską, kas neseniai įjungta, įskaitant derinimo lygius, įjungtus incidento metu ir niekada neišjungtus.

Laikykite atsargines kopijas ne tame pačiame tome arba pripažinkite, kad vienas pilnas diskas pasiims kopiją su savimi. Kopija, įrašyta į pagrindinį kompiuterį, kurį ji saugo, nėra atkūrimo planas, ir jos saugojimas reikalauja atskiro atsakymo.

Užrašykite, kas saugoma, kur, kiek laiko ir kas tai pašalina. Tas sakinys yra rezultatas, ir tai vienintelė šio darbo dalis, kuri išgyvena kitą perkrovimą.

Susiję straipsniai