Czy kontroler RAID z pamięcią podręczną NV poprawia wydajność lub integralność macierzy SSD?

20

Planuję kupić serwer (Dell PowerEdge R740) z dyskami SSD w macierzy RAID 10, a moim priorytetem jest wydajność zapisu i integralność danych. Będzie działał Linux. Dyski SSD mają pamięci podręczne zapisu z ochroną przed utratą zasilania.

Wygląda na to, że są to moje opcje RAID:

  • PERC H330 (bez pamięci podręcznej), programowa macierz RAID (tranzyt)
  • PERC H330 (bez pamięci podręcznej), sprzętowa macierz RAID (zapis)
  • PERC H730P (pamięć podręczna 2 Gb NV), sprzętowa macierz RAID (zapis)
  • PERC H740P (pamięć podręczna 8 Gb NV), sprzętowa macierz RAID (zapis)

Moje pytania:

  • Czy którakolwiek z tych konfiguracji jest zagrożona utratą lub uszkodzeniem danych w przypadku utraty zasilania?
  • Jakiej konfiguracji powinienem oczekiwać najlepszej wydajności zapisu?
  • Czy są jakieś inne korzyści z pamięci podręcznej NV, których nie wziąłem pod uwagę?

Powiązane pytania:

M. Dudley
źródło
1
Wbrew intuicji konfiguracje sprzętowego kontrolera RAID wspierane przez dyski SSD mogą działać z mniejszą niż oczekiwana maksymalną przepustowością, gdy buforowanie zapisu jest włączone. Ale widzę, że rozważasz już tylko napisanie, więc wydaje się, że jesteś tego świadomy.
the-wabbit

Odpowiedzi:

16

W przypadku użycia z dyskami SSD bez pamięci podręcznej zapisu chronionej przed utratą zasilania NVCACHE kontrolera RAID jest niezwykle ważne dla uzyskania dobrej wydajności.

Ponieważ jednak używasz dysków SSD z buforami zapisu chronionymi przed utratą zasilania, wydajność nie powinna się znacznie różnić między poszczególnymi opcjami. Z drugiej strony należy wziąć pod uwagę inne czynniki:

  • ze sprzętową macierzą RAID często łatwiej jest zidentyfikować i wymienić uszkodzony dysk: kontroler wyraźnie zaznacza uszkodzony dysk (np. pomarańczowym światłem), a jego wymiana jest na ogół tak prosta, jak wyciągnięcie starego dysku / włożenie nowego. W przypadku oprogramowania RAID należy wprowadzić odpowiednie polecenia, aby zidentyfikować i wymienić uszkodzony dysk;
  • sprzętowa RAID przedstawia BIOSowi jeden wolumin do rozruchu, podczas gdy programowa RAID pokazuje różne urządzenia składowe;
  • z odpowiednim kontrolerem (np .: H730 lub H740) i dyskami (SAS 4Kn) możesz bardzo łatwo włączyć rozszerzone pole integralności danych (T10 / T13);
  • sprzętowa macierz RAID uruchamia nieprzezroczysty, binarny obiekt blob, nad którym nie masz kontroli;
  • Oprogramowanie RAID dla systemu Linux jest znacznie bardziej elastyczne niż jakikolwiek sprzętowy RAID, z którego kiedykolwiek korzystałem.

To powiedziawszy, przy takiej konfiguracji zdecydowanie radzę rozważyć użycie ZFS w systemie Linux: pamięci podręczne zapisu chronione przed utratą zasilania oznaczają, że możesz kontynuować bez dedykowanego urządzenia ZIL, a dodatkowe funkcje ZFS (kompresja, suma kontrolna itp.) Mogą być bardzo przydatne .

Aby bezpośrednio odpowiedzieć na twoje pytania:

  1. Czy którakolwiek z tych konfiguracji jest zagrożona utratą lub uszkodzeniem danych w przypadku utraty zasilania? Nie: ponieważ każda pamięć podręczna jest chroniona, nie należy niszczyć żadnych danych dotyczących strat mocy.
  2. Jakiej konfiguracji powinienem oczekiwać najlepszej wydajności zapisu? H740P skonfigurowany w trybie buforowania z zapisem powinien zapewnić absolutnie maksymalną wydajność zapisu. Jednak w niektórych okolicznościach, w zależności od konkretnego obciążenia, zapis może być szybszy. Kontroler DELL (i LSI) ma nawet niektóre specyficzne funkcje SSD (tj .: CTIO i FastPath), które bazują na zapisie i mogą zwiększyć wydajność zapisu losowego.
  3. Czy są jakieś inne korzyści z pamięci podręcznej NV, których nie wziąłem pod uwagę? Tak: kontroler z właściwym NVCACHE nigdy nie pozwoli dwóm elementom RAID1 / 10 mieć różne dane. W niektórych okolicznościach RAID oprogramowania Linux jest podatny na (nieszkodliwe) niedopasowania RAID1 . ZFS nie cierpi z powodu tego problemu.
