Intel Matrix Storage Manager vs Linux Software RAID

28

Chipset, którego używam, obsługuje technologię Intel RSTe. Oznacza to, że mam dwie opcje konfiguracji RAID:

  • Zwykłe oprogramowanie linux RAID, za pomocą mdadmpolecenia.
  • RSTe (przez BIOS lub ponownie za pomocą mdadmpolecenia z -e imsmprzełącznikiem).

Biorąc pod uwagę, że mdadmmożna tego użyć w obu przypadkach, nie rozumiem różnicy między nimi.

  • Co daje mi RSTe w porównaniu ze zwykłą macierzą RAID dla oprogramowania Linux?
  • W trybie RSTe, rzeczywista ścieżka we / wy RAID (tj. Dublowanie i usuwanie) jest obsługiwana przez system Linux mdlub BIOS.
  • W szczególności, kiedy używam „macierzy RAID” (tj. RAID obejmuje określone partycje, a nie całe dyski), czy muszę ręcznie instalować GRUB na obu MBR-ach?
Leonid99
źródło

Odpowiedzi:

46

Przegląd

Dostępne są trzy popularne typy macierzy RAID:

  • Software RAID: Oznacza to, że BIOS i inne systemy operacyjne uważają, że tak naprawdę masz dwa oddzielne dyski, ale czysto na poziomie oprogramowania, system operacyjny używa specyficznego dla systemu operacyjnego formatu RAID (dublowanie, paski, bity parzystości itp.) . Wszystkie przetwarzanie odbywa się przez procesor bez wsparcia sprzętowego.

  • BIOS RAID: Znany również jako „Fake RAID” lub „Host RAID”, oznacza to, że oprogramowanie wbudowane płyty głównej (a dokładniej kontroler SATA / SAS) ma wyraźną obsługę rozpoznawania urządzeń RAID. Na poziomie urządzenia logicznego ( lun) wiele dysków twardych pojawi się w systemie operacyjnym jako pojedynczy dysk. Zasadniczo jest to kontroler SATA / SAS, który mówi: „Naprawdę mam tylko jeden dysk twardy. Właściwie to dwa, ale cóż, to tylko jeden, zaufaj mi”. Innymi słowy, system operacyjny może to stwierdzićże jest to konfiguracja RAID, ale system operacyjny * nie jest odpowiedzialny za format dysku parzystości / pasowania / etc / RAID na dysku. Jednak nawet w tym trybie CPU wykonuje wszystkie obliczenia dla bitów parzystości i pasowania. Płyta główna, BIOS i kontroler SATA mają logikę wystarczającą do fizycznego „połączenia” urządzeń i zdefiniowania formatu RAID na dysku. Ale brakuje im dedykowanego procesora do wykonywania obliczeń i zależą od oprogramowania w systemie operacyjnym, aby nakazać procesorowi wykonanie ich, dlatego nadal musisz informować Linuksa o systemie BIOS RAID. (Intel Matrix / RST jest rodzajem BIOS RAID).

  • Hardware RAID: Tutaj masz dedykowany układ, którego jedynym celem jest przetwarzanie danych wymaganych dla RAID. Układ może być dość mocny; niektóre sprzętowe kontrolery RAID mają w rzeczywistości dwurdzeniowy, podobny do procesora układ scalony, chociaż jest on specjalnie zoptymalizowany do pracy z wbudowanym systemem operacyjnym, który jest BARDZO szybki w wykonywaniu obliczeń RAID, takich jak bity parzystości dla RAID-5 lub rozkładanie dla RAID -0. Dyski twarde są fizycznie podłączone do karty RAID, która zapewnia kontroler SATA / SAS, zwykle pamięć podręczną do odczytu i zapisu w pamięci DRAM lub Flash, kolejkowanie poleceń natywnych oraz wbudowany procesor centralny, który wykonuje więcej obliczeń matematycznych. Te układy sprzętowe pracują od 150 USD na poziomie początkowym do wielu tysięcy w przypadku przemysłowych macierzy RAID w centrach danych.

Zgodność

