Intel Matrix Storage Manager gegen Linux Software RAID


28

Der verwendete Chipsatz unterstützt die Intel RSTe-Technologie. Es bedeutet, dass ich zwei Optionen für die RAID-Einrichtung habe:

  • Gewöhnliches Linux-Software-RAID mit mdadmBefehl.
  • RSTe (entweder vom BIOS oder erneut mit mdadmBefehl mit -e imsmSchalter).

Da mdadmdies für beide verwendet werden kann, kann ich den Unterschied zwischen den beiden nicht verstehen.

  • Was gibt mir RSTe im Vergleich zu regulärem Linux-Software-RAID?
  • Im RSTe-Modus wird der tatsächliche RAID-E / A-Pfad (dh Spiegelung und Striping) vom Linux mdoder vom BIOS verwaltet.
  • Muss ich grub manuell auf beiden MBRs installieren, wenn ich "Matrix-RAID" verwende (dh das RAID deckt bestimmte Partitionen statt der gesamten Festplatten ab)?

Antworten:


46

Überblick

Es gibt drei gängige RAID-Typen:

  • Software RAID: Dies bedeutet, dass Ihr BIOS und andere Betriebssysteme davon ausgehen, dass Sie tatsächlich zwei separate Festplatten haben. Rein auf Softwareebene verwendet Ihr Betriebssystem jedoch ein betriebssystemspezifisches Festplattenformat für RAID (Spiegelung, Striping, Paritätsbits usw.). . Die gesamte Verarbeitung wird von der CPU ohne Hardware-Unterstützung ausgeführt.

  • BIOS RAID: Auch als "Fake RAID" oder "Host RAID" bezeichnet. Dies bedeutet, dass Ihre Motherboard-Firmware (genauer gesagt Ihr SATA / SAS-Controller) die Erkennung von RAID-Geräten ausdrücklich unterstützt. Auf der Ebene des logischen Geräts ( lun) werden Ihre mehreren Festplatten für das Betriebssystem als ein einziges Laufwerk angezeigt . Dies ist im Grunde der SATA / SAS-Controller, der sagt: "Ich habe wirklich nur eine Festplatte. Nun, es sind tatsächlich zwei, aber shhhh, es ist nur eine, vertrau mir." Mit anderen Worten, das Betriebssystem kann es erkennendass es sich um ein RAID-Setup handelt, das Betriebssystem * jedoch nicht für das Festplattenformat der RAID-Parität / des Stripings / usw. verantwortlich ist. Selbst in diesem Modus führt die CPU alle Berechnungen für Paritätsbits und Striping durch. Das Motherboard, das BIOS und der SATA-Controller haben gerade genug Logik, um die Geräte physisch zu "kombinieren" und ein Festplattenformat für das RAID zu definieren. Es fehlt ihnen jedoch ein dedizierter Prozessor, um die Berechnungen durchzuführen, und sie sind von der Software des Betriebssystems abhängig, um der CPU mitzuteilen, dass sie diese Berechnungen durchführen sollen. Aus diesem Grund müssen Sie Linux immer noch über Ihr BIOS-RAID informieren. (Intel Matrix / RST ist eine Art BIOS-RAID).

  • Hardware RAID: Hier haben Sie einen dedizierten Chip, dessen einziger Zweck darin besteht, die für RAID erforderlichen Daten zu verarbeiten. Der Chip kann sehr leistungsfähig sein; Einige Hardware-RAID-Controller verfügen tatsächlich über einen CPU-ähnlichen Dual-Core-Chip an Bord, obwohl dieser speziell für die Ausführung eines eingebetteten Betriebssystems optimiert ist, das bei RAID-Berechnungen SEHR schnell ist, z. B. Paritätsbits für RAID-5 oder Striping für RAID -0. Die Festplatten sind physisch mit der RAID-Karte verkabelt, die einen SATA / SAS-Controller, in der Regel einen Lese- und Schreibcache in DRAM oder Flash, eine systemeigene Befehlswarteschlange und einen integrierten Zentralprozessor für die mathematischeren Berechnungen bietet. Diese Hardware-Chips kosten im Einstiegsbereich bis zu mehreren Tausend US-Dollar für RAID-Backplanes für industrielle Rechenzentren.

