No kurienes rodas VPN servera diska pieaugums un kā to ierobežot
Žurnālu pieaugums, pārdēvēts inode un neierobežots journal visi parādās kā viens pilns disks. Izmēriet tempu, ierobežojiet rakstītāju un pārbaudiet ierobežojumu pēc pārstartēšanas.
Tunelis pārstāj pieņemt savienojumus, pakalpojums divreiz pārstartējas, un pēc tam tā žurnālā nekas neparādās. Šis klusums ir pavediens, jo disku piepildīja tieši žurnāls, un dēmonam nav kur ierakstīt kļūdu, uz kuru jūs gaidāt. Jebkurš ilgstoši strādājošs pakalpojums var nonākt šādā stāvoklī, un mapes ar nosaukumu logs dzēšana to reti izlabo. Izturīgais risinājums ir zināt, kura krātuve pieauga, kam pieder tās glabāšanas politika un vai rakstītājs tiešām atbrīvoja vietu.
Atrodiet pieaugušo krātuvi un tempu, kādā tā pieauga
Sāciet ar diviem viegli aizmirstamiem skaitļiem: brīviem blokiem un brīviem inode. Failu sistēma var ziņot par daudz vietas un tomēr atteikties rakstīt, jo tai vairs nav inode, un tas notiek, kad pakalpojums izveido vienu failu katrai sesijai. Pieprasiet abus rādītājus tajā pašā sējumā, jo atbildes var nesakrist tajā pašā pēcpusdienā. Dariet to, kamēr resursdators ir vesels, lai skaitļi raksturotu parastu darbību, nevis traucējumu.
df -h /var
df -i /varPēc tam attieciniet pieaugumu uz īpašnieku. Paša journal lietojuma skaitlis aptver tikai journal un nekad neredzēs dēmonu, kas raksta uz ceļu no sava konfigurācijas faila.
journalctl --disk-usagePieaugums laika gaitā pasaka vairāk nekā jebkurš atsevišķs mērījums. Ieslēgts atstāts atkļūdošanas līmenis, atkārtojumu cilpa, kas reģistrē katru mēģinājumu, vai neviens neapturēts tveršanas fails: katrs no tiem vienā brīdī var izskatīties parasts un stundu vēlāk satraucošs. Veiciet vienu mērījumu, nogaidiet aizņemtu periodu, veiciet otru un daliet ar intervālu. Temps, ko varat nosaukt, pārvērš jaudu lēmumā, nevis ugunsgrēkā.
Ko rotācija dara ar atvērtu failu
Žurnāla fails ir vārds, kas norāda uz inode, un vieta atgriežas tikai tad, kad tiek aizvērts pēdējais atvērtais deskriptors. Pārdēvējiet failu, un rakstītājs turpina pildīt to pašu inode; izdzēsiet to, un rakstītājs turpina pildīt inode bez jebkāda vārda. Šī stāvokļa dēļ frāze “es izdzēsu failu, bet disks palika pilns” apraksta failu deskriptorus, nevis salauztu failu sistēmu. Rakstītāja pārstartēšana vai tāda rotācijas režīma izvēle, kas failu atver no jauna, ir tas, kas patiešām atgriež blokus.
lsof +L1 | headPolitika pieder komponentam, kas raksta failu. Journal piemēro savus glabāšanas ierobežojumus no sava konfigurācijas faila, bet uz failiem balstīts pakalpojums parasti paļaujas uz logrotate, vai nu ar izveides noteikumu un atkārtotas atvēršanas signālu, vai ar vietējas saīsināšanas režīmu, kad rakstītājs nevar atvērt no jauna. Vispirms apstipriniet lēmumu, neko nemainot:
logrotate -d /etc/logrotate.confKur ierobežojumam jāatrodas un cik lielam tam jābūt
Novietojiet ierobežojumu tur, kur konfigurēts rakstītājs, nevis montēšanas punktā. Kvota visam sējumam aizsargā resursdatoru, bet nepasaka, kurš pakalpojums kritīs pirmais, un globāls tīrīšanas skripts mēdz dzēst pierādījumus, kas būs vajadzīgi nākamajam incidentam. Journal ierobežojums, rotāciju skaits ar maksimālo izmēru un lietojumprogrammas līmeņa glabāšana katrs ierobežo vienu ražotāju. Kopā tie ierobežo kopsummu; atsevišķi katrs ir minējums.
Nosakiet šo ierobežojumu pēc glabāšanas, ko varat aizstāvēt, nevis pēc brīvās vietas. Ja pārskatam vajadzīga nedēļa savienojumu mēģinājumu, journal ir jāuztur nedēļa visaugstākajā gaidāmajā tempā, un šis temps ir iepriekš izmērītais skaitlis.
Atkļūdošanas žurnāls ir pagaidu režīms ar reģistrētu sākuma laiku, nevis glabāšanas plāns. Turiet privātuma jautājumu tajā pašā lēmumā, jo savienojumu žurnāli satur adreses un identifikatorus. Ilgāka glabāšana ir arī datu apstrādes izvēle, un to vajadzētu pieņemt kādam, kas zina abus ierobežojumus.
Pārbaudiet ierobežojumu pēc pārstartēšanas
Glabāšanas izmaiņas, kas pastāv līdz nākamajai pārstartēšanai, nav izmaiņas. Pārstartējiet rakstītāju, apstipriniet, ka jaunais ierobežojums ir spēkā, un pārbaudiet, vai rotācija pēc tam joprojām darbojas. Journal gadījumā viena pārstartēšana un viens lietojuma nolasījums atbild uz abiem jautājumiem:
systemctl restart systemd-journald
journalctl --disk-usageUz failiem balstītam pakalpojumam vienreiz palaidiet rotācijas uzdevumu ar roku un apstipriniet, ka fails tika aizstāts un deskriptors atvērts no jauna. Rakstītājs, kas patur veco deskriptoru, iztur virspusēju pārbaudi un neizdodas nākamreiz, kad sējums piepildās. Testa laikā sekojiet brīvajai vietai, jo fails, kas samazinājās, bet vieta neatgriezās, nozīmē, ka vecais inode joprojām tiek turēts.
Salīdziniet nākamo mērījumu ar šo
Atgriezieties pēc nedēļas un salīdziniet pieauguma tempu ar reģistrēto. Sakrītošs temps nozīmē, ka ierobežojums turas un slodze ir stabila; dubultots temps nozīmē, ka kaut kas mainījās, un noderīgais jautājums ir kas. Vispirms lasiet žurnāla saturu par atkārtotām kļūdām, jo atkārtojumu cilpa ir gan simptoms, gan apjoma cēlonis. Pēc tam pārbaudiet visu nesen iespējoto, tostarp atkļūdošanas līmeņus, kas ieslēgti incidenta laikā un nekad nav izslēgti.
Turiet dublējumus ārpus tā paša sējuma vai pieņemiet, ka viens pilns disks paņems līdzi arī dublējumu. Kopija, kas ierakstīta resursdatorā, kuru tā aizsargā, nav atjaunošanas plāns, un tās glabāšanai vajadzīga sava atbilde.
Pierakstiet, kas tiek glabāts, kur, cik ilgi un kas to noņem. Šis teikums ir rezultāts, un tā ir vienīgā šī darba daļa, kas pārdzīvo nākamo pārstartēšanu.