Konfiguracja RAID dla dużego NAS

13

Zastanawiam się nad zbudowaniem 24-dyskowego dysku NAS o pojemności 1 TB, ale nie jestem pewien, jaka jest najlepsza konfiguracja napędu. Patrzę na użycie kontrolera ARC-1280ML-2G areca i zawieszenie na nim wszystkich 24 dysków.

Chciałbym, aby wszystko było zamontowane jako jeden wolumin, ze względu na rodzaj danych, które przechowujemy na nim. Jednym szalonym pomysłem, jaki mieliśmy, było skonfigurowanie 6 4-dyskowych woluminów RAID 5, a następnie wykonanie oprogramowania RAID 5 na tych 6 woluminach. Oznaczałoby to, że każdy wolumin mógłby na nas umrzeć, a my nadal nie stracilibyśmy danych.

Powinienem zauważyć, że jest to projekt badawczo-rozwojowy, mamy nadchodzącą aplikację, w której będziemy potrzebować dziesiątek terabajtów pamięci, aby być szybkim i wysoce dostępnym. Ale w początkowej fazie badań i rozwoju możemy zaakceptować pewne ryzyko.

Jakie jest najlepsze rozwiązanie dla tego typu konfiguracji? W przypadku 24 dysków o pojemności 1 TB prawdopodobnie więcej niż jeden ulegnie awarii w tym samym czasie (lub w ciągu czasu potrzebnego do odbudowania woluminu po pierwszej awarii), więc mam problem ze znalezieniem dobrego rozwiązania.

kevin42
źródło

Odpowiedzi:

10

Istnieje już poziom RAID dla tego, czego chcesz; nazywa się RAID 10.

Współczynnik MTBF dla napędów profesjonalnych i konsumenckich wzrósł w ostatnich latach o rząd wielkości, a niemożliwy do naprawienia poziom błędu pozostał względnie stały. Szybkość ta jest szacowana na 10 ^ 14 bitów, więc jeden bit na 12 terabajtów odczytanych, dla napędów SATA, źródło .

Zatem przy każdym skanowaniu przebiegów dysku 24 TB statystycznie napotkasz co najmniej 2 błędy pojedynczego bitu. Każdy z tych błędów spowoduje przebudowę RAID5, a co gorsza, podczas przebudowy drugi błąd spowoduje podwójny błąd.

Dave Cheney
źródło
Doskonałe punkty na nieusuwalnym poziomie błędu, ale w akapicie trzecim należy dodać, że „statystycznie napotkasz ...”, ponieważ wszyscy wiemy, że błędy odczytu (lub ich brak) nie są pewne
Matt Simmons
Czy nie spróbuje przeczytać ponownie przed przebudową?
Antoine Benkemoun
Antoine: Jasne, ale jeśli naprawdę nie można go odczytać, trzeba będzie go odbudować, aby uzyskać dane z parzystości, IIRC.
Matt Simmons,
@Antonie, są to nieusuwalne błędy odczytu, czyli błędy, których nie można naprawić logiką ECC napędów (która koryguje błędy w tempie znacznie wyższym niż 1: 10 ^ 14)
Dave Cheney
Czy to są błędy spowodowane błędami zapisu? co sprawia, że ​​drugie czytanie się nie udaje?
Antoine Benkemoun
11

To jest dokładnie moja codzienna praca ... budowanie serwerów pamięci masowej Linux.

  • Karta Areca jest OK. Możesz go używać w RAID-6, zapewni to rozsądne bezpieczeństwo. Kup także opcjonalny moduł zasilania bateryjnego .
  • Używaj dysków klasy korporacyjnej , a nie dysków stacjonarnych. Wydasz 400 dodatkowych dolarów na swój serwer, ale warto. Kup dwa zapasowe dyski. Nie zadzieraj z tym, użyj dysków tego samego modelu.
  • W przypadku systemu plików użyj XFS . Nie żartowanie, ext3 i przyjaciele po prostu nie będą w stanie obsłużyć systemów plików 16 TB +. Nawet w przypadku poważnej awarii, xfs_repair będzie dość szybki na wolumenie 20 TB (15 minut, nie więcej).
  • Najlepiej użyj LVM2 , ułatwi to zarządzanie pamięcią masową, nawet jeśli nie planujesz jej zbytnio modyfikować.
  • zainstaluj narzędzie do zarządzania areca i napisz zadanie cron, aby wysłać ci codzienną wiadomość e-mail z kontrolą stanu.
  • Nie zapomnij o utworzeniu kopii zapasowej . RAID nie jest kopią zapasową; jeśli ktoś po prostu usunie ważny plik, nie będzie można odzyskać bez odpowiedniej kopii zapasowej. Osobiście używam rdiff-backup do zapisywania wszystkich ważnych danych na dedykowanym serwerze z historią jednego miesiąca; możesz również utworzyć dwa woluminy RAID na serwerze plików i wykonać kopię zapasową jednego na drugim.