Kompatibilität

Im Allgemeinen ist jeder RAID-Typ an einen bestimmten Aspekt gebunden, bei dessen Änderung Kompatibilitätsprobleme auftreten.

  • Software-RAID ist an das Betriebssystem gebunden, das das RAID-Format definiert hat. Manchmal ist das RAID-Format zwischen zwei verschiedenen Versionen desselben Betriebssystems unterbrochen, was zu Inkompatibilität führt. Obwohl es vom Konzept her möglich ist , für jedes Software - RAID - Format von einem anderen Betriebssystem unterstützt werden, da es nur Software in der Praxis der meisten Betriebssysteme vorhanden unvereinbar RAID - Formate , die nur das Betriebssystem erkennen können. Die bekannteste Kompatibilität sind jedoch die RAID-Formate, die vom Linux-Kernel nativ verwendet werden ( mdwie Sie im OP diskutieren) und die auch das Software-RAID von Windows erkennen können, die so genannten Dynamic Disks.

  • BIOS-RAID ist an Ihr Motherboard gebunden. Es ist möglicherweise möglich, mit einem bestimmten BIOS-RAID-Format formatierte Laufwerke auf ein anderes Motherboard mit einer ähnlichen BIOS-RAID-Lösung zu verschieben. Zum Beispiel Intel RST auf ein anderes System mit RST. Sie müssen dies jedoch sorgfältig untersuchen, bevor Sie einen Schritt unternehmen, um sicherzustellen, dass er kompatibel ist, wenn Sie daran interessiert sind, dass er kompatibel ist.

  • Hardware-RAID ist an diesen bestimmten Hardware-Controller oder eine Reihe von Hardware-Controllern gebunden, die vom Hersteller ausdrücklich als kompatibel angegeben werden. Einige Anbieter pflegen ein sehr konsistentes Hardware-RAID-Festplattenformat, das von vielen Controller-Generationen unterstützt wird. andere ändern das Format häufiger. Auch hier müssen Sie von Fall zu Fall nachforschen.

Performance

Die Leistung hängt weitgehend davon ab, wie Sie die grundlegenden Parameter des RAID-Arrays konfigurieren, und weniger von der spezifischen Lösung. Im Allgemeinen haben Hardware-RAID-Controller die höchste "Obergrenze" für die maximale Leistung. Außerdem belasten sie Ihre CPU nicht annähernd so stark wie die anderen Lösungen. Wenn Sie jedoch den falschen RAID-Typ für Ihre Workload oder die falsche Stripe-Größe oder den falschen Caching-Ansatz auswählen, kann ein Hardware-RAID-Controller auch extrem langsam sein und langsamer als eines der Laufwerke, die im Nicht-RAID-Modus ausgeführt werden. Gleiches gilt für die anderen Lösungen, die auch extrem langsam sein können.

  • Software-RAID eignet sich am besten für die RAID-1-Konfiguration, da das Spiegeln eine einfache Kopie derselben Daten auf zwei Laufwerke ist und keine Paritätsbits berechnet werden müssen. RAID-5 auf Software-RAID ist schrecklich.

  • Die BIOS-RAID-Leistung ist im Allgemeinen mit Software-RAID vergleichbar, es ist jedoch bekannt, dass bestimmte BIOS-RAID-Controller und -Festplattenformate fehlerhafte oder schlechte Leistungen erbringen. Wenn Sie zwischen Software-RAID und BIOS-RAID wählen müssen, ist ersteres für die Leistung vielversprechender, insbesondere wenn Sie eine aktuelle Linux-Distribution verwenden.

  • Die Leistung von Hardware-RAIDs kann wahnsinnig schnell sein, da der Prozessor des RAID-Controllers, der wie gesagt für hohen Durchsatz ausgelegt ist und auch als Multi-Core-Chip ausgeführt werden kann, eine optimierte Verarbeitungsleistung aufweist. Der Hauptnachteil ist, dass Sie an Flexibilität verlieren - Sie können die Laufwerke nicht einfach ohne einen Hardware-RAID-Controller in einen anderen Computer stecken - und an Kosten. Hardware-RAID ist die beste Stufe für die Verwendung von RAID-5 oder RAID-6, insbesondere wenn Sie über viele Festplatten verfügen (4 oder mehr).

