Piszki Lab

Analiza przypadku w języku przodków…

ESXi 5.5 – Wyczerpanie inodów na dysku root (There is no space left on device).

| 0 comments

Dzisiaj spotkałem się z zaskakującym komunikatem, pojawił się on w środowisku produkcyjnym w trakcie próby umieszczenia nowej maszyny wirtualnej (w formacie ovf). Komunikat brzmiał tak: Failed to open /var/log/journal for write (There is no space left on device). Zaskoczyło mnie to o tyle, że logi trzymamy na dysku innym niż root.

journal1

Szybkie sprawdzenie zajętości dysków nie pokazało niczego złego:

journal2

Wniosek jest prosty, skończyły się inody, można to sprawdzić bardzo szybko poleceniem „localcli system visorfs ramdisk list”:

journal3

Wyraźnie widać, że dysk root wyczerpał dostępne węzły. Tego typu błędy są ciężkie w diagnostyce, i-węzły mogą zostać zużyte przez duże ilości małych plików lub np. przez plik logu z zerwanym deskryptorem (skasowaliśmy plik do którego pisze system, nam się wydaje że pliku nie ma a on rośnie). Na szczęście udało mi się znaleźć KB które dotyczyło mojego problemu. Ku mojemu nieustającemu zaskoczeniu, w katalogu /var/run/sfcb znalazłem mnóstwo plików:

journal4

Procedura “czyszczenia” jest prosta, stopujemy watchdoga, usuwamy pliki i startujemy watchdoga. Sprawdzamy inody:

journal5

Liczba zajętych węzłów spadła o połowę! Jak się obronić na przyszłość przed tym problemem? Możemy zgodnie z KB skierować zapis tych plików do ramdysku:

esxcli system visorfs ramdisk add –name sfcbtickets –min-size 0 –max-size 1024 –permissions 0755 –target /var/run/sfcb

journal6

Oceń ten artykuł:
[Total: 2 Average: 4.5]

Dodaj komentarz

Required fields are marked *.