Zasadniczo każdy typ macierzy RAID jest „związany” z pewnym konkretnym aspektem, który gdy ten aspekt się zmienia, napotyka się na problemy ze zgodnością.

  • Oprogramowanie RAID jest powiązane z systemem operacyjnym, który zdefiniował format RAID. Czasami między dwiema różnymi wersjami tego samego systemu operacyjnego format RAID zostanie uszkodzony, co doprowadzi do niezgodności. Chociaż koncepcyjnie możliwe jest, aby dowolny programowy format RAID był obsługiwany przez jakikolwiek inny system operacyjny, ponieważ jest to po prostu oprogramowanie , w praktyce większość systemów operacyjnych prezentuje niekompatybilne formaty RAID, które tylko ten system operacyjny może rozpoznać. Jednak najbardziej znaną kompatybilnością są formaty RAID natywnie używane przez jądro Linuksa ( mdjak omawiasz w OP), które mogą również rozpoznawać programowe RAID systemu Windows, zwane dyskami dynamicznymi.

  • BIOS RAID jest powiązany z płytą główną, którą posiadasz. Możliwe może być przeniesienie dysków sformatowanych w określonym formacie BIOS RAID na inną płytę główną z podobnym rozwiązaniem BIOS RAID; na przykład Intel RST do innego systemu z RST. Ale musisz dokładnie to zbadać, zanim wykonasz ruch, aby upewnić się, że będzie kompatybilny, jeśli zależy ci na zgodności.

  • Sprzętowa macierz RAID jest powiązana z tym konkretnym kontrolerem sprzętowym lub serią kontrolerów sprzętowych, które zostały wyraźnie określone przez producenta jako zgodne. Niektórzy dostawcy utrzymują bardzo spójny format dysku RAID, który jest obsługiwany przez wiele generacji kontrolerów; inni częściej zmieniają format. Ponownie będziesz musiał to zbadać indywidualnie dla każdego przypadku.

Wydajność

Wydajność zależy w dużej mierze od tego , jak skonfigurujesz podstawowe parametry macierzy RAID, a mniej od konkretnego rozwiązania. Ogólnie rzecz biorąc, sprzętowe kontrolery RAID mają najwyższy „pułap” dla maksymalnej wydajności; nie obciążają również twojego procesora prawie tak samo jak inne rozwiązania. Ale jeśli wybierzesz niewłaściwy typ RAID dla obciążenia, niewłaściwy rozmiar paska lub niewłaściwe podejście buforowania, sprzętowy kontroler RAID może być również bardzo wolny, wolniejszy niż jeden z dysków działających w trybie innym niż RAID. To samo dotyczy innych rozwiązań, które mogą być również bardzo wolne.

  • Oprogramowanie RAID jest najbardziej odpowiednie do konfiguracji RAID-1, ponieważ dublowanie jest prostą kopią tych samych danych na dwa dyski i nie ma bitów parzystości do obliczenia. RAID-5 w oprogramowaniu RAID jest okropny.

  • Wydajność BIOS RAID jest ogólnie porównywalna z Software RAID, ale wiadomo, że niektóre kontrolery i formaty dysków BIOS RAID są wadliwe lub słabo wydajne. Ogólnie rzecz biorąc, jeśli musisz wybrać pomiędzy Software RAID a BIOS RAID, ten pierwszy jest nieco bardziej obiecujący pod względem wydajności, szczególnie jeśli korzystasz z najnowszej dystrybucji Linuksa.

  • Sprzętowa wydajność RAID może być niesamowicie szybka ze względu na zoptymalizowaną moc obliczeniową procesora kontrolera RAID, który, jak powiedziałem, został zaprojektowany z myślą o dużej przepustowości i może faktycznie być układem wielordzeniowym - więc jest to trochę poważny problem. Główną wadą jest to, że tracisz elastyczność - nie możesz po prostu włożyć dysków do innego komputera bez sprzętowego kontrolera RAID - i koszty. Sprzętowa macierz RAID jest najlepszym poziomem do używania RAID-5 lub RAID-6, szczególnie jeśli masz dużo dysków (4 lub więcej).

Ogólny

Chociaż system BIOS RAID jest obsługiwany przez system Linux, nie mogę go zalecić.

Teraz, aby bezpośrednio odpowiedzieć na twoje pytania, po udzieleniu ci długiej odpowiedzi:

Co daje mi RSTe w porównaniu ze zwykłą macierzą RAID dla oprogramowania Linux?

Zobacz powyższe porównania oprogramowania RAID i BIOS RAID. „RSTe” jest instancją BIOS RAID; Linux mdRAID bez -e imsmjest instancją oprogramowania RAID.

W trybie RSTe, rzeczywista ścieżka we / wy RAID (tj. Dublowanie i usuwanie) jest obsługiwana przez Linux md lub BIOS.

