Wydanie systemu plików Bcachefs 1.33.0

Kent Overstreet opublikował wydanie systemu plików Bcachefs 1.33.0. Wydanie obejmuje dwa pakiety: bcachefs-kernel-dkms z modułem jądra kompilowanym przy użyciu systemu DKMS (Dynamic Kernel Module Support) oraz bcachefs-tools z narzędziem bcachefs uruchamianym w przestrzeni użytkownika, które implementuje komendy do tworzenia (mkfs), montowania, przywracania i sprawdzania systemu plików. Pakiety zostały skompilowane dla Debian, Ubuntu, Fedora, openSUSE, NixOS i Arch Linux. Moduł DKMS wspiera jądra Linux zaczynając od wersji 6.16.

W nowej wersji dodano funkcjonalność „reconcile” (rebalance_v2), określaną jako największa zmiana w systemie plików w ciągu ostatnich dwóch lat. W przeciwieństwie do wcześniej dostępnego trybu „rebalance”, mechanizm „reconcile” pozwala na wykonanie rebalance'owania nie tylko danych (na przykład replikując kilka kopii na różne nośniki), ale również metadanych w systemie plików (na przykład w celu przeniesienia metadanych po dodaniu dodatkowego nośnika do puli). Ponadto, reconcile jest teraz stosowany dla wszystkich opcji wejścia/wyjścia, a nie tylko dla operacji tworzonych w tle oraz kompresji. W reconcile automatycznie uwzględniane są również zmiany opcji lub ustawień urządzeń, a od razu replikowane są zdegradowane dane oraz metadane.

W reconcile wykorzystywane są oddzielne indeksy dla: operacji o wysokim priorytecie; optymalizacji przetwarzania danych na nośnikach dyskowych; danych zaplanowanych do przetwarzania, które w tej chwili nie mogą być zrealizowane (na przykład z powodu braku miejsca). Dodano wsparcie dla tworzenia systemu plików na jednym nośniku w trybie z podwójną replikacją (replicas=2) — w tej konfiguracji dodanie drugiego nośnika spowoduje automatyczną replikację danych na dodany dysk, bez konieczności podejmowania jakichkolwiek działań przez użytkownika.

Wśród innych zmian:

  • Dodano komendy „reconcile status” oraz „reconcile wait”. Dodano opcje montowania „mount_trusts_udev” oraz „writeback_timeout”. Do przestarzałych przeniesiono komendy „data rereplicate”, „data job drop_extra_replicas”.
  • Dodano tryb przywracania „merge_btree_nodes”, który wykonuje kontrolę wszystkich węzłów w strukturach btree, podlegających operacjom scalania.
  • Przygotowano kod do przejścia na język Rust. Liczba używanych w kodzie operacji goto zmniejszona z 2500 do 600. Zamiast otwartych wektorów zastosowano makro DARRAY(), które oferuje funkcjonalność podobną do dynamicznych tablic C++ i Rust. Do obsługi błędów wykorzystano makro try(), zaadaptowane z Rust.
  • W zespole »bcachefs fs usage« zapewniono poprawne informowanie o zdegradowanych danych.
  • Przepracowano obsługę liczników wyświetlanych w poleceniu »bcachefs fs top«. Uproszczono dodawanie nowych liczników oraz wdrożono możliwość przekształcania punktów śledzenia (tracepoint) w buforach wyjściowych (printbufs).
  • Podniesiono jakość komunikatów o błędach, które teraz zawierają informacje o rodzajach awarii (programowe lub sprzętowe), działaniach mających na celu usunięcie błędu (np. uruchomienie procesu przywracania), otrzymanych od urządzeń blokowych kodach błędów wejścia/wyjścia oraz brakujących urządzeniach. Podczas skanowania struktur btree zapewniono wyświetlanie informacji o możliwości przywracania problematycznych węzłów.
  • Dodano możliwość rozdzielnego definiowania limitów intensywności wyjścia różnych typów błędów podczas zapisu do logu. Takie limity zapobiegają utracie komunikatów o pojedynczych problemach sprzętowych na tle dużej liczby komunikatów o błędach programowych.
  • Dodano wskaźniki postępu dla wszystkich etapów przywracania.

Projekt Bcachefs rozwija system plików, który łączy zaawansowane funkcje typowe dla Btrfs i ZFS z poziomem wydajności, niezawodności i skalowalności charakterystycznym dla XFS. Bcachefs wspiera takie możliwości jak dołączenie wielu urządzeń do jednej partycji, wielowarstwowe układy pamięci (dolna warstwa z często używanymi danymi na szybkich SSD, a górna warstwa z mniej wymaganymi danymi z dysków twardych), replikacja (RAID 1/10), buforowanie, przezroczysta kompresja danych (tryby LZ4, gzip i ZSTD), migawki, weryfikacja integralności na podstawie sum kontrolnych, możliwość przechowywania kodów korekcji błędów Reed-Solomon (RAID 5/6), oraz przechowywanie informacji w zaszyfrowanej postaci (używane są ChaCha20 i Poly1305). Pod względem wydajności Bcachefs przewyższa Btrfs i inne systemy plików oparte na mechanizmie Copy-on-Write, osiągając prędkość pracy zbliżoną do Ext4 i XFS.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster