Wydanie systemu plików Bcachefs 1.33.0

Kent Overstreet opublikował system plików Bcachefs 1.33.0. Wydanie zawiera dwa pakiety: bcachefs-kernel-dkms, który zawiera moduł jądra zbudowany z wykorzystaniem systemu Dynamic Kernel Module Support (DKMS), oraz bcachefs-tools, który zawiera narzędzie bcachefs działające w przestrzeni użytkownika, implementujące polecenia tworzenia (mkfs), montowania, przywracania i weryfikacji systemu plików. Pakiety są kompilowane dla Debian, Ubuntu, Fedora, openSUSE, NixOS i Arch LinuxModuł DKMS obsługuje pracę z kernelami Linux, począwszy od 6.16.

Nowa wersja dodaje funkcjonalność „reconcile” (rebalance_v2), która jest uważana za największą zmianę w systemie plików w ciągu ostatnich dwóch lat. W przeciwieństwie do poprzednio dostępnego trybu „rebalance”, mechanizm „reconcile” umożliwia rebalansowanie nie tylko danych (na przykład replikowanie wielu kopii na różne dyski), ale także metadanych systemu plików (na przykład w celu migracji metadanych po dodaniu kolejnego dysku do puli). Co więcej, reconcile obejmuje teraz wszystkie opcje wejścia/wyjścia, a nie tylko kopiowanie w tle i kompresję. Reconcile automatycznie uwzględnia również zmiany opcji lub ustawień urządzeń i natychmiast ponownie replikuje zdegradowane dane i metadane.

Reconcile używa oddzielnych indeksów do: operacji o wysokim priorytecie, optymalizacji przetwarzania danych na dyskach oraz danych zaplanowanych do przetwarzania, które są obecnie niedostępne (na przykład z powodu braku miejsca). Dodano obsługę tworzenia systemu plików na pojedynczym dysku w trybie podwójnej replikacji (replicas=2). W tej konfiguracji dodanie drugiego dysku spowoduje automatyczną replikację danych na dodany dysk, bez konieczności interakcji użytkownika.

Wśród innych zmian:

  • Dodano polecenia „reconcile status” i „reconcile wait”. Dodano opcje montowania „mount_trusts_udev” i „writeback_timeout”. Polecenia „data rereplicate” i „data job drop_extra_replicas” zostały wycofane.
  • Dodano tryb odzyskiwania „merge_btree_nodes”, który sprawdza wszystkie węzły w strukturach btree podlegających operacjom scalania.
  • Kod został przygotowany do przejścia na język Rust. Liczba operacji goto użytych w kodzie została zmniejszona z 2500 do 600. Otwarte wektory zostały zastąpione makrem DARRAY(), które zapewnia funkcjonalność podobną do tablic dynamicznych w C++ i Rust. Obsługa błędów odbywa się za pomocą makra try(), zapożyczonego z Rust.
  • Polecenie „bcachefs fs usage” teraz prawidłowo raportuje obniżoną jakość danych.
  • Przeprojektowano obsługę liczników wyświetlanych przez polecenie „bcachefs fs top”. Uproszczono dodawanie nowych liczników i wprowadzono możliwość konwersji punktów śledzenia na bufory wydruku.
  • Poprawiono jakość komunikatów o błędach. Zawierają one teraz informacje o typach awarii (oprogramowania lub sprzętu), działaniach mających na celu rozwiązanie błędu (np. uruchomienie procesu odzyskiwania), kodach błędów wejścia/wyjścia otrzymanych z urządzeń blokowych oraz brakujących urządzeniach. Podczas skanowania struktur btree wyświetlana jest teraz informacja o możliwości odzyskania problematycznych węzłów.
  • Podczas zapisu do dziennika dodano możliwość oddzielnego definiowania limitów intensywności wyjściowej dla różnych typów błędów. Limity te zapobiegają utracie komunikatów o pojedynczych problemach sprzętowych wśród dużej liczby komunikatów o błędach oprogramowania.
  • Dodano wskaźniki postępu dla wszystkich etapów odzyskiwania.

Projekt Bcachefs opracowuje system plików, którego celem jest połączenie zaawansowanej funkcjonalności Btrfs i ZFS z wydajnością, niezawodnością i skalowalnością XFS. Bcachefs obsługuje takie funkcje, jak obsługa wielu urządzeń na partycję, wielowarstwowe układy dysków (dolna warstwa z często używanymi danymi opartymi na szybkich dyskach SSD, a górna warstwa z rzadziej używanymi danymi z dysków twardych), replikacja (RAID 1/10), buforowanie, transparentna kompresja danych (tryby LZ4, gzip i ZSTD), wycinki stanu (migawki), weryfikacja integralności za pomocą sum kontrolnych, możliwość przechowywania kodów korekcji błędów Reeda-Solomona (RAID 5/6) oraz szyfrowane przechowywanie danych (z wykorzystaniem ChaCha20 i Poly1305). Pod względem wydajności Bcachefs przewyższa Btrfs i inne systemy plików oparte na mechanizmie kopiowania przy zapisie (Copy-on-Write) i charakteryzuje się szybkością działania zbliżoną do Ext4 i XFS.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster