
Der von mir verwendete Chipsatz unterstützt die Intel RSTe-Technologie. Das bedeutet, dass ich zwei Optionen für die RAID-Einrichtung habe:
- Gewöhnliches Linux-Software-RAID, mit
mdadm
Befehl. - RSTe (entweder über das BIOS oder wiederum per
mdadm
Befehl mit-e imsm
Schalter).
Da es mdadm
für beides verwendet werden kann, verstehe ich den Unterschied zwischen den beiden nicht.
- Was bietet mir RSTe im Vergleich zu herkömmlichem Linux-Software-RAID?
- Im RSTe-Modus wird der eigentliche RAID-E/A-Pfad (d. h. Spiegelung und Striping) von Linux
md
oder dem BIOS verwaltet. - Muss ich insbesondere, wenn ich „Matrix-RAID“ verwende (d. h. das RAID deckt bestimmte Partitionen und nicht die gesamten Festplatten ab), Grub manuell auf beiden MBRs installieren?
Antwort1
Überblick
Es stehen drei gängige RAID-Typen zur Verfügung:
Software RAID
: Das bedeutet, dass Ihr BIOS und andere Betriebssysteme davon ausgehen, dass Sie tatsächlich zwei separate Festplatten haben, aber rein auf Softwareebene verwendet Ihr Betriebssystem ein betriebssystemspezifisches Festplattenformat für RAID (Spiegelung, Striping, Paritätsbits usw.). Die gesamte Verarbeitung wird von der CPU ohne Hardwareunterstützung durchgeführt.BIOS RAID
: Auch bekannt als „Fake RAID“ oder „Host RAID“. Dies bedeutet, dass die Firmware Ihres Motherboards (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 dem Betriebssystem als eine einzige Festplatte angezeigt. Das ist im Grunde der SATA/SAS-Controller, der sagt: „Ich habe wirklich nur eine Festplatte. Naja, eigentlich sind es zwei, aber psssst, es ist nur eine, glauben Sie mir.“ Mit anderen Worten, das Betriebssystem kannerzählendass es sich um ein RAID-Setup handelt, das Betriebssystem jedoch *nicht für das Festplattenformat der RAID-Parität/Striping/usw. verantwortlich ist. Selbst in diesem Modus führt die CPU jedoch alle Berechnungen für Paritätsbits und Striping durch. Das Motherboard, das BIOS und der SATA-Controller verfügen gerade über genügend Logik, um die Geräte physisch zu „kombinieren“ und ein Festplattenformat für das RAID zu definieren. Ihnen fehlt jedoch ein dedizierter Prozessor, um die Berechnungen durchzuführen, und sie sind auf Software im Betriebssystem angewiesen, die der CPU mitteilt, diese durchzuführen, weshalb Sie Linux dennoch über Ihr BIOS-RAID informieren müssen. (Intel Matrix/RST ist eine Art von 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 ziemlich leistungsstark sein; einige Hardware-RAID-Controller haben tatsächlich einen Dual-Core-CPU-ähnlichen Chip an Bord, obwohl dieser speziell für die Ausführung eines eingebetteten Betriebssystems optimiert ist, das SEHR schnell RAID-Berechnungen durchführt, wie 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, normalerweise einen Lese- und Schreibcache in DRAM oder Flash, native Befehlswarteschlangen und einen zentralen Prozessor an Bord bietet, der die mathematischeren Berechnungen durchführt. Diese Hardware-Chips kosten zwischen 150 US-Dollar auf der Einstiegsebene und mehreren Tausend US-Dollar für RAID-Backplanes in industriellen Rechenzentren.
Kompatibilität
Im Allgemeinen ist jeder RAID-Typ an einen bestimmten Aspekt „gebunden“, und wenn sich dieser Aspekt ändert, treten Kompatibilitätsprobleme auf.
Software-RAID ist an das Betriebssystem gebunden, das das RAID-Format definiert hat. Manchmal ist das RAID-Format zwischen zwei verschiedenen Versionen desselben Betriebssystems defekt, was zu Inkompatibilität führt. Obwohl es konzeptionell möglich ist, dass jedes Software-RAID-Format von jedem anderen Betriebssystem unterstützt wird, da esnur Software, in der Praxis weisen die meisten Betriebssysteme inkompatible RAID-Formate auf, die nur dieses Betriebssystem erkennen kann. Die größte Kompatibilität weisen jedoch die RAID-Formate auf, die nativ vom Linux-Kernel verwendet werden (
md
wie Sie im OP diskutieren), der auch das Software-RAID von Windows, sogenannte dynamische Datenträger, erkennen kann.BIOS-RAID ist an Ihr Motherboard gebunden. Es ist möglicherweise möglich, Laufwerke, die mit einem bestimmten BIOS-RAID-Format formatiert sind, auf ein anderes Motherboard mit einer ähnlichen BIOS-RAID-Lösung zu verschieben, z. B. Intel RST auf ein anderes System mit RST. Sie müssen dies jedoch sorgfältig prüfen, bevor Sie einen Wechsel vornehmen, um sicherzustellen, dass es kompatibel ist, wenn Ihnen Kompatibilität wichtig ist.
Hardware-RAID ist an einen bestimmten Hardware-Controller oder eine Reihe von Hardware-Controllern gebunden, die vom Hersteller ausdrücklich als kompatibel bezeichnet 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 dies von Fall zu Fall prüfen.
Leistung
Die Leistung hängt weitgehend ab vonWieSie konfigurieren die grundlegenden Parameter des RAID-Arrays und weniger die spezifische Lösung. Im Allgemeinen haben Hardware-RAID-Controller die höchste „Obergrenze“ für die maximale Leistung; sie belasten Ihre CPU auch nicht annähernd so stark wie die anderen Lösungen. Wenn Sie jedoch den falschen RAID-Typ für Ihre Arbeitslast, die falsche Stripe-Größe oder den falschen Caching-Ansatz wählen, kann ein Hardware-RAID-Controller auch extrem langsam sein, langsamer als eines der Laufwerke, die im Nicht-RAID-Modus laufen. Dasselbe gilt für die anderen Lösungen, die ebenfalls extrem langsam sein können.
Software-RAID eignet sich am besten für RAID-1-Konfigurationen, da beim Spiegeln lediglich die gleichen Daten auf zwei Laufwerke kopiert werden und keine Paritätsbits berechnet werden müssen. RAID-5 auf Software-RAID ist furchtbar.
Die Leistung von BIOS-RAID ist im Allgemeinen mit der von Software-RAID vergleichbar, aber bestimmte BIOS-RAID-Controller und Festplattenformate sind bekanntermaßen fehlerhaft oder weisen eine schlechte Leistung auf. Wenn Sie sich zwischen Software-RAID und BIOS-RAID entscheiden müssen, ist die Leistung von ersterem im Allgemeinen etwas besser.besonderswenn Sie eine aktuelle Linux-Distribution verwenden.
Die Leistung von Hardware-RAID kann aufgrund der optimierten Verarbeitungsleistung des Prozessors des RAID-Controllers, der wie gesagt für hohen Durchsatz ausgelegt ist und tatsächlich als Multi-Core-Chip geliefert werden kann, wahnsinnig schnell sein – das ist also eine echte Herausforderung. Der Hauptnachteil besteht darin, dass Sie an Flexibilität verlieren – Sie können die Laufwerke nicht einfach in einen anderen Computer ohne Hardware-RAID-Controller einstecken – und an Kosten. Hardware-RAID ist die beste Ebene für die Verwendung von RAID-5 oder RAID-6, insbesondere wenn Sie viele Festplatten haben (4 oder mehr).
Gesamt
Obwohl BIOS RAIDunterstütztvon Linux, ich kann Ihnen die Verwendung nicht empfehlen.
Nun zur direkten Beantwortung Ihrer Fragen, nachdem ich Ihnen die langatmige Antwort gegeben habe:
Was bietet mir RSTe im Vergleich zu herkömmlichem 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 eigentliche RAID-E/A-Pfad (d. h. Spiegelung und Striping) vom Linux-MD oder vom BIOS verwaltet.
Wenn Sie den Datenpfad meinen, wird dieser immer von der CPU (und damit vom Betriebssystem) verwaltet, es sei denn, Sie haben eine dedizierte Hardware-RAID-Karte. Ichdenkendiese sind auf allen Motherboards vorhanden, obwohl mich einige High-End-Server-Chipsätze da draußen überraschen könnten ...
Muss ich insbesondere, wenn ich „Matrix-RAID“ verwende (d. h. das RAID deckt bestimmte Partitionen und nicht die gesamten Festplatten ab), Grub manuell auf beiden MBRs installieren?
Nein. Tatsächlich müssen Sie GRUB nie auf beiden MBRs installieren. Sehen wir es uns Fall für Fall an:
Software-RAID: Wählen Sie einfach eine beliebige Festplatte aus, auf der GRUB installiert werden soll, und legen Sie sie in der BIOS-Reihenfolge so fest, dass sie zuerst bootet. Denken Sie daran, dass Sie einzelne Partitionen spiegeln können, wenn Sie möchten, sodass die Festplatten bei 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 sagt Ihnen, dass es sich um eine „Festplatte“ handelt (es nennt es tatsächlich als das, was es ist, nämlich ein RAID-Array), sodass Sie nicht auswählen können, wo GRUB installiert werden soll. Wenn Sie Linux darauf installieren, werden der MBR (einschließlich des Bootloaders) und alle anderen Sektoren beider Festplatten zwischen den beiden Festplatten kopiert. Anders als bei 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 Festplattencontrollersagtes handelt sich um EIN logisches Gerät, nicht um zwei. Sie können also nicht einfach sagen: „Ich möchte einige Daten auf Laufwerk 0 schreiben, aber nicht auf Laufwerk 1.“ Das ist nicht möglich. Mit Software-RAID ist es jedoch durchaus möglich.
Hardware-RAID: Das BIOS teilt Ihnen mit, dass es sich um eine „Festplatte“ handelt, und soweit es das BIOS betrifft, ist es sich nicht einmal besonders bewusst, dass Sie es mit mehreren Festplatten zu tun haben. Der RAID-Controllervollständigabstrahiert alle Details des RAID vom Betriebssystem und BIOS, außer insoweit, als Sie einige Hardware-RAID-Controller mithilfe einer Art benutzerdefiniertem Protokoll innerhalb des Betriebssystems konfigurieren können. Die Geräte sind jedoch völlig untrennbar von der Softwareschicht, ähnlich wie BIOS-RAID.
Bearbeiten:Aktualisierung für mehr Fragen-Antworten
Ein paar Dinge verstehe ich immer noch nicht. Erstens zu einem BIOS-RAID: Ich kann es mit mdadm erstellen, sodass Linux die zugrunde liegenden Festplatten nicht vor mir verbirgt.
Es ist seltsam und schwer zu erklären. Im Grunde erscheinen die Festplatten auf bestimmten Ebenen als eine und auf anderen Ebenen als zwei. Aber ich wette, dass bei BIOS-RAID nicht jede Festplatte ihren eigenen separaten Geräteknoten hat, z. B. /dev/sda
und /dev/sdb
. Wenn doch, dann ist Ihr BIOS-RAID anders als das, was ich gesehen habe.
zu Grub und MBRs: Wenn ein RAID Partitionen statt Festplatten abdeckt, kann ich die darunterliegenden Festplatten trotzdem sehen. Der MBR ist kein RAID-System und daher muss der Bootloader zweimal installiert werden, um im Falle eines Festplattenfehlers booten zu können. Ist das richtig?
Das ist nicht der Fall.verletztum eine weitere Kopie zu installieren, aber im Falle eines Festplattenfehlers ist das Booten das geringste Problem. Kurz gesagt, tun Sie es, wenn Sie möchten, aber es ist bei weitem nicht das Wichtigste. Die Installation von Grub von einer Live-CD auf einer Festplatte ist einfach.
Festplatten in RAID (insbesondere wenn sie vom gleichen Hersteller und Modell sind, im gleichen Werk hergestellt und direkt nebeneinander bei der gleichen Temperatur betrieben werden) fallen wahrscheinlich in schneller Folge aus, eine nach der anderen. Wenn also eine Festplatte ausfällt, ist es wahrscheinlich nicht in Ordnung, einfach eine neue Festplatte einzulegen und mit dem Wiederaufbau zu beginnen: Es besteht eine gute Chance, dass während des Wiederaufbaus die letzte Festplatte, die eine konsistente Kopie der Daten enthält, selbst ausfällt. An diesem Punkt, wenn Sie nur noch die letzte verbleibende Festplatte haben, würde ich empfehlen, einen Experten zu beauftragen (oder es selbst zu tun, wenn Sie sich mit Hardware auskennen), die Platten aus der Originalfestplatte zu entfernen, eine neue Festplatte identischen Herstellers/Modells zu kaufen, die Platten dort einzulegen und die Daten mit der neuen Festplatte auszulesen. Dies ist teuer und zeitaufwändig, aber die sicherste Methode, Ihre Daten zu behalten.
Das sind also die fünf Fragen, die ich für Sie beantwortet habe. Wenn Sie diese Informationen wertvoll fanden, markieren Sie die Antwort bitte entsprechend. Danke.
Antwort2
Die Antwort von Allquixotic ist zu lang:
- Was bietet mir RSTe im Vergleich zu herkömmlichem Linux-Software-RAID?
Boot-Unterstützung und ein etwas anderer Funktionsumfang. Im Kern ist es ein Datenformat. – Sie könnten es sogar ohne Intels RST Option ROM verwenden (dann haben Sie keine spezielle Boot-Unterstützung). Was das Format bedeutet, steht auf der mdadm
Manpage.
- Im RSTe-Modus wird der eigentliche RAID-E/A-Pfad (d. h. Spiegelung und Striping) vom Linux-MD oder vom BIOS verwaltet.
Durch Linux md (also den gesamten Kernel).
Damit bleibt eine Frage offen: Warum ist Intels RST nur auf einige Chipsätze beschränkt? Diese nehmen überhaupt nicht am RAID teil. Bestenfalls speichern sie ein Bit, das dem Option-ROM mitteilt, dass es die Ausführung auf nicht unterstützten Chipsätzen verweigern soll.
Antwort3
Hmmm, eine Antwort zu lang, die andere zu kurz.
RST „Raid“ wird hauptsächlich verwendet, wenn Sie eine Workstation im Dual-Boot-Modus betreiben, da Intel Treiber für Windows und Linux herstellt und Sie das RAID im BIOS konfigurieren können. Sie konfigurieren RAID, partitionieren die virtuelle Festplatte und können einen Dual-Boot-Modus durchführen, wobei beide Betriebssysteme die mehreren Partitionen verstehen.
mdam ist für den Fall gedacht, dass der Server ausschließlich Linux verwendet. Es ist „besser“, da Sie beim Neuaufbau eines Arrays dies vom Betriebssystem und nicht vom BIOS aus tun, sodass die Neuaufbaugeschwindigkeit viel höher ist. Bei großen Festplatten kann ein BIOS-RAID-Neuaufbau mehrere TAGE dauern.
Aber in Wirklichkeit wählen Sie zwischen einem grünen und einem blauen C-Stück. In Wirklichkeit ist Software-RAID im Grunde ein RAID nach dem Motto „CYA ist letzte Chance“.
Wenn Sie eine Festplatte in einem Software-RAID-Array verlieren, können Sie den Server im Wesentlichen 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 aufzubauen. Oft ist es schneller, die Festplatte zu ersetzen, dann alles darauf zu löschen und das Array neu zu erstellen und dann von einer Backup-Wiederherstellungsfestplatte zu booten und dann vom Backup wiederherzustellen.
Mit einem Hardware-Array-Chip können alle Festplatten in Hot-Swap-Fächer gesteckt werden. Wenn eine ausfällt, leuchtet ein rotes Licht auf. Sie können die ausgefallene Festplatte auswerfen und durch eine neue ersetzen. Anschließend erstellt die Hardware-RAID-Karte das Array automatisch neu, während der Server noch läuft.
Während dies theoretisch möglich ist, wenn Sie über Hot-Swap-Trays und ein Linux-Mdam-Software-Array verfügen, besteht in der Praxis die Gefahr einer Panik und es kann leicht passieren, dass der Server nicht mehr auf der verbleibenden Festplatte bootet.
Das andere Problem betrifft den TYP der verwendeten Festplatten. Mit zunehmendem Alter entwickeln normale Workstation-Festplatten fehlerhafte Sektoren, die von der Festplatte intern in Ersatzsektoren umgebucht werden. Das Problem besteht darin, dass diese Umbuchung nur beim Schreiben erfolgt. Die Festplatte verzögert die Umbuchung, wenn ein Lesevorgang auf einen fehlerhaften Sektor erfolgt. Bei einigen Festplattenmodellen wird der fehlerhafte oder fehlerhafte Sektor wiederholt gelesen und das Ergebnis jedes Mal verglichen, bis entschieden wird, dass die besten Daten aus diesem Sektor abgerufen werden können, bevor eine Umbuchung erfolgt. Dieser Vorgang kann etwa eine Minute dauern. Während dieser Zeit ignoriert nun eine Festplatte im Array Befehlscodes, sodass die Software-RAID-Software abstürzt und das Array als fehlerhaft markiert. Beim Neustart haben Sie nun zwei Festplatten mit demselben Sektor, die möglicherweise unterschiedliche Daten enthalten. Der Software-RAID-Manager weiß also nicht, welche „gut“ ist: die Festplatte ohne Fehler oder die Festplatte, die einen Sektor mit der besten Annäherung an die vorhandenen Daten neu umgebucht hat. Western Digital stellt „rote“ Laufwerke her, die in Software-RAID-Arrays verwendet werden sollen, die dies jedoch nicht tun. Sie schlagen beim Lesen eines Sektors sofort fehl, wenn sie einen fehlerhaften Sektor erkennen, und ordnen ihn neu zu, sodass der Array-Manager die Daten aus dem Sektor auf dem intakten Laufwerk nehmen und auf das Laufwerk mit dem fehlerhaften Sektor schreiben kann. Selbstverständlich berechnen sie für diese Festplatten einen Aufpreis.
Zusammenfassend lässt sich sagen, dass Sie Software-RAID nicht für einen Server verwenden sollten, der bei einem Festplattenausfall keine Ausfallzeit verträgt. Software-RAID ist hauptsächlich für Workstations gedacht, bei denen nicht regelmäßig Backups erstellt werden, und für kleine SOHO-Server, die gesichert werden und bei einem Festplattenabsturz einen Tag oder so Ausfallzeit verkraften können.