Wêr’t de skiifgroei fan in VPN-tsjinner weikomt en hoe’t dy te beheinen is
Loggroei, in werneamd inode en in ûnbeheind journal lykje allegear ien folle skiif. Mjitsje it tempo, behein de skriuwer en kontrolearje de beheining nei in werstart.
De tunnel hâldt op mei ferbiningen oannimmen, de tsjinst start twa kear op ’e nij, en dêrnei ferskynt der neat yn har log. Dy stilte is de oanwizing, want de log hat de skiif fol makke en de daemon hat gjin plak om de flater te skriuwen dêr’t jo op wachtsje. Eltse langrinnende tsjinst kin yn dy tastân komme, en in map mei de namme logs fuortsmite helpt dat selden. De duorsume oplossing is witte hokker opslach groeid is, wa’t it behear fan syn bewarring hat en oft de skriuwer de romte echt loslitten hat.
Fyn de opslach dy’t groeid is, en it tempo wêryn’t er groeid is
Begjin mei twa sifers dy’t maklik fergetten wurde: frije blokken en frije inodes. In bestânsysteem kin in soad romte melde en dochs in skriuwwedstriid wegerje, om’t der gjin inodes mear oer binne, en dat bart as in tsjinst ien bestân per sesje makket. Freegje beide lêzingen op itselde volume, want de antwurden kinne deselde middei noch ferskille. Doch it wylst de host sûn is, sadat de sifers normale wurking beskriuwe en net in steuring.
df -h /var
df -i /varWys dêrnei de groei ta oan in eigner. De eigen ferbrûkssifer fan it journal beslacht allinnich it journal, en it sil nea in daemon sjen dy’t nei in paad út syn konfiguraasjebestân skriuwt.
journalctl --disk-usageGroei oer de tiid seit mear as hokker inkelde lêzing dan ek. In oanlitten debug-nivo, in werhelje-lus dy’t elke poging logt, of in opnamebestân dat nimmen stoppe hat: elk dêrfan kin op ien momint gewoan lykje en in oere letter alarmerend. Nim ien lêzing, wachtsje in drokke perioade ôf, nim in oare en diel troch it ynterval. In tempo dat jo neame kinne, makket kapasiteit in beslút ynstee fan in brân.
Wat rotaasje mei in iepen bestân docht
In logbestân is in namme dy’t nei in inode wiist, en de romte komt pas werom as it lêste iepen handtak sluten wurdt. Wernamme it bestân en de skriuwer bliuwt deselde inode folje; smyt it fuort en de skriuwer bliuwt in inode folje sûnder hokker namme dan ek. Dy tastân is de reden dat „ik haw it bestân fuortsmiten en de skiif bleau fol“ bestânbeskriuwers beskriuwt en gjin stikken bestânsysteem. De skriuwer werstarte, of in rotaasjemodus kieze dy’t it bestân wer iepenet, is wat de blokken echt weromjout.
lsof +L1 | headIt belied heart by it ûnderdiel dat it bestân skriuwt. It journal twingt syn eigen opslachbeheiningen ôf út syn konfiguraasjebestân, wylst in bestânsbasearre tsjinst meast fertrout op logrotate, itsij mei in oanmeitsregel en in weriepeningssinjaal, itsij mei in modus foar op it plak ôfkappen as de skriuwer net wer iepenje kin. Befêstigje it beslút earst sûnder wat te feroarjen:
logrotate -d /etc/logrotate.confWêr’t de beheining heart en hoe grut dy wêze moat
Set de beheining dêr’t de skriuwer konfigurearre is, net by it muntaazjepunt. In kwota op it hiele volume beskermet de host, mar seit neat oer hokker tsjinst it earst bejout, en in globaal oprommingsskript hat de oanstriid om it bewiis fuort te smiten dat it folgjende foarfal nedich hat. In journalbeheining, in rotaasjeoantal mei in maksimale grutte en bewarring op applikaasjenivo beheine elk ien produsint. Tegearre beheine se it totaal; op harsels is elk in gissing.
Mjitsje dy beheining út de bewarring dy’t jo ferdigenje kinne, net út ’e frije romte. As in resinsje in wike ferbiningspogingen nedich hat, moat it journal in wike hâlde by it drokste ferwachte tempo, en dat tempo is it sifer dat earder mjitten is.
Debug-logs is in tydlike modus mei in fêstleine begjintiid, gjin opslachplan. Hâld de privacyfraach yn itselde beslút, want ferbiningslogs drage adressen en identifikaasjes. Langere bewarring is ek in kar foar gegevensferwurking, en dy moat nommen wurde troch immen dy’t beide beheiningen ken.
Kontrolearje de beheining nei in werstart
In feroaring yn bewarring dy’t oant de folgjende werstart duorret, is gjin feroaring. Werstart de skriuwer, befêstigje dat de nije beheining jildt en kontrolearje dat rotaasje dêrnei noch rint. Foar it journal beantwurdzje ien werstart en ien ferbrûkslêzing beide fragen:
systemctl restart systemd-journald
journalctl --disk-usageRun foar in bestânsbasearre tsjinst de rotaasjetaak ien kear by de hân en befêstigje dat it bestân ferfongen en de beskriuwer wer iepene is. In skriuwer dy’t it âlde handtak hâldt, slagget foar in oerflakkige kontrôle en falt de folgjende kear troch as it volume fol rekket. Hâld de frije romte yn ’e gaten by de test, want in bestân dat kromp wylst de romte net weromkaam, betsjut dat de âlde inode noch fêstholden wurdt.
Fergelykje de folgjende lêzing mei dizze
Kom in wike letter werom en fergelykje it groeitempo mei it fêstleine. In oerienkommend tempo betsjut dat de beheining hâldt en de lading stabyl is; in ferdûbele tempo betsjut dat der wat feroare is, en de nije fraach is wat. Lês earst de ynhâld fan de log foar werhelle flaters, want in werhelje-lus is likegoed in symptoom as in oarsaak fan omfang. Kontrolearje dêrnei wat nij ynskeakele is, ynklusyf debug-nivo’s dy’t by in foarfal oanset binne en nea útset.
Hâld reservekopys bûten itselde volume, of akseptearje dat ien folle skiif de kopy meinimt. In kopy skreaun op de host dy’t er beskermet is gjin werstelplan, en de bewarring derfan freget syn eigen antwurd.
Skriuw op wat bewarre wurdt, wêr, hoe lang en wa’t it fuorthellet. Dy sin is it resultaat, en it is it iennichste part fan dit wurk dat de folgjende werstart oerlibbet.