Od prawie 10 lat prowadzę systemy plików XFS jako partycje danych / wzrostu na różnych serwerach Linux.
Zauważyłem dziwne zjawisko na ostatnich serwerach CentOS / RHEL z wersją 6.2+.
Stabilne użycie systemu plików stało się bardzo zmienne po przejściu na nowszą wersję systemu operacyjnego z wersji EL6.0 i EL6.1. Systemy początkowo zainstalowane z EL6.2 + wykazują takie samo zachowanie; pokazujące dzikie wahania w wykorzystaniu dysku na partycjach XFS (patrz niebieska linia na wykresie poniżej).
Przed i po. Aktualizacja z 6.1 do 6.2 nastąpiła w sobotę.
Wykres wykorzystania dysku w tym samym systemie w poprzednim kwartale pokazuje fluktuacje w ciągu ostatniego tygodnia.
Zacząłem sprawdzać systemy plików pod kątem dużych plików i niekontrolowanych procesów (być może plików dziennika?). Odkryłem, że moje największe pliki zgłaszały różne wartości od du
i ls
. Praca du
z --apparent-size
przełącznikiem i bez niego ilustruje różnicę.
# du -skh SOD0005.TXT
29G SOD0005.TXT
# du -skh --apparent-size SOD0005.TXT
21G SOD0005.TXT
Szybkie sprawdzenie za pomocą narzędzia ncdu w całym systemie plików przyniosło:
Total disk usage: 436.8GiB Apparent size: 365.2GiB Items: 863258
System plików jest pełen rzadkich plików , z prawie 70 GB utraconego miejsca w porównaniu z poprzednią wersją systemu operacyjnego / jądra!
Przeglądałem Bugzillę Red Hat i zmieniłem dzienniki, aby zobaczyć, czy były jakieś raporty o tym samym zachowaniu lub nowe ogłoszenia dotyczące XFS.
Nada.
Podczas aktualizacji przeszedłem z wersji jądra 2.6.32-131.17.1.el6 na 2.6.32-220.23.1.el6 ; brak zmiany w mniejszym numerze wersji.
Sprawdziłem fragmentację pliku za pomocą filefrag
narzędzia. Niektóre z największych plików na partycji XFS miały tysiące rozmiarów. Uruchamianie z defragmentacją online przy xfs_fsr -v
wolnym okresie aktywności pomogło tymczasowo zmniejszyć zużycie dysku (patrz środa na pierwszym wykresie powyżej). Jednak użycie gwałtownie wzrosło, gdy tylko wznowiono ciężką aktywność systemu.
Co tu się dzieje?