Jeśli chodzi o ścieżkę danych, zawsze jest ona obsługiwana przez procesor (a więc i system operacyjny), chyba że masz dedykowaną sprzętową kartę RAID. Nie wydaje mi się, żeby pojawiały się na płytach głównych, choć niektóre wysokiej klasy chipsety serwerów mogą mnie zaskoczyć ...

W szczególności, kiedy używam „macierzy RAID” (tj. RAID obejmuje określone partycje, a nie całe dyski), czy muszę ręcznie instalować GRUB na obu MBR-ach?

Nie. W rzeczywistości nigdy nie musisz instalować GRUB-a na obu MBR-ach. Weźmy to przypadek po przypadku:

  • Software RAID: Wystarczy wybrać jeden dysk arbitralnie, aby zainstalować GRUB, i ustawić go w kolejności BIOS, aby najpierw się uruchomił. Pamiętaj, że możesz kopiować poszczególne partycje, jeśli chcesz, więc dyski nie muszą być bitowo identyczne w programowym RAID. Można mieć MBR z bootloaderem i nic nie ma w MBR.

  • BIOS RAID: BIOS powie ci, że jest to jeden „dysk” (tak naprawdę będzie to nazywać macierzą RAID), więc nie możesz wybrać, gdzie zainstalować GRUB. Po zainstalowaniu na nim Linuksa MBR (w tym bootloader) i każdy inny sektor obu dysków zostaną skopiowane między dwoma dyskami. W przeciwieństwie do RAID programowego, BIOS RAID wymusza, aby oba dyski były blokowo identyczne, ponieważ nie można ich rozdzielić na dwa urządzenia logiczne; kontroler dysku mówi, że są JEDNYM urządzeniem logicznym, a nie dwoma. Więc nie możesz po prostu powiedzieć „Chcę zapisać dane na dysku 0, ale nie na dysku 1”. Niemożliwe. Ale jest to całkowicie możliwe dzięki oprogramowaniu RAID.

  • Sprzętowa RAID: BIOS powie ci, że jest to jeden „dysk”, a jeśli chodzi o BIOS, nie jest nawet szczególnie świadomy tego, że masz do czynienia z wieloma dyskami. Kontroler RAID całkowicie wyodrębnia wszystkie szczegóły RAID z systemu operacyjnego i BIOS-u, z wyjątkiem zakresu, w którym można skonfigurować niektóre sprzętowe kontrolery RAID za pomocą niestandardowego protokołu w systemie operacyjnym. Ale urządzenia są całkowicie nierozłączne z warstwą oprogramowania, podobnie jak BIOS RAID.

Edycja: Aktualizowanie, aby uzyskać więcej odpowiedzi na pytania

Nadal nie rozumiem kilku rzeczy. Po pierwsze, o BIOS RAID: mogę go zbudować za pomocą mdadm, więc Linux nie ukrywa przede mną dysków.

To dziwne i trudne do wytłumaczenia. Zasadniczo dyski pojawiają się jako jeden na niektórych warstwach i jako dwa na innych warstwach. Ale założę się, że z BIOS RAID że każdy dysk nie będzie mieć swój własny oddzielny węzeł urządzenia, np /dev/sdaa /dev/sdb. Jeśli tak, cóż, BIOS RAID różni się od tego, co widziałem.

o grub i MBR: jeśli RAID obejmuje partycje, a nie dyski, nadal widzę dyski leżące u ich podstaw. MBR nie znajduje się w RAID, dlatego musisz dwa razy zainstalować bootloader, aby móc się uruchomić w przypadku awarii dysku. Czy to jest poprawne?

Zainstalowanie kolejnej kopii nie zaszkodzi , ale w przypadku awarii dysku rozruch będzie najmniejszym problemem. Krótko mówiąc, idź i zrób to, jeśli chcesz, ale to nie jest najważniejsze. Instalacja gruba z live CD na HDD jest łatwa.

Dyski w macierzy RAID (zwłaszcza jeśli są tej samej marki i modelu, wyprodukowane w tej samej fabryce i pracujące bezpośrednio obok siebie w tej samej temperaturze) prawdopodobnie szybko zawiodą, jeden po drugim. Więc jeśli dysk ulegnie awarii, prawdopodobnie nie jest w porządku wzruszyć ramionami i włożyć nowy dysk i rozpocząć odbudowę: istnieje duża szansa, że ​​podczas odbudowy ostatni dysk zawierający spójną kopię danych sam się zawiedzie. W tym momencie, gdy przejdziesz do ostatniego pozostałego dysku, polecam mieć eksperta (lub zrób to sam, jeśli jesteś dobry w sprzęcie) usuń talerze z oryginalnego dysku, kup nowy dysk identycznej marki / modelu , włóż tam talerze i odczytaj dane za pomocą nowego dysku. Jest to kosztowne i czasochłonne,

Oto pięć pytań, na które odpowiedziałem; jeśli znalazłeś jakąkolwiek wartość w tych informacjach, proszę odpowiednio zaznaczyć odpowiedź. Dzięki.

allquixotic
źródło
1
dziękuję za szczegółową i wnikliwą odpowiedź. Nadal nie rozumiem kilku rzeczy. Po pierwsze, o BIOS RAID: mogę go zbudować za pomocą mdadm, więc Linux tak naprawdę nie ukrywa przede mną dysków. Po drugie, o grub i MBR: jeśli RAID obejmuje partycje, a nie dyski, nadal widzę dyski leżące u ich podstaw. MBR nie znajduje się w RAID, dlatego musisz dwa razy zainstalować bootloader, aby móc się uruchomić w przypadku awarii dysku. Czy to jest poprawne?
Leonid99
1
Mam PCH z 6 serii i mdadm --detail-platformwskazuje, że Intel Matrix Storage Manager to wersja 11.0.0.1339. I może w rzeczywistości zobaczyć moje indywidualne napędy jak /dev/sdci /dev/sdd. Moja fałszywa macierz RAID1 jest wtedy /dev/md126.
Jonathon Reinhart
1
Gdy jądro Linuksa jest uruchomione, kod oprogramowania układowego / BIOS nie jest już wykonywany. Więc za co odpowiedzialne jest jądro? Wszystko? Jeśli tak jest, to co właściwie robi IMSM ? Wydaje się, że to niewiele więcej niż Linux z samym oprogramowaniem RAID? Chyba pytam, co dokładnie robi BIOS / Chipset?
Jonathon Reinhart
Wygląda na hybrydę: kiedy komputer uruchamia się po raz pierwszy (kiedy BIOS jest nadal aktywny), BIOS zapewnia logikę soft RAID. Po uruchomieniu systemu operacyjnego sterowniki są odpowiedzialne za utrzymanie macierzy RAID. 1 , 2
Jonathon Reinhart
2

Odpowiedź Allquixotic jest za długa:

  1. Co daje mi RSTe w porównaniu ze zwykłą macierzą RAID dla oprogramowania Linux?

Obsługa rozruchu i nieco inny zestaw funkcji. Jego sercem jest format danych. - Można go nawet używać bez opcjonalnej pamięci ROM RST Option Intel (wtedy nie ma specjalnej obsługi rozruchu). Format sugerowany jest na mdadmstronie podręcznika .

  1. W trybie RSTe, rzeczywista ścieżka we / wy RAID (tj. Dublowanie i usuwanie) jest obsługiwana przez Linux md lub BIOS.

Przez Linux md (tj. Całkowicie jądro).

Pozostawia to jedno pytanie: dlaczego RST Intela jest ograniczony tylko do niektórych chipsetów? W ogóle nie uczestniczą w RAID. W najlepszym razie przechowują trochę, co każe opcjonalnej pamięci ROM odmówić działania na nieobsługiwanych zestawach układów.

Robert Siemer
źródło
1
Jest to znacznie lepsze niż zaakceptowana odpowiedź, która jest długa, wędrująca, w dużej mierze niepoprawna i nie odpowiada na pytanie. (Kluczową kwestią jest to, że RSTe używa formatu zrozumiałego przez BIOS, co pozwala na rozruch z obniżonego RAID.)
Nemo
1

Hmmm jedna odpowiedź jest za długa, druga za krótka.

„Raid” RST jest głównie używany, jeśli uruchamiasz podwójnie stację roboczą, ponieważ Intel produkuje sterowniki systemu Windows i Linux i możesz skonfigurować raid w BIOS-ie. Konfigurujesz macierz RAID, dzielisz dysk wirtualny na partycje i możesz uruchamiać podwójnie, gdy oba systemy operacyjne rozumieją wiele partycji.

