Czy RAID-Z na pojedynczym dysku twardym jest głupi?

18

Oczywiście, jeśli cały dysk zginie, wówczas RAID-Z na jednym dysku nie pomoże. Ale co z innymi rodzajami błędów?

Z mojego doświadczenia wynika, że ​​czasami mam plik, którego nie mogę odczytać. W systemie Mac OS X system zawiesi się na pewien czas, a następnie wróci z błędem. Przesuwam plik gdzieś na bok i zakładam, że plik ma zły sektor lub zły blok, a może nawet całą złą ścieżkę.

Sięgam do dni dyskietek, w których ręczne zarządzanie awariami dysku było zwykłym działaniem. Oczywiście wymieniłeś wadliwą dyskietkę tak szybko, jak to możliwe, ale czasami nie mogłeś tego zrobić natychmiast, więc praktyką było znalezienie złego obszaru, przydzielenie go do pliku, a następnie nigdy go nie usuwać.

Pierwsze pytanie dotyczy awarii dysków twardych? Czy moje powyższe założenia są prawidłowe? Czy to prawda, że ​​zły blok się psuje, ale cały dysk jest nadal w większości użyteczny? W takim przypadku wygląda na to, że RAID-Z może naprawić zły blok lub zły obszar dysku przy użyciu parzystości innych bloków (obszarów).

Przypadek użycia służy do tworzenia kopii zapasowych. Jeśli raz w tygodniu wypycham dane na dysk o pojemności 8 TB, czy warto byłoby rozważyć dysk o pojemności 7 TB z danymi plus 1 TB parzystości w nadziei, że dodatkowa parzystość pomoże mi odzyskać dane po gniciu bitów, uszkodzonych sektorach lub inne zlokalizowane awarie dysków?

Jeśli teoria nie ma wad technicznych, to czy można skonfigurować ZFS, aby to robiła?

Edycja: widziałem drugie pytanie, zanim opublikowałem to pytanie. Podział na osobne partycje, w których każda partycja jest zgrupowana, jest jedną z opcji. Ale w koncepcji może być możliwe, aby mapa blokowa dla N partycji była ze sobą spleciona, tak że jeden pasek, podczas gdy logicznie byłoby na N partycjach, fizycznie byłby bardzo blisko siebie. To było sedno mojego pytania „czy ZFS można tak skonfigurować?” tzn. tylko ZFS ... nie ZFS z oszustwami partycji.

pedz
źródło
7
Jeśli chcesz nadmiarowości na jednym dysku, rozważ utworzenie archiwów par2 . Z ZFS, ty mógł ustawić copies=2, ale musisz ponieść karę 50% pamięci przez robić. Ponadto nie jestem ekspertem od ZFS, ale moja intuicja (która może być błędna) mówi mi, że ZFS nie byłby zadowolony z proponowanego rozwiązania. PAR2 to dojrzała, elastyczna technologia. Korzystanie z niego nie tylko spełni twoje wymagania dotyczące parzystości, ale także pozwoli ci ustawić ilość parzystości na podstawie archiwum, jeśli jest to pożądane.
EEAA
7
Możliwy duplikat wad pojedynczego dysku podzielonego na partycje i partycje połączone w raidz1 ZFS w porównaniu do pojedynczego dysku ZFS z duplikacją danych? - Przynajmniej odpowiedź zawiera wszystko, co powinieneś wiedzieć.
Esa Jokinen
Utwory na dyskach twardych nazywane są cylindrami (ponieważ może istnieć więcej niż jeden talerz).
LawrenceC
1
Kiedy dyski ulegają awarii, proces ten zwykle przyspiesza - tempo awarii sektorów rośnie, aż do momentu, gdy cały dysk stanie się bezużyteczny. Jeśli dysk zaczyna się zepsuć, a RAID-Z po cichu rekompensuje ci, możesz mieć pomyślnie zapisaną kopię zapasową, ale kiedy przejdziesz do jej odzyskania, jest to już ponad użytecznością. Wolę, aby moje urządzenie zapasowe uległo głośnej awarii podczas tworzenia kopii zapasowej, gdy tylko zacznie się psuć, więc mogę je wymienić i nadal ufać, że to, co zostało pomyślnie napisane, jest pewnie czytelne.
Anthony X
@EEAA - brzmi jak to, czego użyję. Dziękuję Ci. I dziękuję wszystkim, którzy skomentowali.
pedz

Odpowiedzi:

23

Ponieważ parzystość RAID-Z działa na podstawie bloku parzystości na innym urządzeniu w puli, musisz podzielić urządzenie na partycje o równej wielkości N + 1, N + 2 lub N + 3, gdzie N partycje zawierają dane i 1/2 zawierają bity parzystości.

Oprócz tych partycji utworzysz Zpool z wybranym RAID-Z, a następnie utworzysz system plików na Zpool.

Teoretycznie to działa. W praktyce spowodowałoby to obniżenie wydajności systemu plików, ponieważ kolejne bloki w plikach byłyby zlokalizowane w różnych urządzeniach ZPool, które znajdują się na różnych partycjach. Po odczytaniu bloku dysk twardy musi przejść do innego obszaru talerzy dysku twardego, odczytać następny blok itp.

Odpowiedź brzmi: tak, byłoby głupio.

Tero Kilkanen
źródło
2
Co z robieniem tego na dysku SSD?
JFL
7
@JFL: NAND flash, który jest używany w dyskach SSD, ma dokładnie problem, który to rozwiązanie próbuje rozwiązać, a mianowicie umiera pojedyncze bloki. W przypadku NAND jest to tak duży problem, że wszystkie kontrolery SSD jawnie nim zarządzają. W rezultacie najczęstszą widoczną usterką dysków SSD jest całkowita utrata całego urządzenia, prawdopodobnie po tym, że urządzenie nie działa tylko do odczytu. Żadnemu problemowi nie przydaje się rozwiązanie.
MSalters
6
Ponadto dyski SSD zmieniają kolejność bloków. Jedną z zastosowanych optymalizacji wyrównywania zużycia jest grupowe zapisywanie razem. Kolejne zapisy na różnych partycjach skończyłyby w tym samym bloku kasowania, więc w przypadku awarii bloku kasowania utracisz dokładnie korzyść z wielokrotnego przechowywania tych samych danych.
liori