Ü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 ( md
wie 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- md
RAID ohne -e imsm
ist 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/sda
und /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.
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?