ZFS - Czy RAIDZ-1 jest naprawdę taki zły?

18

Mam serwer NAS z 4 dyskami WD RE4-GP o pojemności 2 TB w konfiguracji RAID10 (użyteczne 4 TB). Brakuje mi miejsca (pozostało <1 TB wolnego miejsca). Mam 0 USD na większe / więcej dysków / obudów.

Podoba mi się to, co przeczytałem o cechach integralności danych ZFS, które same w sobie wystarczają, abym mógł przejść z mojego istniejącego oprogramowania (RAID10) XFS. Potem przeczytałem o doskonałej implementacji RAID5 w ZFS, więc pomyślałem, że nawet RAIDZ-1 może uzyskać nawet o 2 TB więcej miejsca na użytek.

Ja jednak zachować czytania więcej i więcej stanowisk mówiąc dość dużo po prostu nie używać raidz-1. Tylko RAIDZ-2 + jest wystarczająco niezawodny, aby poradzić sobie z awariami dysków w „prawdziwym świecie”. Oczywiście w moim przypadku RAIDZ-2 nie ma żadnego sensu. Lepiej byłoby użyć dwóch dublowanych wirtualnych wirtualnych urządzeń w jednej puli (RAID10).

Czy zwariowałem na punkcie użycia RAIDZ-1 dla napędów 4x 2 TB?

Czy powinienem po prostu użyć puli dwóch dublowanych plików vdev (zasadniczo RAID10) i mam nadzieję, że kompresja da mi wystarczająco dużo miejsca?

Tak czy inaczej, planuję używać kompresji. Mam tylko 8 GB pamięci RAM (maksymalnie), więc deduplikacja nie wchodzi w grę.

Będzie to na serwerze FreeNAS (który ma zamiar zastąpić obecny system operacyjny Ubuntu), aby uniknąć problemów ze stabilnością ZFS-on-Linux.

Andrew Ensley
źródło
Nie jestem pewien, jak to jest nie na temat. Proszę o poradę dotyczącą właściwej konfiguracji systemu plików dla serwera.
Andrew Ensley,
Również prędkość zapisu RAIDZ1or2 jest do kitu w porównaniu do RAID10
JamesRyan
2
Jeśli masz wystarczająco dużo procesora do obliczenia parzystości bez spowolnienia, RAIDZ powinien być tak szybki lub szybszy niż RAID10 dla większości zapisów. RAIDZ zapisuje wszystko pełnym paskiem RAID, nie ma cyklu odczytu-modyfikacji-zapisu, jak w przypadku RAID5. Dzięki temu uzyskasz większą przepustowość dysku (więcej danych, mniej narzutów), a zapisy powinny być szybsze niż RAID10. Ma to jednak tę wadę, że czytanie często kończy się wolniej. „Napisz pełny pasek za każdym razem” prowadzi do fragmentacji i nie daje korzyści z czytania tylko podzbioru dysków dla wielu małych odczytów. To była świadoma decyzja projektowa.
Dan Pritts,
To, co powiedziałem powyżej, jest tylko częściowo prawdą. RAID10 będzie znacznie szybszy, jeśli będziesz jednocześnie zapisywał małe zapisy, np. Serwer bazy danych. W RAIDZ wszystkie dyski są aktywne dla wszystkich zapisów; RAID10 dzieli je. Problemem, o którym starałem się przejść, było to, że RAIDZ eliminuje zabijanie wydajności i potencjalnie niebezpieczny cykl odczytu-modyfikacji-zapisu RAID5.
Dan Pritts,
RAIDZ2 jest bardziej niezawodny niż RAID10. Dzięki RAIDZ2 dowolne dwa dyski mogą ulec awarii i nadal będziesz mieć swoje dane. W przypadku RAID10 dwa uszkodzone dyski (w macierzy czterech dysków) mogą powodować utratę danych.
Klaws

Odpowiedzi:

21

Zanim przejdziemy do szczegółów, rozważ swój przypadek użycia. Czy przechowujesz zdjęcia, pliki MP3 i DVD? Jeśli tak, możesz nie dbać o to, czy trwale stracisz pojedynczy blok z tablicy. Z drugiej strony, jeśli są to ważne dane, może to być katastrofa.

Stwierdzenie, że RAIDZ-1 jest „niewystarczające na awarie w prawdziwym świecie”, wynika z tego, że w czasie rekonstrukcji możesz mieć ukryty błąd nośnika na jednym z ocalałych dysków. Ta sama logika dotyczy RAID5.