Shodanshok
źródło
2
ZFS to więcej niż RAID: ma zmienne paski parzystości, więc nie ma gotowej modyfikacji-zapisu ani „dziury zapisu”. Również zamiast pamięci podręcznej strony ma zaawansowane ARC. Jest jedna rzecz, której brakuje: NV RAM ... którą można rozwiązać za pomocą integracji NV DIMM :)
BaronSamedi1958
13

P1: Czy którakolwiek z tych konfiguracji jest zagrożona utratą danych lub uszkodzeniem w przypadku utraty zasilania?

A1: Nie powinieneś mieć żadnych problemów, chyba że skonfigurujesz pamięć podręczną w trybie zapisu wstecznego i bez NV RAM.

Q2: Jakiej konfiguracji powinienem oczekiwać najlepszej wydajności zapisu?

A2: Oczywiście posiadający najwięcej pamięci podręcznej! ... i RAID bez parzystości, ale oczywiście RAID10.

P3: Czy są jakieś inne korzyści z pamięci podręcznej NV, których nie wziąłem pod uwagę?

A3: Pisz coalescing, sfałszowanie itp. Ale to naprawdę niewielkie.

BaronSamedi1958
źródło
Nie byłem pewien, czy pamięć podręczna pomogłaby, ponieważ przeczytałem, że zmiana kolejności zapisu nie ma większego wpływu na dyski SSD i ponieważ dyski SSD mają własne pamięci podręczne zapisu.
M. Dudley,
@ M.Dudley tak, mają pamięci podręczne, ale nie możesz mieć czegoś takiego jak zbyt duża pamięć podręczna . Pamięć podręczna jest dobra, im więcej pamięci podręcznej, tym lepiej.
ThoriumBR
7
@M. Dudley: Kontroler RAID ma gigabajty pamięci podręcznej za względnie szybką i niskopóźnioną magistralą PCIe x4-x8 linii, podczas gdy pamięci podręczne SSD są w megabajtach i są za 6-12 Gb / s łączami SATA / SAS.
BaronSamedi1958
@ BaronSamedi1958 to nie ma tak dużego znaczenia, jak mogłoby się wydawać. „Gigabajty pamięci podręcznej” są rozłożone na cały zdefiniowany wolumin logiczny, więc w podziale na jeden dysk może spaść do zaledwie kilku megabajtów na dysk. Ponadto nawet stary Samsung 850 Pro był wyposażony w 1 GB pamięci podręcznej DRAM, co stanowi około połowę całej pamięci podręcznej H730P. Last but not least: interfejs SAS3 zapewnia 12 GB / s przez pojedyncze łącze, przewyższając linie x8 PCIe 3, do których zwykle podłączane są kontrolery RAID.
the-wabbit
2
@ the-wabbit, podczas gdy ogólnie się z tobą zgadzam, twoje obliczenie przepustowości jest nieprawidłowe: SAS3 ma maksymalną prędkość 12 Gb / s lub 1,5 GB / s na kierunek. PCI-E 8x ma maksymalną przepustowość 128 Gb / s lub 16 GB / s na kierunek. Co więcej, sam kontroler SAS zasadniczo wisi na łączu upstream PCI-E, podobnie jak kontroler RAID.
shodanshok
0

Możesz użyć Bonnie ++ do wykonywania testów na kartach serwerowych / Perc vs. SSD. prędkość HDD 5k / 10 / 16k rpm lub napędy hybrydowe będą zmieniać statystyki i użycie pamięci podręcznej.

kolejny zwolennik ZFS .. Zacząłem używać serwerów SGI w połowie lat 90-tych i ZFS wyeliminował wszystko, co dotyczy UFS / ext2 / 3 .. jego odporność na bomby.

Munkeh72
źródło
0

Oprócz powyższych dobrych odpowiedzi: często zapominanym elementem, ale wymaganym do rozszerzenia integralności dowolnej macierzy RAID, jest czyszczenie danych, czyli patrol medialny lub czytnik patrolowy . Dzięki temu wszystkie dane na wszystkich dyskach są czytelne przez dłuższy czas.

Bez szorowania jest możliwe - a po dłuższym czasie i dużej liczbie sektorów nawet prawdopodobne - sektory danych, które nie były używane przez bardzo długi czas, nie są już czytelne. W normalnym trybie operacyjnym nie stanowi to problemu, ponieważ uszkodzony sektor można odtworzyć za pomocą danych o redundancji. Jeśli jednak dysk ulegnie awarii , utraciłeś już nadmiarowość (z wyjątkiem RAID 6 lub zagnieżdżonych poziomów RAID), a gdy zły sektor pojawia się podczas odbudowy, jesteś martwy w wodzie.

Dlatego zawsze włącz oczyszczanie danych, chyba że lubisz nieprzyjemne niespodzianki.

Zac67
źródło