Kontroller Linux-diskplass: fulle blokker eller oppbrukte inoder

‘No space left on device’ betyr ikke alltid at store filer fyller alt. Tilgjengelige inoder kan også være oppbrukt. Disse lesekommandoene gjelder GNU/Linux med GNU Coreutils. Erstatt /var med den berørte eksisterende banen.

Trinn for trinn

  1. Noter hele feilen og banen der programmet ville skrive. Bruk df -h /var til å undersøke banens filsystem. Se på ledig plass og monteringspunkt; plass på et annet filsystem hjelper ikke her.
  2. Kjør df -i /var. Sammenlign IFree og IUse% med blokkforbruket. Mange små filer kan bruke opp inodene. Ikke alle filsystemer viser en fast inodegrense på samme måte.
  3. Avgrens forbruket med du -x -h --max-depth=1 /var. Kommandoen summerer tilgjengelige filer og blir på samme filsystem. Den kan lese mange mapper og ta tid. Manglende leserettigheter gjør oversikten ufullstendig.
  4. Ved mange små filer kan du -x --inodes --max-depth=1 /var hjelpe med å sammenligne mapper. Undersøk bare det mistenkte undertreet videre. Ikke fjern logg-, database- eller containerfiler vilkårlig.
  5. Dokumenter store forskjeller mellom df og du. Åpne slettede filer, øyeblikksbilder, reservert plass, ulike rettigheter eller særskilt opptelling trenger målrettet undersøkelse. Ikke start tjenester på nytt med en gang.

Kontroller resultatet

Gjenta df -h og df -i på samme bane etter en begrunnet opprydding eller utvidelse som er planlagt og utført separat. Test deretter originalprogrammet. Ved fortsatt feil undersøkes også kvoter, skrivebeskyttet montering og filsystemet i det faktiske miljøet, for eksempel en container.

Tilbakestilling og begrensninger

Diagnosekommandoene sletter ingen data. Behold resultatene, men gjennomgå fortrolige banenavn før deling. Sletting er ikke automatisk reversibel: avklar først eier, oppbevaring og gjenopprettbarhet.

Kilde