Dostępny system plików Reiser5

Dostępny Do testów system plików Reiser5 z obsługą woluminów logicznych na komputerze lokalnym. Główną innowacją jest skalowanie równoległe (skalowanie w górę), które odbywa się nie na poziomie bloku, ale przy użyciu systemu plików.

Jako zaletę tego podejścia stwierdza się brak wad nieodłącznie związanych z kombinacjami FS+RAID/LVM i nierównoległymi systemami plików (ZFS, Btrfs), takich jak problem z wolną przestrzenią, spadek wydajności po zapełnieniu wolumenu ponad 70%, przestarzałe algorytmy porządkowania woluminów logicznych (RAID/LVM), które nie pozwalają na efektywną dystrybucję danych w wolumenie logicznym. W równoległym systemie plików przed dodaniem urządzenia do woluminu logicznego należy je sformatować przy użyciu standardowego narzędzia mkfs.

Reiser5 używa wolnego alokatora bloków O(1). Maksymalny koszt dowolnej operacji bezpłatnego wyszukiwania bloków nie zależy od rozmiaru woluminu logicznego. Możliwe jest proste i efektywne złożenie woluminu logicznego z urządzeń blokowych o różnych rozmiarach i przepustowościach. Dystrybucja danych pomiędzy takimi urządzeniami odbywa się przy wykorzystaniu nowych algorytmów (tzw. „fiber striping”) zaproponowanych przez rosyjskiego matematyka i programistę Eduarda Shishkina.

Część żądań I/O kierowana do każdego urządzenia jest równa jego względnej pojemności przypisanej przez użytkownika, tak aby wolumen logiczny był zapełniony danymi „równomiernie” i „w miarę”. Jednocześnie urządzenia blokowe o mniejszej pojemności otrzymują mniej bloków do przechowywania, a urządzenia o mniejszej przepustowości nie stają się „wąskim gardłem” (jak to ma miejsce np. w macierzach RAID).

Dodaniu urządzenia do wolumenu i usunięciu urządzenia z wolumenu towarzyszy ponowne zrównoważenie, które pozwala zachować „uczciwość” dystrybucji. W tym przypadku część migrowanych danych jest również równa względnej pojemności dodawanego (usuwanego) urządzenia. Szybkość migracji niefragmentowanych danych jest zbliżona do szybkości zapisu na dysk. Istnieje możliwość jednoczesnej obsługi wszystkich urządzeń blokowych wchodzących w skład wolumenu logicznego, stosując indywidualne podejście do każdego z nich (defragmentacja dysków twardych, wystawianie żądań odrzucenia dysków SSD itp.). Wolne miejsce na woluminie logicznym jest monitorowane przy użyciu standardowego narzędzia df(1). Ponadto użytkownik ma możliwość monitorowania wolnego miejsca na każdym urządzeniu składowym woluminu logicznego.

Wszystkie operacje na woluminach logicznych (dodawanie, usuwanie urządzeń itp.) są atomowe i realizowane są przy użyciu standardowych narzędzi do pracy z transakcjami w Reiser4. Prawidłowe „rozkładanie” woluminu po tak przerwanej operacji reguluje instrukcja. W tej chwili Reiser5 nie posiada jeszcze narzędzi do zarządzania woluminami off-line (zamontowanymi), dlatego też użytkownicy mogą na razie samodzielnie przechowywać i aktualizować konfiguracje swoich woluminów logicznych. Konfigurację tę można łatwo przygotować dla zamontowanego woluminu za pomocą narzędzia woluminów logicznych zawartego w pakiecie reiser4progs.

Z planowanych:

  • Dystrybucja metadanych w kilku podwoluminach;
  • Sprawdzanie/odzyskiwanie woluminów logicznych za pomocą narzędzia fsck (poprzez aktualizację jego starej wersji);
  • Niestandardowa kontrola nad dystrybucją i przejrzysta migracja danych, co ma ogromne znaczenie w zastosowaniach HPC (Bufory Burst);
  • Sumy kontrolne danych i metadanych;
  • Migawki 3D woluminów logicznych z możliwością cofnięcia nie tylko zwykłych operacji na plikach, ale także operacji na woluminach (takich jak dodawanie i usuwanie urządzeń);
  • Woluminy globalne (sieciowe), które agregują urządzenia na różnych komputerach.

Źródło: opennet.ru

Dodaj komentarz