Aktualizowanie rozmiaru wolnego miejsca na dysku bez ponownego uruchamiania hosta


23

Używam RHEL4 z LVM2. Czasami nawet po usunięciu dużych plików większych niż GB rozmiar partycji nie jest aktualizowany podczas używania dfpolecenia.

-bash-3.00$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/sys-root  3.9G  1.4G  2.3G  39% /
/dev/cciss/c0d0p1     251M   19M  219M   8% /boot
/dev/mapper/sys-home  250G  125G  113G  53% /home
/dev/mapper/sys-tmp   3.9G   41M  3.7G   2% /tmp
/dev/mapper/sys-var   3.9G  3.6G   98M  98% /var

Ale kiedy sprawdzam za pomocą du, pokazuje odpowiedni rozmiar

-bash-3.00$ sudo du -sh /var/
 179M   /var/

widać tam, że wyjście df pokazuje, że użyto partycji / var, która ma być 3.6Gb, ale du pokazuje, że ma tylko 179Mb.

Problem polega na tym, że ani synchronizacja, ani sonda częściowa nie aktualizuje informacji. Ale na pewno ponowne uruchomienie hosta rozwiąże problem. Ale ponieważ jest to serwer produkcyjny, nie mogę go ponownie uruchomić. Czy jest jakiś sposób na ręczne zaktualizowanie informacji o dysku bez ponownego uruchamiania hosta?


1
Prawdopodobnie masz otwarte usunięte pliki (tj. Procesy, które trzymają usunięte pliki). Spróbuj czegoś takiego lsof. Używany / dostępny nie jest przechowywany w tablicy partycji, partprobe (lub jakikolwiek inny typ partycji ponownie) nie pomoże.
Mat.

Odpowiedzi:


28

Kiedy plik jest usuwany / usuwany / rozłączany, jeśli jest nadal utrzymywany przez dowolny proces, usuwana jest tylko pozycja katalogu dla pliku, a nie dane pliku. Gdy plik zostanie całkowicie zamknięty przez wszystkie procesy, dane są zwracane do puli wolnego miejsca. Jest to funkcja, ponieważ w ten sposób możesz mieć anonimowe pliki.

Aby sprawdzić, czy masz otwarty plik usunięty w systemie plików, uruchom jedno z poniższych poleceń, gdzie /mount/pointjest punkt montowania ( /varw twoim przypadku):

lsof +L1 /mount/point

Ten artykuł na temat otwartych niepołączonych plików powinien pomóc w dalszym wyjaśnieniu tego.


2
Usuwałem dzienniki, ale dfnie pokazywałem wolnego miejsca, dopóki nie zrestartowałem procesów serwera. Dzięki!
fet

Lepiej zadzwoń do lsof z 'lsof + L1', który pokazuje usunięte pliki. Dodał (a) propozycję edycji
Nuno Pereira

Jak je zamknąć?
faressoft
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.