Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Hallo Habr! In diesem Artikel verraten wir Ihnen, ob es sich lohnt, RAID-Arrays auf Basis von SATA-SSD- und NVMe-SSD-Solid-State-Lösungen zu organisieren, und ob sich daraus ein ernsthafter Gewinn ergibt? Wir haben uns entschlossen, dieses Problem zu untersuchen, indem wir die Typen und Arten von Controllern berücksichtigt haben, die dies ermöglichen, sowie den Umfang solcher Konfigurationen.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Auf die eine oder andere Weise hat jeder von uns mindestens einmal in seinem Leben Definitionen wie „RAID“, „RAID-Array“, „RAID-Controller“ gehört, aber kaum großen Wert darauf gelegt, da dies alles für einen Normalbürger unwahrscheinlich ist PC-Bojar Interessant. Aber jeder wünscht sich hohe Geschwindigkeiten von internen Laufwerken und die Zuverlässigkeit seiner Arbeit. Denn egal wie leistungsstark der Rechner auch ist, die Geschwindigkeit des Laufwerks wird zum Engpass, wenn es um die Gesamtgeschwindigkeit von PC und Server geht.

Dies geschah genau bis zu dem Zeitpunkt, als herkömmliche Festplatten durch moderne NVMe-SSDs mit einer vergleichbaren Kapazität von 1 TB oder mehr ersetzt wurden. Und wenn es früher bei PCs häufiger Pakete aus SATA-SSD + ein paar großen Festplatten gab, werden sie heute zunehmend durch eine andere Lösung ersetzt – NVMe-SSD + ein paar große SATA-SSDs. Wenn es um Unternehmensserver und die Cloud geht, sind viele bereits erfolgreich auf SATA-SSDs umgestiegen, einfach weil diese schneller als normale Blechdosen sind und mehr I/O gleichzeitig verarbeiten können.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Allerdings liegt die Fehlertoleranz des Systems immer noch auf einem recht niedrigen Niveau: Wir können nicht, wie im „Battle of Psychics“, mit einer Genauigkeit von nicht einmal einer Woche vorhersagen, wann das eine oder andere Solid-State-Laufwerk für ein Jahr sterben wird lange Zeit. Und wenn Festplatten nach und nach „absterben“, sodass Sie die Symptome erkennen und Maßnahmen ergreifen können, „sterben“ SSDs sofort und ohne Vorwarnung. Und jetzt ist es an der Zeit herauszufinden, warum das alles überhaupt nötig ist? Lohnt es sich, RAID-Arrays auf Basis von SATA-SSD- und NVMe-SSD-Lösungen zu organisieren, und lässt sich daraus ein ernsthafter Gewinn erzielen?

Warum benötigen Sie ein RAID-Array?

Das Wort „Array“ selbst impliziert bereits, dass zu seiner Erstellung mehrere Laufwerke (HDD und SSD) verwendet werden, die über einen RAID-Controller zusammengefasst und vom Betriebssystem als ein einziger Datenspeicher erkannt werden. Die globale Aufgabe, die RAID-Arrays lösen können, besteht darin, die Datenzugriffszeit zu minimieren und die Lese-/Schreibgeschwindigkeit und Zuverlässigkeit zu erhöhen, was durch die Fähigkeit zur schnellen Wiederherstellung im Fehlerfall erreicht wird. Übrigens ist es nicht notwendig, RAID für Home-Backups zu verwenden. Wenn Sie jedoch über einen eigenen Heimserver verfügen, auf den Sie rund um die Uhr Zugriff benötigen, ist dies eine andere Sache.

