Sprawdzanie miejsca w Linuksie: pełne bloki czy wyczerpane i-węzły

‘No space left on device’ nie zawsze oznacza, że duże pliki zajęły całą pojemność. Mogą skończyć się także dostępne i-węzły. Te polecenia odczytu dotyczą GNU/Linux z GNU Coreutils. Zastąp /var rzeczywistą istniejącą ścieżką problemu.

Krok po kroku

  1. Zapisz pełny błąd i ścieżkę, w której aplikacja próbowała pisać. Użyj df -h /var do zbadania jej systemu plików. Sprawdź wolne miejsce i punkt montowania; wolne miejsce w innym systemie plików tu nie pomaga.
  2. Uruchom df -i /var. Porównaj IFree i IUse% z użyciem bloków. Wiele małych plików może wyczerpać i-węzły. Nie każdy system plików pokazuje stały limit i-węzłów tak samo.
  3. Zawęź użycie poleceniem du -x -h --max-depth=1 /var. Sumuje dostępne pliki i pozostaje w tym systemie plików. Może odczytywać wiele katalogów i działać długo. Brak uprawnień odczytu daje niepełny wynik.
  4. Przy wielu małych plikach du -x --inodes --max-depth=1 /var pomaga porównać katalogi. Badaj dalej tylko podejrzane poddrzewo. Nie usuwaj masowo logów, baz danych ani plików kontenerów.
  5. Zapisz duże rozbieżności między df i du. Usunięte, lecz otwarte pliki, migawki, rezerwa miejsca, różne uprawnienia lub specyficzne liczenie wymagają dalszej analizy. Nie restartuj od razu usług z tego powodu.

Sprawdzenie wyniku

Powtórz df -h i df -i w tej samej ścieżce po uzasadnionym sprzątaniu lub rozszerzeniu, zaplanowanym i wykonanym osobno. Sprawdź pierwotną aplikację. Jeśli błąd trwa, zbadaj limity, montowanie tylko do odczytu i system plików rzeczywistego środowiska, np. kontenera.

Cofnięcie i ograniczenia

Polecenia diagnostyczne nie usuwają danych. Zachowaj wyniki do porównania, ale sprawdź poufne ścieżki przed udostępnieniem. Usunięcie nie jest automatycznie odwracalne: najpierw ustal właściciela, retencję i możliwość odzyskania.

Źródło