Dodano obsługę FreeBSD do ZFS w systemie Linux

Do bazy kodu ”ZFS w systemie Linux”, opracowany w ramach projektu OpenZFS jako referencyjna implementacja ZFS, przyjęty zmiany dodawane wsparcie System operacyjny FreeBSD. Kod dodany do ZFS w systemie Linux został przetestowany w gałęziach FreeBSD 11 i 12. Tym samym programiści FreeBSD nie muszą już utrzymywać własnego zsynchronizowanego rozwidlenia ZFS w systemie Linux, a rozwój wszystkich zmian związanych z FreeBSD będzie przeprowadzany w główny projekt. Ponadto wydajność głównej gałęzi „ZFS on Linux” we FreeBSD będzie testowana w systemie ciągłej integracji podczas procesu rozwoju.

Przypomnijmy, że w grudniu 2018 roku wpadli na pomysł programiści FreeBSD inicjatywa przejście na wdrożenie ZFS z projektu”ZFS w systemie Linux„(ZoL), wokół którego w ostatnim czasie skupiła się cała działalność związana z rozwojem ZFS. Jako powód migracji podano stagnację bazy kodu ZFS z projektu Illumos (fork OpenSolaris), która wcześniej była podstawą migracji zmian związanych z ZFS do FreeBSD. Do niedawna główny wkład w obsługę bazy kodów ZFS w Illumos miał Delphix, który rozwija system operacyjny DelphixOS (widelec Illumos). Dwa lata temu Delphix podjął decyzję o przejściu na „ZFS on Linux”, co spowodowało stagnację ZFS od projektu Illumos i skoncentrowanie całej działalności rozwojowej w projekcie „ZFS on Linux”, który obecnie jest uważany za główne wdrożenie OpenZFS.

Twórcy FreeBSD zdecydowali się pójść za ogólnym przykładem i nie próbować trzymać się Illumosa, ponieważ ta implementacja jest już daleko w tyle pod względem funkcjonalności i wymaga dużych zasobów do utrzymania kodu i migracji zmian. „ZFS on Linux” jest obecnie postrzegany jako główny, pojedynczy, wspólny projekt rozwoju ZFS. Wśród funkcji dostępnych w „ZFS on Linux” dla FreeBSD, ale nie w implementacji ZFS firmy Illumos: tryb wielu hostów (MMP, Multi Modifier Protection), rozszerzony system kwot, szyfrowanie zbiorów danych, oddzielny wybór klas alokacji bloków (klas alokacji), wykorzystanie instrukcji procesora wektorowego w celu przyspieszenia implementacji RAIDZ i obliczeń sum kontrolnych, ulepszone oprzyrządowanie linii poleceń, naprawia wiele błędów związanych z warunkami wyścigu i bloking.

Źródło: opennet.ru

Dodaj komentarz