Es gibt über ein Dutzend Ebenen von RAID-Arrays, die sich jeweils in der Anzahl der darin verwendeten Laufwerke unterscheiden und ihre Vor- und Nachteile haben: Mit RAID 0 können Sie beispielsweise eine hohe Leistung ohne Fehlertoleranz erzielen, mit RAID 1 können Sie festlegen ermöglicht die automatische Spiegelung von Daten ohne Geschwindigkeitssteigerung und RAID 10 vereint die oben genannten Möglichkeiten. RAID 0 und 1 sind die einfachsten (da keine Softwareberechnungen erforderlich sind) und daher auch die beliebtesten. Letztendlich hängt die Entscheidung für ein bestimmtes RAID-Level von den Aufgaben des Disk-Arrays und den Fähigkeiten des RAID-Controllers ab.

Heim- und Unternehmens-RAID: Was ist der Unterschied?

Die Grundlage eines jeden modernen Unternehmens sind große Datenmengen, die sicher auf Unternehmensservern gespeichert werden müssen. Und doch müssen sie, wie oben erwähnt, rund um die Uhr ständig zugänglich sein. Es ist klar, dass neben der Hardware auch der Softwareteil wichtig ist, aber in diesem Fall handelt es sich um Geräte, die eine zuverlässige Speicherung und Verarbeitung von Informationen gewährleisten. Keine Software rettet das Unternehmen vor dem Ruin, wenn die „eiserne“ Ausrüstung nicht den ihr übertragenen Aufgaben entspricht.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Für diese Aufgaben bietet jeder Hardwarehersteller sogenannte Corporate Devices an. Kingston verfügt im Vergleich zu SATA-Modellen über leistungsstarke Solid-State-Lösungen Kingston 450R (DC450R) и DC500-Seriesowie die Modelle DC1000M U.2 NVMe, DCU1000 U.2 NVMe und DCP-1000 PCI-e NVMe, die für den Einsatz in Rechenzentren (Datenverarbeitungszentren) und Supercomputern konzipiert sind. Arrays solcher Laufwerke werden normalerweise in Verbindung mit Hardware-Controllern verwendet.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Für den Consumer-Markt (also für Heim-PCs und NAS-Server) sind solche Laufwerke erhältlich als Kingston KC2000 NVMe PCIe, aber in diesem Fall ist es nicht notwendig, einen Hardware-Controller zu kaufen. Sie können sich auf einen in das Motherboard integrierten PC oder NAS-Server beschränken, es sei denn, Sie planen selbst, einen Heimserver für atypische Aufgaben zusammenzustellen (z. B. ein kleines Heimhosting für Freunde zu starten). Darüber hinaus implizieren Heim-RAID-Arrays in der Regel nicht das Vorhandensein von Hunderten und Tausenden von Laufwerken, sondern sind auf zwei, vier und acht Geräte (normalerweise SATA) beschränkt.

Typen und Typen von RAID-Controllern

Es gibt drei Arten von RAID-Controllern, die auf den Prinzipien der Implementierung von RAID-Arrays basieren:

1. Software, bei der die Steuerung des Arrays der CPU und dem DRAM obliegt (d. h. die Ausführung des Programmcodes erfolgt auf dem Prozessor).

2. Integriert, d. h. eingebaut in die Hauptplatine eines PCs oder NAS-Servers.

3. Hardware (modular), das sind diskrete Erweiterungskarten für PCI/PCIe-Motherboard-Steckplätze.

Was ist ihr grundlegender Unterschied zueinander? Software-RAID-Controller sind integrierten und Hardware-RAID-Controllern hinsichtlich Leistung und Fehlertoleranz unterlegen, benötigen für den Betrieb jedoch keine spezielle Hardware. Es ist jedoch wichtig sicherzustellen, dass der Prozessor des Hostsystems leistungsstark genug ist, um die RAID-Software auszuführen, ohne die Leistung von Anwendungen zu beeinträchtigen, die auch auf dem Host ausgeführt werden. Integrierte Controller verfügen in der Regel über einen eigenen Cache-Speicher und verbrauchen eine gewisse Menge an CPU-Ressourcen.