Insgesamt

Obwohl BIOS RAID von Linux unterstützt wird, kann ich die Verwendung nicht empfehlen.

Nun, um Ihre Fragen direkt zu beantworten, nachdem ich Ihnen die langatmige Antwort gegeben habe:

Was gibt mir RSTe im Vergleich zu regulärem Linux-Software-RAID?

Siehe die obigen Vergleiche zwischen Software-RAID und BIOS-RAID. "RSTe" ist eine Instanz von BIOS-RAID. Linux- mdRAID ohne -e imsmist eine Instanz von Software-RAID.

Im RSTe-Modus wird der tatsächliche RAID-E / A-Pfad (dh Spiegelung und Striping) vom Linux md oder vom BIOS verwaltet.

Wenn Sie den Datenpfad meinen, wird er immer von der CPU (und damit dem Betriebssystem) verarbeitet, es sei denn, Sie haben eine dedizierte Hardware-RAID-Karte. Ich glaube nicht, dass diese auf irgendwelchen Motherboards zu finden sind, obwohl mich ein High-End-Server-Chipsatz überraschen könnte ...

Muss ich grub manuell auf beiden MBRs installieren, wenn ich "Matrix-RAID" verwende (dh das RAID deckt bestimmte Partitionen statt der gesamten Festplatten ab)?

Nein. Tatsächlich müssen Sie GRUB nie auf beiden MBRs installieren. Nehmen wir es von Fall zu Fall:

  • Software-RAID: Wählen Sie einfach eine Festplatte aus, auf der GRUB installiert werden soll, und richten Sie sie in der BIOS-Reihenfolge so ein, dass sie zuerst startet. Denken Sie daran, dass Sie bei Bedarf einzelne Partitionen spiegeln können, damit die Festplatten im Software-RAID nicht Bit für Bit identisch sein müssen. Man kann einen MBR mit einem Bootloader haben und man kann nichts im MBR haben.

  • BIOS-RAID: Das BIOS teilt Ihnen mit, dass es sich um eine "Festplatte" handelt (es wird tatsächlich so genannt, wie es ist, ein RAID-Array), sodass Sie nicht auswählen müssen, wo GRUB installiert werden soll. Wenn Sie Linux darauf installieren, werden der MBR (einschließlich des Bootloaders) und jeder andere Sektor beider Festplatten zwischen den beiden Festplatten kopiert. Im Gegensatz zu Software-RAID erzwingt BIOS-RAID, dass beide Festplatten Block für Block identisch sein müssen, da Sie sie nicht als zwei logische Geräte trennen können. Der Festplattencontroller gibt an, dass es sich um EIN logisches Gerät handelt, nicht um zwei. Sie können also nicht einfach sagen "Ich möchte einige Daten auf Laufwerk 0 schreiben, aber nicht auf Laufwerk 1". Nicht möglich. Mit Software-RAID ist dies jedoch durchaus möglich.

  • Hardware-RAID: Das BIOS teilt Ihnen mit, dass es sich um eine "Festplatte" handelt, und was das BIOS betrifft, ist es nicht einmal besonders bewusst, dass Sie mit mehreren Festplatten arbeiten. Der RAID-Controller abstrahiert alle Details des RAID vollständig vom Betriebssystem und vom BIOS, mit der Ausnahme, dass Sie einige Hardware-RAID-Controller mithilfe eines benutzerdefinierten Protokolls innerhalb des Betriebssystems konfigurieren können. Die Geräte sind jedoch völlig untrennbar mit der Softwareschicht verbunden, ähnlich wie bei BIOS-RAID.

