Obecnie mam partycję Btrfs z czterema urządzeniami: trzema dyskami 3 TB i 4 TB. Dane i metadane to RAID 10, więc mam 6 TB przestrzeni użytkowej, która jest prawie pełna. Spodziewałem się, że obsługa RAID 5 w Btrfs będzie dojrzała do momentu zapełnienia pamięci, ale najwyraźniej nie jest to priorytet.
Moje pytanie brzmi: czy istnieje powód, aby preferować RAID 10 niż RAID 1 ? Wiem, że prawdziwy RAID 1 na moim obecnym sprzęcie powinien dać mi 3 TB przestrzeni użytkowej z 4 kopiami każdego bloku, ale Btrfs najwyraźniej nie zachowuje się w ten sposób. Z Btrfs FAQ :
btrfs najpierw łączy wszystkie urządzenia w pulę pamięci, a następnie kopiuje porcje podczas tworzenia danych pliku. RAID-1 jest obecnie definiowany jako „2 kopie wszystkich danych na różnych urządzeniach”. Różni się to od MD-RAID i dmraid tym, że wykonują dokładnie n kopii dla n urządzeń. W btrfs RAID-1 na trzech urządzeniach 1 TB otrzymujemy 1,5 TB użytecznych danych. Ponieważ każdy blok jest kopiowany tylko na 2 urządzeniach, napisanie danego bloku wymaga zapisania dokładnie 2 urządzeń; czytanie może być wykonane tylko z jednego.
I od Jensa Erata na temat przepełnienia stosu :
Btrfs dystrybuuje dane (i jego kopie RAID 1) blokowo, dzięki czemu bardzo dobrze radzi sobie z dyskami twardymi o różnych rozmiarach. Otrzymasz sumę wszystkich dysków twardych podzieloną przez dwa - i nie musisz zastanawiać się, jak je połączyć w pary o podobnych rozmiarach.
Jeśli więcej niż jeden dysk ulegnie awarii, zawsze istnieje ryzyko utraty danych: RAID 1 nie może poradzić sobie z utratą dwóch dysków jednocześnie. W powyższym przykładzie, jeśli zginą niewłaściwe dwa dyski, zawsze tracisz dane.
Czy to oznacza, że ponowne zrównoważenie z RAID 10 na RAID 1 da mi dodatkowe 500 GB danych (6,5 TB zamiast 6 TB) z powodu napędu 4 TB? Czy jest jakiś powód, dla którego mam trzymać się RAID 10?
scrub
ireplace
wsparcie zostało dodane jako 3,19, ale ludzie wciąż narzekają na brak alertów awarii urządzenia. Mam skonfigurowane crony do cotygodniowych operacji scrub i cotygodniowych / miesięcznych autotestów SMART, więc powinienem być w stanie wychwycić te problemy. Dam temu szansę.dev stats
, która może być kolejnym cronjob .Odpowiedzi:
Tak, dostajesz dodatkowe 500 GB. Zauważ, że określenie dostępnej przestrzeni w btrfs pozostaje nieuchwytne. Ponadto: spójrz na kalkulator zużycia dysku btrfs .
Na twoje drugie pytanie: Możesz stracić trochę wydajności na swojej tablicy. Oczywiście Twoje dane są równie bezpieczne w obu konfiguracjach RAID. Rozważając wydajność, możesz rzucić okiem na następujące testy: kernel.org , phoronix.com .
Czy może próbowałeś już dokonać konwersji na RAID 1? Jeśli tak: jakie są twoje ustalenia?
źródło
btrfs fi sh
że dodatkowa przestrzeń na dysku 4 TB jest wykorzystał, a (2,83 + 1,93 + 1,93 + 1,95) /2~=4.30 zgodnie z oczekiwaniami. Niedawno miałem awarię dysku i pomyślnie przebudowałem bez utraty danych, więc mogę z pierwszej ręki potwierdzić, że redundancja jest nienaruszona.Nie używaj btrfs raid 5 lub 6, implementacja jest pełna błędów, uruchom zfs, jeśli chcesz.
Dzięki raid10 zyskasz prędkość.
Optymalną rzeczą do zrobienia jest utworzenie partycji 3 TB na dysku 4 TB (upewnij się, że wszystkie 3 są dokładnie tego samego rozmiaru), połącz je w RAID10, który będzie miał 6 TB wolnego miejsca. Użyj dodatkowej 1 TB na 4 TB dysku dla / boot (i tak musi to być vat, jeśli chcesz użyć efistub i uniknąć gruba lub innego programu ładującego, który przyspieszy twój rozruch), zamień (możesz użyć całkiem duży, optymalny byłby mały ZRAM Swap (4 GB działa dobrze z ramem 32 GB, 2 GB powinno wystarczyć z 16 GB, jeśli masz mniej niż 16 idk, jeśli warto i prawdopodobnie powinieneś zaktualizować) używane najpierw (ustaw priorytet na najwyższy) przy użyciu zstd i tyle strumieni kompresji, ile masz rdzeni / wątków ...
źródło