Die Hardwareversionen verfügen jedoch sowohl über einen eigenen Cache-Speicher als auch über einen integrierten Prozessor zur Ausführung von Softwarealgorithmen. Normalerweise ermöglichen sie die Implementierung aller Arten von RAID-Levels und unterstützen mehrere Laufwerkstypen gleichzeitig. Beispielsweise können SATA-, SAS- und NVMe-Geräte gleichzeitig an moderne Broadcom-Hardware-Controller angeschlossen werden, sodass Sie den Controller beim Upgrade von Servern nicht wechseln müssen: Insbesondere beim Wechsel von SATA-SSD zu NVMe-SSD ist dies bei Controllern nicht der Fall müssen geändert werden.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

In diesem Sinne näherten wir uns der Typologie der Controller selbst. Wenn es drei Modi gibt, muss es noch andere geben? In diesem Fall wird die Antwort auf diese Frage bejahend sein. Abhängig von den Funktionen und Fähigkeiten können RAID-Controller in verschiedene Typen unterteilt werden:

1. Gewöhnliche Controller mit RAID-Funktion
In der gesamten Hierarchie ist dies der einfachste Controller, mit dem Sie HDD und SSD zu RAID-Arrays der Level „0“, „1“ oder „0 + 1“ kombinieren können. Programmgesteuert wird dies auf Firmware-Ebene implementiert. Für den Einsatz im Unternehmensbereich sind solche Geräte jedoch kaum zu empfehlen, da ihnen ein Cache fehlt und sie keine Arrays der Level „5“, „3“ usw. unterstützen. Für einen Heimserver der Einstiegsklasse sind sie aber durchaus geeignet.

2. Mit anderen RAID-Controllern gekoppelte Controller
Dieser Controllertyp kann mit integrierten Motherboard-Controllern gekoppelt werden. Dies geschieht nach folgendem Prinzip: Ein diskreter RAID-Controller übernimmt die Lösung „logischer“ Aufgaben und der eingebaute übernimmt die Funktionen des Datenaustauschs zwischen Laufwerken. Es gibt jedoch einen Vorbehalt: Der Parallelbetrieb solcher Controller ist nur auf kompatiblen Motherboards möglich, wodurch ihr Anwendungsbereich erheblich eingeschränkt wird.

3. Unabhängige RAID-Controller
Diese diskreten Lösungen enthalten an Bord alle notwendigen Chips, um mit Servern der Enterprise-Klasse zu arbeiten, mit eigenem BIOS, Cache-Speicher und Prozessor für schnelle Fehlerkorrektur und Prüfsummenberechnung. Darüber hinaus erfüllen sie hohe Ansprüche an die Zuverlässigkeit in der Fertigung und verfügen über hochwertige Speichermodule.

4. Externe RAID-Controller
Es ist nicht schwer zu erraten, dass alle oben aufgeführten Controller intern sind und über den PCIe-Anschluss des Motherboards mit Strom versorgt werden. Was sagt es? Und dass der Ausfall des Motherboards zu Fehlern im Betrieb des RAID-Arrays und Datenverlust führen kann. Bei externen Controllern besteht dieses Missverständnis nicht, da sie in einem separaten Gehäuse mit unabhängiger Stromversorgung untergebracht sind. Im Hinblick auf die Zuverlässigkeit bieten diese Controller das höchste Maß an Datenspeicherung.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell und Cisco sind nur einige der Unternehmen, die derzeit Hardware-RAID-Controller anbieten.

Betriebsarten der RAID-Controller SAS/SATA/NVMe