Bearbeiten: Aktualisierung für mehr Fragenantworten

Ich verstehe immer noch ein paar Dinge nicht. Erstens zu einem BIOS-RAID: Ich kann es mit mdadm erstellen, sodass Linux die zugrunde liegenden Festplatten nicht vor mir verbirgt.

Es ist komisch und schwer zu erklären. Grundsätzlich werden die Festplatten in bestimmten Schichten als eine und in anderen Schichten als zwei angezeigt. Aber ich wette, dass bei BIOS-RAID nicht jede Festplatte einen eigenen Geräteknoten hat, z . B. /dev/sdaund /dev/sdb. Wenn ja, ist Ihr BIOS-RAID anders als das, was ich gesehen habe.

Über Grub und MBRs: Wenn ein RAID Partitionen und keine Festplatten abdeckt, kann ich die zugrunde liegenden Festplatten immer noch sehen. Der MBR befindet sich nicht unter RAID. Daher müssen Sie den Bootloader zweimal installieren, um im Falle eines Festplattenfehlers starten zu können. Ist das richtig?

Es tut nicht weh , eine weitere Kopie zu installieren, aber im Falle eines Festplattenfehlers wird das Booten das geringste Problem für Sie sein. Kurz gesagt, machen Sie es, wenn Sie wollen, aber es ist kaum das Wichtigste. Das Installieren von grub von einer Live-CD auf einer Festplatte ist einfach.

RAID-Festplatten (insbesondere wenn sie vom selben Hersteller und Modell sind, im selben Werk hergestellt werden und bei gleicher Temperatur direkt nebeneinander betrieben werden) versagen wahrscheinlich kurz hintereinander. Wenn also ein Datenträger ausfällt, ist es wahrscheinlich nicht in Ordnung, einen neuen Datenträger einzulegen und die Neuerstellung zu starten. Es besteht die Möglichkeit, dass während der Neuerstellung der letzte Datenträger, der eine konsistente Kopie der Daten enthält, selbst ausfällt. An diesem Punkt, wenn Sie die letzte verbleibende Festplatte gefunden haben, würde ich empfehlen, einen Experten zu beauftragen (oder es selbst zu tun, wenn Sie sich mit Hardware auskennen), die Platten von der ursprünglichen Festplatte zu entfernen und eine neue Festplatte mit identischem Fabrikat / Modell zu kaufen , legen Sie die Platten hinein und lesen Sie die Daten mit der neuen Diskette ab. Das ist teuer und zeitaufwändig,

Das sind also fünf Fragen, die ich für Sie beantwortet habe. Wenn Sie in diesen Informationen einen Wert gefunden haben, markieren Sie die Antwort bitte entsprechend. Vielen Dank.


1
Vielen Dank für Ihre detaillierte und aufschlussreiche Antwort. Ich verstehe immer noch ein paar Dinge nicht. Erstens zu einem BIOS-RAID: Ich kann es mit erstellen mdadm, sodass Linux die zugrunde liegenden Festplatten nicht vor mir verbirgt. Zweitens zu Grub und MBRs: Wenn ein RAID eher Partitionen als Festplatten abdeckt, kann ich die zugrunde liegenden Festplatten immer noch sehen. Der MBR befindet sich nicht unter RAID. Daher müssen Sie den Bootloader zweimal installieren, um im Falle eines Festplattenfehlers starten zu können. Ist das richtig?
Leonid99

1
Ich habe einen PCH der Serie 6 und mdadm --detail-platformgibt an, dass Intel Matrix Storage Manager Version 11.0.0.1339 ist. Ich kann meine einzelnen Laufwerke tatsächlich als /dev/sdcund sehen /dev/sdd. Mein gefälschtes RAID1-Array ist dann /dev/md126.
Jonathon Reinhart

