Btrfs na szczycie mdadm raid10, czy Btrfs raid10 na gołych urządzeniach?

9

Mam RAID10 zarządzany przez mdadmi mam na nim system plików EXT4. Jednak lubię BTRFS i chciałbym przekonwertować system plików EXT4 na BTRFS, ale myślałem o wydajności i łatwości konserwacji. Na przykład z BTRFS nie widzę łatwo statusu, gdy usuwam / dodam kolejny dysk do tablicy, tak jak mogę to zrobić z mdadm (a może po prostu nie wiem jak - przeszukałem dokumenty BTRFS i nie mogłem tego znaleźć ).

Więc z własnego doświadczenia, jaki jest lepszy wybór:

  1. Aby po prostu przekonwertować system plików EXT4 i pozwolić mdadm zarządzać RAID10?

  2. Aby pozbyć się mdadm i pozwolić BTRFS zrobić wszystko?

DejanLekic
źródło

Odpowiedzi:

11

Niech Btrfs zrobi wszystko.

Po pierwsze, Btrfs ma własny zintegrowany kod dublowania, który może być mądrzejszy od szaleńca.

Oczywiście, jeśli dysk mocno zawiedzie w lustrzanej parze w szalonym rajdzie10, możesz wymienić zły dysk i iść dalej swoim życiem (choć po niepokojąco złożonym zestawie poleceń powłoki). Problem polega na tym, że dysk ulega awarii bardziej łagodnie: jeśli kilka bloków po prostu oddaje nieprawidłowe bity zamiast podawać odpowiednie kody błędów dla uszkodzonego bloku, wtedy podczas odczytu danych losowo otrzymujesz złe dane. Btrfs jest mądrzejszy: sumuje wszystkie bity danych. Szczerze mówiąc, nie wiem, czy bardziej poprawne jest powiedzenie „każdy węzeł BTree” czy „każdy blok”, ale chodzi o to, że gdy czyta niektóre dane z tablicy lustrzanej, sprawdza sumę kontrolną przed zwróceniem jej do twojego proces użytkownika. Jeśli suma kontrolna nie pasuje, najpierw sprawdza inne lustro w tablicy, a jeśli to daje poprawną sumę kontrolną,

Wiki Btrfs wymienia twoje pytanie :

Gdyby Btrfs polegał na mapowaniu urządzeń lub MD do tworzenia kopii lustrzanych, nie byłby w stanie rozwiązać błędów sumy kontrolnej poprzez sprawdzenie kopii lustrzanej . Niższe warstwy nie znają sumy kontrolnej ani ziarnistości bloków systemu plików, więc nie są w stanie zweryfikować zwracanych danych.

Wreszcie, nawet bez tej istotnej przewagi, przepływ pracy w wierszu poleceń do obsługi usuniętych lub dodanych urządzeń Btrfs jest bardzo prosty. Nie jestem nawet pewien, czy mógłbym poprawnie wykonać polecenia powłoki zdegradowanego-zamontować-a następnie naprawić-system plików, ale dla Btrfs jest to bardzo wyraźnie udokumentowane na stronie wielu urządzeń jako:

mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt

W tym momencie, jeśli masz wystarczająco dużo miejsca na pozostałych dyskach, zawsze możesz to btrfs rebalancezrobić i skończyć z tym; nie trzeba wymieniać lustra, tak jak absolutnie musisz zrobić z szaleńcem! A jeśli chcesz go wymienić, możesz zrobić to btrfs device addnajpierw.

Glif
źródło
3

BTRFS jest wciąż w fazie eksperymentalnej i możesz skończyć z „interesującymi” funkcjami, jeśli coś się zawiesi. Jeśli naprawdę chcesz / chcesz uruchomić btrfs, na razie bezpieczniej byłoby uruchomić go na oprogramowaniu, niż po prostu uruchomić go bezpośrednio. Kiedy btrfs dojrzewa i wchodzi do produkcji, może to już nie być prawda.

Waxhead
źródło
Około rok temu eksperymentowałem z konfiguracją btrfs na maszynie wirtualnej. Byłem w stanie konsekwentnie blokować jądro (!), Psując komendę rebalance. Czas mijał i mam nadzieję, że zostało to naprawione.
Avery Payne