Der Hauptzweck von Tri-Mode-HBA- und RAID-Controllern (oder Controllern mit Tri-Mode-Funktionalität) besteht darin, NVMe-basiertes Hardware-RAID zu erstellen. Die Controller der 9400-Serie von Broadcom können dies tun: zum Beispiel MegaRAID 9460-16i. Er gehört zu einem eigenständigen Typ von RAID-Controllern, ist mit vier SFF-8643-Anschlüssen ausgestattet und ermöglicht dank Tri-Mode-Unterstützung den gleichzeitigen Anschluss von SATA/SAS- und NVMe-Laufwerken. Darüber hinaus ist er auch einer der energieeffizientesten Controller auf dem Markt (er verbraucht nur 17 Watt Strom, während jeder der 1,1 Ports weniger als 16 Watt verbraucht).

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Als Verbindungsschnittstelle dient PCI Express x8 Version 3.1, was eine Bandbreite von 64 Gbit/s ermöglicht (Controller für PCI Express 2020 werden für 4.0 erwartet). Der 16-Port-Controller basiert auf einem 2-Core-Chip SAS3516 und 72-Bit DDR4-2133 SDRAM (4 GB) sowie die Möglichkeit, bis zu 240 SATA/SAS-Laufwerke oder bis zu 24 NVMe-Geräte anzuschließen. Bezüglich der Organisation von RAID-Arrays werden die Level „0“, „1“, „5“ und „6“ sowie „10“, „50“ und „60“ unterstützt. Übrigens der Cache-Speicher MegaRAID 9460-16i und andere Controller der 9400-Serie werden durch das optionale CacheVault CVPM05-Modul vor Stromausfällen geschützt.

Die Tri-Mode-Technologie basiert auf der SerDes-Datenkonvertierungsfunktion: Konvertierung serieller Daten in SAS/SATA-Schnittstellen in parallele Form in PCIe NVMe und umgekehrt. Das heißt, der Controller handelt Geschwindigkeiten und Protokolle aus, um nahtlos mit allen drei Arten von Speichergeräten zusammenzuarbeiten. Dies bietet eine nahtlose Möglichkeit zur Skalierung von Rechenzentrumsinfrastrukturen: Benutzer können NVMe ohne größere Änderungen an anderen Systemkonfigurationen verwenden.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Bei der Planung von Konfigurationen mit NVMe-Laufwerken ist jedoch zu berücksichtigen, dass NVMe-Lösungen für die Verbindung 4 PCIe-Lanes verwenden, was bedeutet, dass jedes Laufwerk alle SFF-8643-Portleitungen nutzt. Es stellt sich heraus, dass nur vier NVMe-Laufwerke direkt an den MegaRAID 9460-16i-Controller angeschlossen werden können. Oder beschränken Sie sich auf zwei NVMe-Lösungen und verbinden Sie gleichzeitig acht SAS-Laufwerke (siehe Anschlussdiagramm unten).

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Die Abbildung zeigt die Verwendung von Anschluss „0“ (C0 / Anschluss 0) und Anschluss „1“ für NVMe-Verbindungen, sowie der Anschlüsse „2“ und „3“ für SAS-Verbindungen. Diese Anordnung kann umgekehrt werden, aber jedes x4-NVMe-Laufwerk muss über Nachbarleitungen verbunden werden. Die Controller-Betriebsmodi werden über die Konfigurationsdienstprogramme StorCLI oder Human Interface Infrastructure (HII) festgelegt, die in einer UEFI-Umgebung ausgeführt werden.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Der Standardmodus ist das Profil „PD64“ (unterstützt nur SAS/SATA). Wie oben erwähnt, gibt es insgesamt drei Profile: „Nur SAS/SATA-Modus“ (PD240/PD64/PD 16), „Nur-NVMe-Modus“ (PCIe4) und gemischter Modus, in dem alle Arten von Laufwerken arbeiten können: „ PD64 -PCIe4" (Unterstützung für 64 physische und virtuelle Festplatten mit 4 NVMe-Laufwerken). Im gemischten Modus sollte der Wert des angegebenen Profils wie folgt lauten: „ProfileID=13“. Das ausgewählte Profil wird übrigens als Leader gespeichert und auch dann nicht zurückgesetzt, wenn Sie über den Befehl „Set Factory Defaults“ auf die Werkseinstellungen zurücksetzen. Es kann nur manuell geändert werden.

Soll ich ein RAID-Array auf einer SSD erstellen?

