BcacheFS – system plików dla dysków SSD

Kent Overstreet – były programista Google, stworzył system plików, który w założeniach ma być wydajny i niezawodny jak ext4 i xfs oraz funkcjonalny jak btrfs i zfs. Jak wiadomo szeroko stosowane dyski SATA są pojemne i tanie, ale niezbyt szybkie, z kolei szybkie dyski SSD relatywnie drogie w stosunku do ich pojemności. Wskazane by było aby połączyć w sposób transparentny korzyści obu technologii w jedno sensowne rozwiązanie. 

Do tego ma właśnie służyć Bcachefs, który jest  swego rodzaju pamięcią podręczną działającą na poziomie jądra Linuksa. W skrócie pozwala na to by jeden lub więcej szybkich dysków np. typu SSD, działały jako bufor dla wolniejszych dysków – na przykład typu SATA. 

 

Prace nad rozwojem bcache trwały kilka lat i rozpoczęły się w zasadziej jeszcze za czasów kiedy Kent Overstreet pracował dla Google (2011-2013). Wówczas wspólnie z innymi programistami pracował nad oprogramowaniem keszującym, co utworzyło solidne podstawy dla w pełni funkcjonalnego systemu plików. 

 

Bcachefs działa analogicznie jak L2Arc dla ZFS, jednak z tą różnicą, że pozwala również na buforowanie zapisu zwrotnego. Zaprojektowany jest tak aby można go było włączyć przy minimum wysiłku i powinien działać bardzo dobrze, bez specjalnych ustawień dla każdej konfiguracji. Domyślnie Bcache nie buforuje sekwencyjnie operacji IO, tylko odczytuje i zapisuje losowo dane na dysku SSD. Ma to być odpowiednie rozwiązanie zarówno dla desktopów, serwerów, macierzy dyskowych czy też urządzeń przenośnych.

Jak zapewnia Overstreet, Bcachefs posiada wszystkie funkcje nowoczesnych systemów plików, włączając w to sprawdzanie sum kontrolnych, kompresję danych w celu zaoszczędzenia miejsca czy też keszowanie dla szybszego dostępu plików. W przyszłości mają być dodane również bardziej zaawansowane funkcje, takie jak migawki (snapshots), pozwalające na automatyczne tworzenie kopii danych przez system operacyjny.

 

Projekt jest jeszcze w fazie alpha, więc nie należy traktować Bcachefs jako systemu plików dla rozwiązań produkcyjnych – chociaż autor określa działanie jako stabilne i zapewnia, że wszystkie krytyczne sprawy zostały rozwiązane. Bcache ma również pewne ograniczenia: po pierwsze system plików zajmuje około 20% pojemności na przeprowadzanie swoich działań, oraz czasem zamontowanie i udostępnienie go dla systemu operacyjnego trwa dłużej niż w przypadku innych systemów plików. Obydwie te wady powinny zostać usunięte w toku prac.

 

Kent Overstreet pracuje nad Bcachefs w ramach swojego wolnego czasu, bez zewnętrznego finansowania. Dlatego też poszukuje administratorów i programistów chętnych do testów oraz do udziału przy rozwoju tego projektu.

Poprzedni post

Plasma 5.4 – nowe wydanie pulpitu KDE

Następny post

Scientific Linux 6.7

Powiązane posty