INsec PRAKTIKA · LINUX SERVERIŲ PRIEŽIŪRA

Linux serveryje baigiasi vieta: kodėl neužtenka tiesiog ištrinti senų failų?

Programa nebeįrašo duomenų, kopijavimo užduotis nutrūksta, o administratorius gauna pranešimą „No space left on device“. Pirmas darbas – nustatyti, kas iš tikrųjų išseko ir kurioje failų sistemoje, kad skubus valymas nepadarytų daugiau žalos.

· INsec techninė praktika · Linux / Disko vieta / Stebėsena
VietaTikrinkite konkrečią failų sistemą, ne vien viso serverio diskus.
InodeProblema gali būti failų skaičius, o ne gigabaitai.
ProcesaiIštrintas failas gali likti atidarytas.
PrevencijaStebėkite augimą ir išbandykite perspėjimus.

Pirmiausia – kuri vieta baigėsi?

Įsivaizduokime apskaitos serverį: pagrindiniame duomenų diske dar yra laisvos vietos, bet atskira failų sistema, kurioje programa kuria laikinuosius failus, užsipildė. Bendras serverio diskų talpos skaičius tokioje situacijoje nepadeda. Tai iliustracinis pavyzdys, o ne konkretaus kliento incidentas.

GNU įrankis df pateikia failų sistemos vietos informaciją. Su -i jis rodo „inode“ naudojimą – failų metaduomenims skirtų struktūrų užimtumą. Todėl verta atskirai tikrinti talpą ir „inode“, ypač kai sistemoje kaupiasi labai daug mažų failų. GNU dokumentacija.

Dvi pirminės patikros administratoriui

df -h /var – failų sistemos, kuriai priklauso nurodytas kelias, talpa.

df -i /var – tos failų sistemos „inode“ naudojimas.

Vietoje /var nurodykite probleminės programos duomenų kelią. Šios komandos duomenų netrina. Jų rezultatas yra diagnostikos pradžia, o ne visų galimų talpos problemų paaiškinimas.

Kodėl failą ištrynėme, o vietos nepadaugėjo?

„Linux“ sistemoje failo vardo pašalinimas nebūtinai iškart atlaisvina jo užimamą vietą. Jei pašalinama paskutinė nuoroda į failą, bet procesas jį vis dar laiko atidarytą, failas išlieka, kol uždaromas paskutinis jį nurodantis failo deskriptorius. „Linux“ unlink dokumentacija.

Praktikoje taip gali nutikti su aktyviai rašomu žurnalu. INsec rekomenduoja pirmiausia nustatyti jį laikantį procesą ir paslaugos numatytą žurnalų atvėrimo iš naujo ar rotacijos būdą. Jei reikia paslaugos perkrovimo, įvertinkite poveikį naudotojams. Atsitiktinis proceso nutraukimas nėra patikimas valymo planas.

Žurnalai: nustatykite ribas ir išsaugokite tai, ko reikia

Serveriuose su „systemd“ žurnalo užimamą vietą galima įvertinti komanda journalctl --disk-usage. Dokumentacijoje nurodyta, kad skaičiuojami aktyvūs ir archyvuoti žurnalo failai, o „vacuum“ valymas veikia archyvuotus failus. Todėl tikėtis, kad toks valymas visais atvejais sumažins bendrą dydį iki pasirinktos ribos, būtų netikslu. systemd journalctl dokumentacija.

Prieš valant INsec siūlo atsakyti į du klausimus: kodėl žurnalas taip greitai auga ir kokių įrašų dar reikės tyrimui ar veiklos priežiūrai? Jei paslauga kartoja tą pačią klaidą tūkstančius kartų, vietos atlaisvinimas be priežasties taisymo bus tik laikinas rezultatas. Žurnalų saugojimo trukmę bei apimtį suderinkite su įmonės poreikiais.

Ko nesiūlome trinti aklai?

Didelis failas nebūtinai yra nereikalingas. Duomenų bazės katalogas, jos operacijų žurnalai, atsarginių kopijų grandinės dalys ar programos eilė gali atrodyti kaip greitas būdas atlaisvinti vietą, tačiau jų šalinimas turi vykti pagal konkretaus produkto procedūrą.

INsec praktinė taisyklė: prieš keičiant failą turi būti aišku, kokiai paslaugai jis priklauso, kas patvirtino veiksmą ir kaip būtų atkuriamas darbas, jei sprendimas pasirodytų neteisingas. Duomenų bazės archyvavimą ar kopijų saugojimo keitimą derinkite su tų sistemų atsakingais žmonėmis.

Veiksmų seka, kai paslauga jau sutriko

  1. Užfiksuoti situaciją. Kuri paslauga neveikia, kada prasidėjo problema, kuri failų sistema užsipildė ir kaip greitai auga duomenys.
  2. Nustatyti augimo šaltinį. Peržiūrėti programų žurnalus, suplanuotas užduotis, laikinuosius duomenis ir kopijų kaupimą.
  3. Pasirinkti kontroliuojamą sprendimą. Pagal situaciją stabdyti nereikalingą augimą, taikyti programos valymo procedūrą ar planuoti talpos didinimą.
  4. Patikrinti paslaugą. Įsitikinti, kad vėl galima įrašyti duomenis, atlikti įprastą darbo veiksmą ir paleisti nutrūkusias užduotis pagal jų atkūrimo tvarką.
  5. Užkirsti kelią pasikartojimui. Sutvarkyti saugojimo taisykles, augimo priežastį ir perspėjimus.

Stebėkite ne tik procentą

Siūlome stebėti laisvą vietą, „inode“ būklę ir duomenų augimo greitį. Vienodas užimtumo procentas mažame ir dideliame diske palieka skirtingą rezervą, o sparčiai auganti programa jį gali sunaudoti iki kitos darbo dienos.

Perspėjime turėtų būti serveris, failų sistema, likęs rezervas ir atsakingas žmogus. Išbandykite, ar perspėjimas tikrai pasiekia žmogų, kuris gali imtis veiksmų. Sėkmingas incidento uždarymas – kai paslauga patikrinta, augimas suvaldytas ir sutarta, kas stebės rezultatą.

Ar apie vietos trūkumą sužinote anksčiau nei darbuotojai?

INsec padeda prižiūrėti Linux serverius, peržiūrėti talpos augimą, žurnalų saugojimą, perspėjimus ir atsarginių kopijų tvarką.

Aptarti Linux serverių priežiūrą

Šaltiniai

Parengta 2026-09-21 pagal GNU, Linux ir systemd dokumentaciją. Veiksmų seka bei stebėsenos pasiūlymai – INsec praktinės rekomendacijos.

Susiję straipsniai