Wir haben also bereits verstanden, dass RAID-Arrays der Schlüssel zu hoher Leistung sind. Aber lohnt sich SSD-RAID für den Heim- und Firmengebrauch? Viele Skeptiker sagen, dass die Geschwindigkeitssteigerung nicht so groß ist, dass NVMe-Laufwerke kaputt gehen. Aber ist das wirklich so? Kaum. Die größte Einschränkung bei der Verwendung einer SSD im RAID (sowohl zu Hause als auch auf Unternehmensebene) ist möglicherweise nur der Preis. Ob es Ihnen gefällt oder nicht, die Kosten für ein Gigabyte Festplattenspeicher sind viel günstiger.

Der Anschluss mehrerer Solid-State-„Laufwerke“ an einen RAID-Controller zum Erstellen eines Arrays von SSDs in bestimmten Konfigurationen kann einen enormen Einfluss auf die Leistung haben. Vergessen Sie jedoch nicht, dass die maximale Leistung durch den Durchsatz des RAID-Controllers selbst begrenzt wird. Der RAID-Level, der die beste Leistung bietet, ist RAID 0.

Muss ich aus einer SSD ein RAID-Array erstellen und welche Controller werden dafür benötigt?

Ein typisches RAID 0-Setup mit zwei SSDs, das eine feste Blocking- und Striping-Methode zwischen SSDs verwendet, verdoppelt die Leistung (im Vergleich zu den Geschwindigkeiten einer einzelnen SSD). Gleichzeitig ist ein RAID 0-Verbund mit vier SSDs bereits viermal schneller als die langsamste SSD im Verbund (abhängig von der Bandbreitenbegrenzung auf SSD-RAID-Controller-Ebene).

Nach einfachen Berechnungen ist eine SATA-SSD etwa dreimal schneller als eine herkömmliche SATA-Festplatte. NVMe-Lösungen sind sogar noch effizienter – zehnmal oder mehr. Unter der Annahme, dass zwei Festplatten in einem RAID 3-Level die Leistung um 10 % verdoppeln, sind zwei SATA-SSDs sechsmal schneller und zwei NVMe-SSDs 50-mal schneller. Insbesondere kann ein einzelnes Kingston KC6 NVMe PCIe-Laufwerk sequentielle Lese- und Schreibgeschwindigkeiten von bis zu 20 MB/s erreichen, was im RAID 2000-Format beeindruckende 3200 GB/s erreicht. Und die Lese-/Schreibgeschwindigkeit von Zufallsblöcken mit einer Größe von 0 KB wird von 6 IOPS auf 4 IOPS steigen. Aber... gleichzeitig bietet uns „Null“-RAID keine Redundanz.

Man kann sagen, dass zu Hause normalerweise keine Speicherredundanz erforderlich ist, sodass RAID 0 tatsächlich die am besten geeignete RAID-Konfiguration für SSDs ist. Dies ist eine zuverlässige Möglichkeit, eine deutliche Leistungssteigerung als Alternative zum Einsatz von Technologien wie Intel Optane zu erzielen. basierte SSDs. Und so verhalten sich SSD-Lösungen in den gängigsten RAID-Typen („1“, „5“, „10“, „50“) – darüber sprechen wir in unserem nächsten Artikel.

Dieser Artikel wurde mit Unterstützung unserer Kollegen bei Broadcom erstellt, die ihre Controller den Ingenieuren von Kingston zum Testen mit SATA/SAS/NVMe-Laufwerken der Enterprise-Klasse zur Verfügung stellen. Dank dieser freundlichen Symbiose müssen Kunden nicht an der Zuverlässigkeit und Stabilität der Kingston-Laufwerke mit HBA- und RAID-Controllern aus der Produktion zweifeln. Broadcom.

Weitere Informationen zu Kingston-Produkten finden Sie hier auf der offiziellen Website Unternehmen.

Source: habr.com

Kommentar hinzufügen