wazoox
źródło
6

wow, RAID5 ponad RAID5? Chcesz omówić problemy z wydajnością? Będziesz miał mnóstwo . Host, z którego wieszasz, będzie miał kocięta obliczające parzystość, zapisujące tę parzystość na 3 dyskach, a następnie obliczające parzystość TEGO parzystości i zapisujące je na czwartym dysku tego zestawu. ŁAŁ!

Porozmawiajmy o RAID10. Zasadniczo jest to RAID 1, ale dzielisz dyski na pół i odzwierciedlasz to. Jest odporny na uszkodzenia, ponieważ możesz stracić 2 dyski i nadal być w porządku, a wydajność jest znakomita.

Jeśli nie potrzebujesz niesamowitej ilości miejsca, ale masz do dyspozycji macierz o pojemności 24 TB i nie ma nic lepszego do roboty, ale absolutnie pozytywnie musi być, możesz rozważyć użycie RAID60. Zasadniczo jest to RAID6 przy użyciu lustrzanych zestawów dysków. Utracisz około połowy swoich dysków, a wydajność będzie niska, ale będziesz mieć prawie gwarancję, że dane tam będą.

Naprawdę wybrałbym RAID10. Działa dobrze i działa dobrze. Popieram opinię Evana, że ​​prawdopodobnie nie powinieneś tworzyć gigantycznych zestawów RAID z tylu dysków, ponieważ, jak mówi, rzeczy takie jak fsck i chkdsk potrwają wiecznie, a co ważniejsze, moim zdaniem, ponieważ statystyczne prawdopodobieństwo błędu odczytu rośnie w miarę zwiększania się rozmiaru pojedynczego dysku. Polecam 7-10 dysków na zestaw. Można utworzyć 3 bardzo przyzwoite woluminy RAID z taką liczbą wrzecion.

Niezależnie od tego, co wybierzesz, pamiętaj o pozostawieniu kilku dysków w gorących częściach zapasowych, abyś mógł natychmiast rozpocząć odbudowę, zamiast czekać, aż tablica zacznie je zastępować. Gdy tylko umiera dysk, zegar zaczyna tykać, aby uruchomić kolejny.

Matt Simmons
źródło
@Matt: Nie mówię o wielkości zestawów RAID - mówię o wielkości systemu plików. Użycie jednego tak dużego systemu plików, niezależnie od typu systemu plików, wymaga ogromnego przestoju, gdy trzeba uruchomić sprawdzanie systemu plików, ponieważ system hosta „uszkodził” system plików itp.
Evan Anderson
@Evan - Przepraszam, mój zły. Ale to także kolejny argument przeciwko temu.
Matt Simmons,
@Matt: Argument przeciwko czemu? Układ kontenerów RAID i liczba systemów plików na tych kontenerach RAID są kwestiami ortagonalnymi. Nie musisz mieć jednego systemu plików w jednym kontenerze RAID, a system plików może obejmować wiele kontenerów RAID w większości systemów operacyjnych.
Evan Anderson
Masz rację w obu przypadkach. Zgadzamy się Nie powinieneś tworzyć bardzo dużych systemów plików, ponieważ czas sprawdzania jest zły. Nie powinieneś również robić bardzo dużych woluminów rajdowych, ponieważ zwiększa się statystyczne prawdopodobieństwo błędu odczytu.
Matt Simmons,
2

Dlaczego nie RAID 1 + 0? Wszystko odbywa się na poziomie kontrolera ...

Matt Rogish
źródło
1

Wiem, że powiedziałeś „R&D”, ale powiedziałeś również „bardzo dostępny”. W tym celu zakwestionowałbym „oszczędności” rozwiązania dla majsterkowiczów w porównaniu z zakupem gotowego sprzętu SAN. Kiedy coś pójdzie nie tak z twoim rozwiązaniem dla majsterkowiczów, będziesz w niemożliwej do pozazdroszczenia sytuacji, gdy nie będziesz miał kontaktu z kimś, kto mógłby uzyskać pomoc. Ile kosztuje przestój za godzinę? Koszt sprzętu SAN średniego poziomu można dość szybko zużyć w kosztach przestoju, ignorując koszty związane z niewłaściwą utratą danych.