ZFS do pewnego stopnia ogranicza tę awarię. Jeśli nie można zrekonstruować urządzenia RAID5, nie masz szczęścia; skopiuj (pozostałe) dane i odbuduj od zera. Z drugiej strony, ZFS zrekonstruuje wszystko oprócz złego fragmentu i pozwoli administratorowi „wyczyścić” błędy. Stracisz plik / część pliku, ale nie stracisz całej tablicy. I oczywiście kontrola parzystości ZFS oznacza, że ​​będziesz rzetelnie informowany o błędzie. W przeciwnym razie uważam, że jest możliwe (choć mało prawdopodobne), że wiele błędów spowoduje przebudowę, która najwyraźniej się powiedzie, ale da ci złe dane.

Ponieważ ZFS to „ Rampant Layering Violation ”, wie również, które obszary nie mają danych na ich temat, i może je pominąć podczas przebudowy. Więc jeśli twoja tablica jest w połowie pusta, prawdopodobieństwo, że przebudujesz, będzie w połowie prawdopodobne.

Możesz zmniejszyć prawdopodobieństwo tego rodzaju błędów przebudowy na dowolnym poziomie RAID, wykonując regularne „peelingi zpool” lub „sprawdzanie mdadm” swojej tablicy. Istnieją podobne polecenia / procesy dla innych macierzy RAID; np. karty RAID LSI / dell PERC nazywają to „czytaniem patrolu”. Przeczytają one wszystko, co może pomóc napędom dysków znaleźć uszkodzone sektory i ponownie przypisać je, zanim staną się trwałe. Jeśli są trwałe, system RAID (ZFS / md / karta RAID / cokolwiek) może odbudować dane na podstawie parzystości.

Nawet jeśli używasz RAIDZ2 lub RAID6, regularne szorowanie jest ważne.

Ostatnia uwaga - RAID jakiegokolwiek rodzaju nie zastępuje kopii zapasowych - nie ochroni cię przed przypadkowym usunięciem, oprogramowaniem ransomware itp. Chociaż zwykłe migawki ZFS mogą być częścią strategii tworzenia kopii zapasowych.

Dan Pritts
źródło
Dzięki za wyjaśnienie. To ma sens i pasuje do tego, czego dowiedziałem się o ZFS do tej pory. Naprawdę przeładowałem już mój serwer za pomocą FreeNAS i wybrałem konfigurację RAIDZ-1. Mam ustawiony, aby szorować raz w miesiącu. Czy uważasz, że to często wystarcza, czy poleciłbyś częstsze szorowanie?
Szalejące
1
Mam raidz1 działający na 7 dyskach konsumenckich w różnym wieku. Mam peeling co 2 tygodnie. Często znajduje błąd i koryguje go. Niedawno straciłem dysk i plik, który miał ukryty błąd. Na szczęście był to plik multimedialny, który mogę łatwo zastąpić. Dla moich ważnych danych nadal mam kopie zapasowe.
Dan Pritts,
Zwrócę uwagę - dyski „domowe” mają o 2 rzędy wielkości gorszy, niemożliwy do odzyskania bitowy poziom błędu w porównaniu do klasy „korporacyjnej”. Nadal cieszę się, że współczynnik awarii złożonych na RAID-5 jest akceptowalny na przyzwoitych dyskach FC / SAS. Nie zrobiłbym tego jednak na SATA.
Sobrique
1
Tylko jeden rząd wielkości w porównaniu dwóch napędów Seagate: Seagate ST2000DM001: 1 w 10E14. ST2000NM0033: 1 w 10E15. Naprawdę jednak trudno powiedzieć na pewno, czy mechanizmy napędowe są inne. Słyszałem, że wiarygodne źródła podają przeciwne odpowiedzi.
Dan Pritts,
2
Odkryłem zły kabel SATA w moim systemie - odkąd został wymieniony, moje peelingi znalazły zero błędów.
Dan Pritts,
4

Jest tu trochę nieporozumień. Wiele porad, które widzisz, opiera się na założeniu, które może nie być prawdziwe. W szczególności niemożliwy do odzyskania bitowy wskaźnik błędów dysku.

Tani dysk „użytkownika domowego” ma 1 na 10 ^ 14 nieusuwalny poziom błędu.

http://www.seagate.com/gb/en/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

Jest to na poziomie, na którym mówisz o dużym prawdopodobieństwie nieodwracalnego błędu podczas odbudowy RAID, więc nie powinieneś tego robić. (Szybkie i niepoprawne obliczenia sugerują, że zestaw 5 dysków 2 TB RAID-5 będzie miał około 60% takiej szansy)

Nie dotyczy to jednak droższych dysków: http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

1 na 10 ^ 16 jest 100 razy lepszy - co oznacza, że ​​5 x 2 TB to <1% szansy na nieudaną odbudowę. (Prawdopodobnie mniej, ponieważ do użytku korporacyjnego wrzeciona o pojemności 600 GB są na ogół bardziej przydatne).

