Fedora 33 już niedługo
Komitet Sterujący w projekcie Fedora (The Fedora Engineering and Steering Committee) oficjalnie zatwierdził 15 lipca 2020 roku aby Linux Fedora 33 w wersji Desktop domyślnie korzystała z systemu plików Btrfs. Do tej pory domyślnym systemem plików w tym systemie operacyjnym był EXT4.
O poprzedniej wersji Fedory – 32, możesz przeczytać w naszym innym artykule.
Btfrs wygrywa z EXT4
Od mniej więcej dekady Btrfs był proponowany przez niektórych deweloperów jako domyślny system plików dla Fedory w ramach kolejnych wydań tego systemu. Ciągle jednak EXT4 się bronił. Najwyraźniej dopiero teraz nadeszła pora na zmianę. Wraz z wydaniem Fedory 33, które ma się ukazać tej jesieni, btrfs zajmie pozycję zajmowaną do tej pory przez EXT4. Oczywiście, jeśli pojawią się problemy z używaniem Btrfs przez Fedorę, zmianę można nadal cofnąć, ale póki co komitet wyraził wolę aby btrfs było domyślnym systemem plików na stałe. Warto zauważyć, że to ustawienie btrfs w pozycji sugerowanego użytkownikowi systemu plików dotyczy tylko wersji Fedory 33 na terminale końcowe (stacje robocze), na przykład Fedora Workstation.
btrfs wygrał w głosowaniu przeprowadzonym już w ubiegłym tygodniu ale wskutek zamieszania przy samej procedurze głosowania zdecydowano się ponowić procedurę w formie wirtualnej. Podczas głosowania korespondencyjnego btrfs ponownie wygrał (8 głosów za, 0 przeciw, jeden wstrzymujący się).
Zdaniem twórców Fedory desktopowe warianty tej dystrybucji Linuksa wręcz cierpią z braku nowoczesnych funkcji oferowanych przez btrfs i stają się przez to mało konkurencyjne. Deweloperzy Fedory tłumaczą swoją decyzję chęcią dodania nowych funkcjonalności oraz sprawienia aby nieco bardziej zaawansowane operacje na systemie plików (np. radzenie sobie z problemem braku wolnej przestrzeni) wymagały znacznie mniejszego zaangażowania od użytkownika niż do tej pory: Btrfs jest dobrze przystosowany do tej roli dzięki założeniom jak przyświecały jego twórcom podczas projektowania, ustawmy go jako domyślny.
Btrfs oferuje migawki CoW, przejrzystą kompresję systemu plików, optymalizacje pamięci SSD, natywną obsługą RAID i wiele innych nowoczesnych funkcji, które nie są oferowane przez EXT4. Niektóre z innych korzyści tej decyzji dla Fedory to lepsza obsługa małej ilości miejsca na dysku, suma kontrolna Btrfs, właściwa izolacja I/O przez cgroups2, możliwości zmniejszania/powiększania „na żywo” i prostszą konfigurację złożonych macierzy pamięci masowej.
Fedora nie jest jedyna
Tymczasem ostatnio Red Hat kontynuował rozwój pamięci masowej Stratis zbudowanej w oparciu o XFS. Ma ona być pamięcią masową nowej generacji po wycofaniu Btrfs w Red Hat Enterprise Linux. Wcześniejsze wycofanie obsługi Btrfs przez Red Hata stawia ich teraz w nieco niezręcznej sytuacji. Z pewnością interesujące będzie w najbliższych latach to czy Btrfs odniesie sukces w Fedorze i w związku z tym czy Red Hat zmieni swoje podejście do Btrfs w RHEL 9.
To posunięcie stawia też Fedorę obok openSUSE/SUSE jako jedną z niewielu dystrybucji Linuksa, które domyślnie obsługują Btrfs. Większość dystrybucji Linuksa w 2020 roku nadal domyślnie korzysta z EXT4. W zasadzie z wyjątków należy jeszcze wyliczyć, obok wzmiankowanego wyżej Red Hat Stratis + XFS, tylko Ubuntu. Ale uwaga: Ubuntu dopiero zamierza zaoferować domyślnie OpenZFS/ZoL a na razie ich podstawowym systemem plików pozostaje EXT4.
Ciekawą sprawą jest Btrfs we wzmiankowanym RHEL. Przyszłe główne wydania Red Hata mają zostać pozbawione Btrfs jako systemu plików, który jest... przestarzały. Póki co pozostanie w RHEL7, łącznie z 7.4 - ale to już ostatnia planowana aktualizacja dotycząca tego systemu plików.
Deweloperzy Fedory rozważają także wprowadzenie w Fedorze 33 transparentnej kompresji plików.
Prace dopiero trwają
Zatwierdzenie przez Komitet Sterujący Fedory domyślnego używania Btrfs w Fedorze 33 to nie koniec a dopiero początek drogi. Zainicjowano bowiem właśnie szereg prac aby urzeczywistnić to założenie wraz z debiutem Fedory 33 tej jesieni. Chodzi tu m.in. o:
1) update instalatora Anaconda aby proponował on Btrfs domyślnie;
2) różnego rodzaju łaty Btrfs przeznaczone dla jądra Fedory 33;
3) poprawki Libritd, które prawidłowo ustawią nodatacow
w związku z użyciem Btrfs;
4) wbudowanie sterownika systemu plików Btrfs w jądro a nie udostępnianie go jako moduł;
5) Projekt Red Hat Continuous Kernel Integration doda Btrfs do ich regularnych testów;
Więcej szczegółów na temat postępu we wdrażaniu Btrfs na Fedorze można znaleźć w tym wątku na liście dyskusyjnej.