mdam jest, jeśli serwer jest dedykowany dla systemu Linux. Jest „lepszy”, ponieważ jeśli przebudowujesz tablicę, robisz to z systemu operacyjnego, a nie z systemu BIOS, więc szybkość odbudowywania jest znacznie szybsza. W przypadku dużych dysków przebudowa systemu BIOS może zająć kilka dni.

Ale w rzeczywistości wybierasz pomiędzy zielonym Piece of C lub niebieskim Piece of C. Rzeczywistość jest taka, że ​​programowa macierz RAID jest w zasadzie rajdem „ostatniego rowu CYA”.

Jeśli zgubisz dysk w programowej macierzy RAID, zasadniczo pozwala to natychmiast zatrzymać serwer, wykonać pełną kopię zapasową, wymienić uszkodzony dysk i być może resztę dysków, a następnie albo odtworzyć macierz, albo podjąć próbę odbudowy. Dość często szybsza jest wymiana dysku, a następnie usunięcie wszystkiego z nich i odtworzenie tablicy, a następnie uruchomienie z dysku przywracania kopii zapasowej, a następnie przywracanie z kopii zapasowej.

Dzięki układowi układów sprzętowych wszystkie dyski mogą przejść do tac wymienianych podczas pracy, a gdy jeden z nich ulegnie awarii, zapala się czerwone światło, na uszkodzonym dysku wysuwasz go, zastępujesz nowym dyskiem, a następnie karta najazdowa automatycznie odbudowuje tablica, gdy serwer nadal działa.

Chociaż teoretycznie jest to możliwe, jeśli masz zasobniki wymiany i macierz programową Linuksa, w praktyce ryzykujesz panikę, a serwer może łatwo nie uruchomić się na pozostałym dysku.

Drugi problem dotyczy TYPU używanych dysków. Zwykłe dyski stacji roboczych w miarę starzenia się zaczynają rozwijać uszkodzone sektory, które są wewnętrznie mapowane przez dysk na wolne sektory. Problem polega na tym, że to ponowne mapowanie odbywa się tylko podczas zapisu - dysk opóźni ponowne mapowanie, jeśli odczyt nastąpi w uszkodzonym sektorze, a na niektórych modelach dysków będzie wielokrotnie ponownie czytać zły lub uszkodzony sektor, porównując wynik za każdym razem, dopóki nie zdecyduje ma najlepsze dane, jakie może uzyskać z tego sektora przed ponownym mapowaniem. Proces ten może potrwać około minuty iw tym czasie masz teraz 1 dysk w tablicy, ignorując kody poleceń, więc oprogramowanie rajdowe ulegnie awarii i oznaczy tablicę jako zdegradowaną. Podczas ponownego uruchamiania masz teraz 2 dyski z tym samym sektorem, które mogą mieć różne dane między dyskami, więc teraz programowy menedżer RAID nie wie, który jest „dobry”, dysk, na którym nie wystąpił błąd lub dysk, który ponownie mapował sektor z najlepszym przybliżeniem danych, jakie miał. Western Digital produkuje dyski „czerwone”, które mają być używane w programowych macierzach RAID, które tego nie robią, po prostu nie udaje im się odczytać sektora natychmiast po wykryciu uszkodzonego sektora i odwzorować go, aby menedżer macierzy mógł pobrać dane z sektora na dobrym dysku i zapisz go na dysku z uszkodzonym sektorem. Nie trzeba dodawać, że pobierają dodatkowe opłaty za te dyski. po prostu nie udaje im się odczytać sektora natychmiast po wykryciu uszkodzonego sektora i odwzorować go ponownie, aby menedżer macierzy mógł pobrać dane z sektora z dobrego dysku i zapisać go na dysku z uszkodzonym sektorem. Nie trzeba dodawać, że pobierają dodatkowe opłaty za te dyski. po prostu nie udaje im się odczytać sektora natychmiast po wykryciu uszkodzonego sektora i odwzorować go ponownie, aby menedżer macierzy mógł pobrać dane z sektora z dobrego dysku i zapisać go na dysku z uszkodzonym sektorem. Nie trzeba dodawać, że pobierają dodatkowe opłaty za te dyski.

Podsumowując, nie należy używać nalotów programowych na serwer, który nie toleruje niektórych przestojów w przypadku awarii dysku. Jest przeznaczony głównie do stacji roboczych, na których ludzie nie wykonują regularnych kopii zapasowych, oraz do małych serwerów SOHO, których kopie zapasowe są tworzone i mogą tolerować około jednego dnia przestoju w przypadku awarii dysku.

Ted Mittelstaedt
źródło