r   e   k   l   a   m   a
r   e   k   l   a   m   a

System plików na wagę miliarda: Red Hat widzi w XFS przyszłość Linuksa

Strona główna AktualnościOPROGRAMOWANIE

11 grudnia Red Hat ogłosił dostępność pierwszej bety RHEL-a 7, najważniejszej komercyjnej dystrybucji Linuksa. Spośród wprowadzonych w tym wydaniu zmian jedna wydaje się szczególnie zastanawiająca: system operacyjny, w którym stabilność była stawiana zawsze na pierwszym miejscu, będzie korzystał teraz domyślnie z systemu plików XFS – znanego od niemal dwudziestu lat, lecz do tej pory znajdującego użytkowników raczej nie ze względu na stabilność. Co spowodowało taką decyzję „Czerwonego Kapelusza”, i kto jeszcze porzuci królujący dziś na linuksowych desktopach i serwerach system plików ext4?

XFS nie wywodzi się ze świata Linuksa, jest wynikiem prac deweloperów Silicon Graphics, opracowujących system plików dla działającego na stacjach roboczych tej firmy systemu IRIX. Na licencji GNU wydany został w 2000 roku, siedem lat po swojej premierze, a rok później został przeniesiony na Linuksa, gdzie funkcjonował jako jeden z pomocniczych systemów plików, uznawany za odpowiedni dla partycji przeznaczonych do przechowywania dużej liczby plików, szczególnie multimediów. To efekt jego wydajności przy równoległych operacjach I/O, możliwości ustawienia gwarantowanej przepustowości dla operacji dyskowych, opóźnionej allokacji plików i sprawnej defragmentacji, jak również nieosiągalnych w praktyce limitów rozmiarów plików i wolumenów (maks. 16 eksbibajtów, tj. 264 bajtów).

Czemu w takim razie XFS nie stał się domyślnym systemem plików dla Linuksa? Przede wszystkim nie wydawał się za dobrze zintegrowany z jądrem (używał np. własnych mechanizmów blokowania dostępu), miał też ogromne problemy z operacjami, które wiązały się ze zmianami metadanych plików. Jak mówił podczas konferencji linux.conf.au Dave Chinner, jeden z deweloperów XFS, przy obciążeniach, w których dochodziło do wielu takich zmian, np. rozpakowywaniu archiwów tar, był on od 20-50 razy wolniejszy od standardowego ext4. Do tego dochodziła marna (w porównaniu do ext4) skalowalność i odczuwalna „kruchość” systemu plików, szczególnie na desktopach, gdzie losowa utrata zasilania jest bardziej prawdopodobna niż na chronionych UPS-ami serwerach.

Mimo dominacji ext4, który jest dziś standardowym systemem plików w każdej znanej dystrybucji Linuksa, prace nad XFS nie ustały, i najwyraźniej przyniosły dobre rezultaty. Problem z metadanymi został całkowicie rozwiązany, przede wszystkim poprzez zastąpienie dotychczasowego mechanizmu księgowania mechanizmem zapożyczonym z ext3, w którym aktualizacje kroniki są opóźnione – wprowadzane w metadanych zmiany są łączone, i dopiero finalny wynik zapisywany do bloku. Poradzono sobie też dobrze ze skalowalnością, eliminując blokady znalezione w warstwie wirtualnego systemu plików.

Jednak jeszcze w 2012 roku Jonathan Corbet na łamach LWN.net ostrzegał, że największym wyzwaniem pozostaje niezawodność, a poradzenie sobie z tą kwestią będzie wymagało poważnych zmian w XFS, uwzględniających realia stosowania ogromnych wolumenów. Narzędzia sprawdzające i naprawiające metadane muszą tu działać „na żywo”. Dodanie samych sum kontrolnych tu nie wystarcza, gdyż suma jedynie dowodzi tego, że to co zostało znalezione, jest tym, co było zapisane. Potrzebne są „samoopisujące się” metadane, pozwalające wykryć bloki zapisane w niewłaściwym miejscu, dzięki czemu możliwe jest odtwarzenie popsutego systemu.

Oczywiście prowadzi to do znacznego wzrostu złożoności metadanych, jak i konieczności znalezienia dla nich miejsca, ale przynieść by miało wiele miłych użytkownikom atrakcji: proaktywnego wykrywania uszkodzeń systemu plików, lokalizacji i zastępowania rozłączonych bloków, czy skutecznego naprawiania aktywnego systemu plików. Odczuwalne ma być to przede wszystkim przez tych, którzy plików mają dużo – już nie milion, a miliard – taki bowiem cel stawia sobie Red Hat, poszukując wydajnego sposobu radzenia sobie z dyskami w erze big data. Zresztą, może już nie tak bardzo big, to macierz 10 TB wypełniona plikami o rozmiarach 10 KB, czyli coś, z czym wyobraźnia sobie dziś już radzi.

W każdym razie Red Hat jest przekonane, że XFS gotowe jest na zadania, jakie go czekają. Ron Pacheco, menedżer Red Hata odpowiedzialny za prace nad RHEL 7, stwierdził, że klienci firmy próbują sobie poradzić z prawdziwą eksplozją ilości przechowywanych danych – i ten drastyczny wzrost wymaga skalowalnego, wydajnego systemu plików, którym jest właśnie XFS.

Czy inne dystrybucje (oprócz oczywiście jego klonów: CentOS-a i Scientific Linuksa) pójdą w ślady Red Hata? Trudno powiedzieć. Ext4 wygląda coraz bardziej jak zbiór łatek, btrfs, przy wszystkich swoich zaletach, bywa dość powolny, a ZFS on Linux wciąż ze względów licencyjnych może być w wielu zastosowaniach problematyczny. Na zwykłym desktopie nie jest to kluczową kwestią, ale dla serwerów, szczególnie bazodanowych, jest wręcz odwrotnie – tam wydajność systemu plików to priorytet. Osobom, które mają coś więc wspólnego z administracją Linuksa, przydać się może więc krótki przewodnik po XFS, opublikowany niedawno w serwisie Unix Arena. Przydał się w każdym razie autorowi tego newsa, po tym jak po kilku latach przerwy ponownie po XFS sięgnął, by dać się zaskoczyć wielkiemu postępowi, jaki w tym systemie plików zaszedł.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.