Tarkista Linuxin levytila: täydet lohkot vai loppuneet inodet

‘No space left on device’ ei aina tarkoita suurten tiedostojen täyttäneen kaiken tilan. Myös vapaat inodet voivat loppua. Nämä lukukomennot koskevat GNU/Linuxia ja GNU Coreutilsia. Korvaa /var ongelman todellisella olemassa olevalla polulla.

Vaihe vaiheelta

  1. Kirjaa koko virheilmoitus ja polku, johon sovellus yritti kirjoittaa. Tutki polun tiedostojärjestelmää komennolla df -h /var. Tarkista vapaa tila ja liitoskohta; toisen tiedostojärjestelmän tila ei auta tässä.
  2. Suorita df -i /var. Vertaa IFree- ja IUse%-arvoja lohkojen käyttöön. Lukuisat pienet tiedostot voivat kuluttaa inodet loppuun. Kaikki tiedostojärjestelmät eivät esitä kiinteää inode-rajaa samalla tavalla.
  3. Rajaa käyttöä komennolla du -x -h --max-depth=1 /var. Se summaa luettavissa olevat tiedostot ja pysyy samassa tiedostojärjestelmässä. Hakemistoja voi olla paljon ja ajo kestää. Puuttuvat lukuoikeudet tekevät tuloksesta vajaan.
  4. Jos pieniä tiedostoja on paljon, du -x --inodes --max-depth=1 /var auttaa hakemistojen vertailussa. Tutki lisää vain epäiltyä alipuuta. Älä poista umpimähkään loki-, tietokanta- tai konttitiedostoja.
  5. Kirjaa suuret erot df:n ja du:n välillä. Avoimet poistetut tiedostot, tilannekuvat, varattu tila, eri oikeudet tai tiedostojärjestelmän laskentatapa edellyttävät kohdennettua tutkimusta. Älä käynnistä palveluja heti uudelleen tämän vuoksi.

Tarkista tulos

Toista df -h ja df -i samassa polussa erikseen suunnitellun ja toteutetun perustellun siivouksen tai laajennuksen jälkeen. Testaa alkuperäinen sovellus. Jos virhe jatkuu, tarkista myös kiintiöt, vain luku -liitokset ja todellisen ajoympäristön, kuten kontin, tiedostojärjestelmä.

Kumoaminen ja rajoitukset

Diagnostiikkakomennot eivät poista tietoja. Säilytä tulokset vertailuun mutta tarkista luottamukselliset polut ennen jakamista. Poistaminen ei ole automaattisesti peruttavissa: selvitä ensin omistajuus, säilytys ja palautettavuus.

Lähde