1
Wenn der Linux-Kernel läuft, wird der Firmware- / BIOS-Code nicht mehr ausgeführt. Wofür ist der Kernel verantwortlich? Alles? Wenn dies der Fall ist, was macht IMSM dann tatsächlich ? Es scheint, dass es nicht viel mehr ist als Linux mit Software-RAID für sich? Ich schätze, ich frage, was genau macht das BIOS / der Chipsatz?
Jonathon Reinhart

Nun, es scheint ein Hybrid zu sein: Wenn der Computer zum ersten Mal gestartet wird (wenn das BIOS noch aktiv ist), stellt das BIOS die Soft-RAID-Logik bereit. Wenn das Betriebssystem bootet, sind seine Treiber für die Wartung des RAID-Arrays verantwortlich. 1 , 2
Jonathon Reinhart

1

Die Antwort von Allquixotic ist zu lang:

  1. Was gibt mir RSTe im Vergleich zu regulärem Linux-Software-RAID?

Boot-Unterstützung und ein etwas anderer Funktionsumfang. Im Kern handelt es sich um ein Datenformat. - Sie könnten es sogar ohne Intels RST Option ROM verwenden (dann haben Sie keine spezielle Boot-Unterstützung). Was das Format impliziert, steht in der mdadmManpage.

  1. Im RSTe-Modus wird der tatsächliche RAID-E / A-Pfad (dh Spiegelung und Striping) vom Linux md oder vom BIOS verwaltet.

Von Linux md (also den Kernel komplett).

Hier bleibt eine Frage offen: Warum ist Intels RST nur auf einige Chipsätze beschränkt? Sie nehmen überhaupt nicht am RAID teil. Bestenfalls speichern sie ein Bit, wodurch das Option ROM angewiesen wird, die Ausführung auf nicht unterstützten Chipsätzen abzulehnen.


