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?
scrubi replacewsparcie 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 .