Niezależnie od tego, co zrobisz z dyskiem bazowym, nie stworzyłbym tak dużego systemu plików.

Uszkodzenie systemu plików to realna możliwość (problem z kontrolerem RAID, błędy systemu operacyjnego itp.). W tak dużym woluminie sprawdzenie systemu plików potrwa wieczność. Zdecydowanie polecam używanie wielu woluminów, które można logicznie łączyć, aby pojawiały się jako pojedynczy system plików (na różne sposoby - nie wspominałeś o systemie operacyjnym, więc nie mogę ci podać konkretnych pomysłów). Jeśli masz jakieś uszkodzenie systemu plików, stracisz część woluminu logicznego, ale nadal będziesz „działał”.

Jako przykład: W świecie Windows działa CHKDSK na woluminie NTFS 20TB wypełnionej plików będzie SLOW . W takim środowisku utworzyłbym wiele mniejszych woluminów NTFS i logicznie połączyłbym je w jedną przestrzeń nazw z DFS.

Evan Anderson
źródło
1

wazoox, odpowiedzi są dobre Nie mam przedstawiciela, który dałby mu więcej punktów plus, ale dodałbym następujące.

RAID 6 lub co najmniej 2 dyski parzystości na żywo na 10 dysków, co najwyżej 16, to znaczy, jeśli możesz poświęcić dzień, w którym na wydajność będzie miała wpływ twoja odbudowa nalotu. Jeśli nie możesz żyć z degradacją, będzie to musiało być odbiciem lustrzanym.

Jeśli wybierasz się na linię Linux, użyłbym sprzętowej karty RAID (z podtrzymaniem bateryjnym) lub miałbym kontroler RAID w obudowie dysku. Zgadzam się, że xfs jest systemem plików z wyboru w Linuksie, jednak pamiętaj, że systemy plików o wielkości około 50 TB na Xfach zajmują więcej niż 16 GB pamięci RAM, jeśli chcesz uruchomić xfs_check.

Poważnie zastanowiłbym się nad dobrym urządzeniem NAS, takim jak NetApp, ponieważ są one znacznie mniej pracowite w długim okresie, zależy to od tego, ile czasu twój / administratorzy magazynów jest wart dla firmy.

Sprawienie, by nfs / samba działała dobrze, to trochę mroczna sztuka. Czy zamierzasz używać 10 GB eteru, czy tylko agregacji 1 GB / s? (Nie otrzymuj kart Broadcomm, zwłaszcza 10 GB).

LVM2 nie wymaga myślenia, ale nie używaj migawek, ponieważ nie jest szybki.

Pamiętaj, że tworzenie kopii zapasowych tego zajmie trochę czasu.

Przetestuj, w jaki sposób system może zawieść, zanim przejdzie do produkcji, i wypisz go, gdzie ty i twoi koledzy możecie znaleźć dokumenty, gdy wszystko pójdzie nie tak.

James
źródło
1

To zależy od twojego współczynnika odczytu / zapisu. Używamy wielu zewnętrznych 25-dyskowych obudów SAS HP MSA70 i zawsze tworzymy je jako pojedynczą macierz RAID6, ponieważ nasz współczynnik odczytu do zapisu wynosi 99%: 1%, więc nie obchodzi nas, że R6 jest najwolniejszy przy zapisie ( wciąż dość szybkie, po prostu nie tak dobre w porównaniu do innych). W ten sposób mamy do dyspozycji 23 dyski danych, mamy bardzo dobre, ponieważ BARDZO dobre, losowe korzyści i ogólne korzyści z przepustowości odczytu i mogą przetrwać dwie awarie dysków.

W przybliżeniu macierz RAID5 nie powinna mieć więcej niż około 14 dysków w jednej macierzy, podczas gdy RAID6 powinien być w porządku z maksymalnie około 54 dyskami - oczywiście im większa tablica, tym większa przepaść między wydajnością odczytu i zapisu a wolniejsze przebudowy potrwają, ale może to być dobry kompromis.

Siekacz 3
źródło
0

Na początek dodałbym dwa dyski rezerwowe.

RAID 5 lub 6 jest OK dla losowych odczytów lub dużych sekwencyjnych odczytów i zapisów. Jeśli masz zamiar uzyskać wiele małych zapisów, skorzystaj z RAID 10, ponieważ RAID 5+ przyjmuje 4-krotne trafienie przy małych zapisach.

Jeśli zamierzasz włączyć pamięć podręczną zapisu, pamiętaj, aby wykonać kopię zapasową za pomocą baterii.

Hans Malherbe
źródło