Dies ist viel besser als die akzeptierte Antwort, die langwierig, weitgehend falsch ist und die Frage nicht beantwortet. (Der entscheidende Punkt ist, dass RSTe ein vom BIOS bekanntes Format verwendet, mit dem Sie von einem
Nemo

1

Hmmm eine Antwort zu lang die andere zu kurz.

RST "raid" wird hauptsächlich verwendet, wenn Sie eine Workstation doppelt booten, da Intel Windows- und Linux-Treiber herstellt und Sie das RAID im BIOS konfigurieren können. Sie konfigurieren RAID, partitionieren die virtuelle Festplatte und können dual booten, wobei beide Betriebssysteme die mehreren Partitionen verstehen.

mdam ist für, wenn der Server Linux gewidmet ist. Es ist "besser", da beim Neuerstellen eines Arrays das Betriebssystem und nicht das BIOS verwendet wird, sodass die Wiederherstellungsgeschwindigkeit viel höher ist. Bei großen Festplatten kann die Wiederherstellung eines BIOS-RAID mehrere TAGE dauern.

In Wirklichkeit haben Sie jedoch die Wahl zwischen einem grünen oder einem blauen C-Stück. In Wirklichkeit handelt es sich bei Software-RAID im Grunde genommen um einen "Last Ditch CYA" -Razzia.

Wenn Sie eine Festplatte in einem Software-RAID-Array verlieren, können Sie den Server sofort stoppen, eine vollständige Sicherung erstellen, die ausgefallene Festplatte und möglicherweise den Rest der Festplatten ersetzen und dann entweder das Array neu erstellen oder versuchen, es neu zu erstellen. Sehr oft ist es schneller, die Festplatte auszutauschen, dann alles auf ihnen zu löschen und das Array neu zu erstellen und dann von einer Backup-Wiederherstellungsdiskette zu booten und dann von einem Backup wiederherzustellen.

Mit einem Hardware-Array-Chip können alle Festplatten in Hot-Swap-Fächer eingelegt werden. Wenn eine ausgefallen ist, leuchtet ein rotes Licht auf. Wenn die ausgefallene Festplatte ausgeworfen wird, wird sie durch eine neue Festplatte ersetzt, und die Hardware-RAID-Karte erstellt die automatisch neu Array, während der Server noch läuft.

Während es theoretisch möglich ist, dies zu tun, wenn Sie Hot-Swap-Trays und ein Linux-mdam-Software-Array in der Praxis haben, riskieren Sie eine Panik, und der Server kann leicht nicht auf der verbleibenden Festplatte booten.

Das andere Problem betrifft den Typ der verwendeten Datenträger. Normale Workstation-Festplatten entwickeln mit zunehmendem Alter fehlerhafte Sektoren, die intern von der Festplatte in Ersatzsektoren neu zugeordnet werden. Das Problem ist, dass diese Neuzuordnung nur bei einem Schreibvorgang auftritt. Die Platte verzögert die Neuzuordnung, wenn ein Lesevorgang in einem fehlerhaften Sektor erfolgt, und bei einigen Plattenmodellen wird der fehlerhafte oder fehlerhafte Sektor wiederholt erneut gelesen, wobei das Ergebnis jedes Mal verglichen wird, bis eine Entscheidung getroffen wird verfügt über die besten Daten, die es aus diesem Sektor abrufen kann, bevor es neu zugeordnet wird. Dieser Vorgang kann ungefähr eine Minute dauern. In dieser Zeit befindet sich 1 Datenträger im Array, der die Befehlscodes ignoriert, sodass die Software-RAID-Software abstürzt und das Array als beeinträchtigt markiert. Beim Neustart haben Sie jetzt zwei Festplatten mit demselben Sektor, die möglicherweise unterschiedliche Daten zwischen den Festplatten haben. Der Software-RAID-Manager weiß also nicht, welche "gut" ist. Die Festplatte, auf der kein Fehler aufgetreten ist, oder die Festplatte, die einen Sektor mit der besten Annäherung an die vorhandenen Daten neu zugeordnet hat. Western Digital stellt "rote" Laufwerke her, die in Software-RAID-Arrays verwendet werden sollen, bei denen dies nicht der Fall ist. Sie schlagen einen Sektorlesevorgang einfach fehl, wenn sie einen fehlerhaften Sektor erkennen und neu zuordnen, damit der Array-Manager die Daten aus dem Sektor abrufen kann auf dem guten Laufwerk und schreiben Sie es auf das Laufwerk mit dem ausgefallenen Sektor. Es erübrigt sich zu erwähnen, dass für diese Datenträger zusätzliche Kosten anfallen. Sie können einen Sektor nicht sofort lesen, wenn sie einen fehlerhaften Sektor erkennen und neu zuordnen, damit der Array-Manager die Daten aus dem Sektor auf dem fehlerfreien Laufwerk abrufen und auf das Laufwerk mit dem fehlerhaften Sektor schreiben kann. Es erübrigt sich zu erwähnen, dass für diese Datenträger zusätzliche Kosten anfallen. Sie können einen Sektor nicht sofort lesen, wenn sie einen fehlerhaften Sektor erkennen und neu zuordnen, damit der Array-Manager die Daten aus dem Sektor auf dem fehlerfreien Laufwerk abrufen und auf das Laufwerk mit dem fehlerhaften Sektor schreiben kann. Es erübrigt sich zu erwähnen, dass für diese Datenträger zusätzliche Kosten anfallen.

Zusammenfassend gesagt, verwenden Sie Software-Raid nicht für einen Server, der bei Ausfall einer Festplatte einige Ausfallzeiten nicht tolerieren kann. Es ist hauptsächlich für Workstations gedacht, auf denen nicht regelmäßig Backups erstellt werden, und für kleine SOHO-Server, die gesichert werden und Ausfallzeiten von etwa einem Tag tolerieren, wenn eine Festplatte abstürzt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.