Więc osobiście - myślę, że zarówno RAID-5, jak i RAID-4 są nadal niezwykle użyteczne, z wszystkich powodów RAID-0 jest nadal dość powszechny. Nie zapominaj - problem z RAID-6 polega na dużej sile zapisu. Możesz częściowo to złagodzić za pomocą dużej ilości buforowania, ale nadal masz wbudowany pewien ból, szczególnie gdy pracujesz z wolnymi dyskami.

A przede wszystkim - NIGDY NIGDY nie ufaj swojej macierzy RAID, aby zapewnić Ci pełną odporność. Utracisz dane częściej na skutek „awarii” niż awarii dysku, więc POTRZEBUJESZ porządnej strategii tworzenia kopii zapasowych, jeśli i tak zależy Ci na danych.

Sobrique
źródło
Używam 4 dysków WD RE4-GP, w których występują błędy odczytu <1 na 10 ^ 15.
Andrew Ensley,
Kara za zapis RAID6 jest bardzo realna. Jednak RAID-Z2 nie cierpi z tego powodu; zfs sprawia, że ​​wszystkie zapisy są pełne. Ma to jednak inne negatywne skutki - z kilku powodów zmniejsza wydajność odczytu.
Dan Pritts
3

Hmmm, kilka złych informacji tutaj. W przypadku 4 dysków naprawdę nie ma nic złego w XFS. Staram się unikać ZFS RAIDZ ze względu na wydajność i możliwość rozbudowy (niskie odczyty / zapisy, nie można rozwinąć). Użyj lusterek ZFS, jeśli możesz. Jednak z 4 dyskami i brakiem miejsca na system operacyjny, albo stracisz dużo pojemności, albo będziesz musiał przejść przez dziwne partycjonowanie gier, aby dopasować system operacyjny i dane do tych samych czterech dysków.

Prawdopodobnie nie poleciłbym ZFS dla twojego przypadku użycia. Tutaj nie ma nic złego w XFS.

ewwhite
źródło
2
Zapomniałem wspomnieć, że system operacyjny żyje na osobnym dysku. Przepraszam. To, czego chcę od ZFS, którego nie ma XFS RAID10, to weryfikacja sumy kontrolnej, która może wykryć (i transparentnie naprawić) ciche błędy danych (nieco odwrócone na dysku, a HDD nie ma pojęcia). Nie wierzę, że XFS jest w stanie to zrobić.
Andrew Ensley,
W przypadku czterech dysków użyj serwerów lustrzanych ZFS, jeśli istnieje szansa na rozszerzenie lub jeśli wydajność ma znaczenie. Unikałbym również FreeNAS i po prostu używałem prostego ZFS na Linuksie.
ewwhite
1
Sam jestem terminalnym facetem, więc zdecydowanie nie przestawiam się na GUI. Potrzebuję przede wszystkim stabilnego systemu plików, który (o ile to możliwe) gwarantuje integralność przechowywanych na nim plików. I miałem nadzieję, że w ten sposób zyskam trochę miejsca. Widziałem wiele problemów dotyczących ZoL, wiele z nich dotyczy aktualizacji systemu operacyjnego Ubuntu. groups.google.com/a/zfsonlinux.org/forum/#!searchin/zfs-discuss/… Nie próbując być bólem. Wyjaśniam tylko, dlaczego myślę, co myślę. Z pewnością jestem otwarty na korekty.
Andrew Ensley,
1
W porządku. Widziałem znacznie więcej problemów z FreeNAS (nie FreeBSD), więc działa to w obie strony. Tam są informacje. Nie używam Ubuntu, ale ja nie wiem ZFS . Mój ZFS w Linuksie jest zwykle z RHEL lub CentOS. Oto przykładowy przepływ pracy .
ewwhite
1
Używam ZFS na Linuksie i Centos 6. Nie zezwalam na automatyczne aktualizacje jądra lub ZFS. Miałem problemy z borkingiem ZFS / SCL, ale nigdy nie miałem utraty danych. Dla przypomnienia, btw, FreeBSD ma podobny zestaw procedur kompatybilności z solaris, ale one i ZFS są w pełni zintegrowane z dystrybucją, co znacznie ułatwia, aby wszystko działało razem. Gdybym chciał tylko ZFS i usługi plików, prawdopodobnie uruchomiłbym FreeBSD. W rzeczywistości tak właśnie robiłem, ale używam tego pudełka do innych przypadkowych rzeczy, co sprawiło, że ZoL była bardziej atrakcyjna.
Dan Pritts,