
Das Organisieren eines einzelnen Speicherplatzes ist eine Aufgabe, die mit einem Hardware-RAID-Controller leicht gelöst werden kann. Sie sollten sich jedoch zunächst mit den Funktionen der Verwendung und Verwaltung eines solchen Controllers vertraut machen. Wir werden heute in unserem Artikel darüber sprechen.
Die Zuverlässigkeit und Geschwindigkeit von Festplattenlaufwerken ist jedem Systemadministrator ein Anliegen. Trotz der Zusicherungen der Hersteller über die Qualität ihrer eigenen Geräte versagen HDD und SSD weiterhin zum ungünstigsten Zeitpunkt und verlieren wertvolle Daten. Die SMART-Technologie ermöglicht in den meisten Fällen die Bewertung des „Zustands“ des Laufwerks. Dies garantiert jedoch nicht, dass das Laufwerk weiterhin reibungslos funktioniert.
Es ist unmöglich, den Ausfall eines Laufwerks mit 100% iger Genauigkeit vorherzusagen. Daher sollten Sie die Option in Betracht ziehen, bei der dies kein Problem darstellt oder einen Servicestopp verursacht. Die Verwendung von RAID-Arrays löst dieses Problem. Betrachten Sie die drei Hauptansätze für diese Aufgabe:
- Software-RAID ist die kostengünstigste, aber auch die am wenigsten produktive Option. Das Array wird vom Betriebssystem erstellt, die gesamte Datenverarbeitungslast liegt auf den Schultern des Zentralprozessors.
- Integriertes Hardware-RAID (auch oft als Fake-RAID bezeichnet) ist ein auf dem Motherboard installierter Mikrochip, der einen Teil der Funktionalität des Hardware-RAID-Controllers übernimmt und mit dem Zentralprozessor zusammenarbeitet. Dieser Ansatz funktioniert etwas schneller als Software-RAID, aber die Zuverlässigkeit eines solchen Arrays lässt zu wünschen übrig.
- Hardware RAID ist ein separater Controller mit eigenem Prozessor und Caching-Speicher, der alle Festplattenvorgänge vollständig übernimmt. Die teuerste, jedoch produktivste und zuverlässigste Option.
Schauen wir uns das Hardware-RAID im Detail an.
Aussehen
Wir haben Adaptec-Lösungen von Microsemi ausgewählt. Dies sind RAID-Controller mit bewährter Benutzerfreundlichkeit und hoher Leistung. Wir installieren sie, wenn unser Kunde
einen Server mit beliebiger oder fester Konfiguration bestellt.

Zum Anschließen von Festplatten werden spezielle Schnittstellenkabel verwendet. Auf der Controllerseite werden
SFF8643- Steckverbinder
verwendet . Mit jedem Kabel können Sie bis zu 4 SAS- oder SATA-Laufwerke anschließen (je nach Modell). Darüber hinaus verfügt das Schnittstellenkabel über einen achtpoligen
SFF-8485- Anschluss für den SGPIO-Bus, auf den wir später noch eingehen werden.
Neben dem RAID-Controller selbst gibt es zwei zusätzliche Geräte, die die Zuverlässigkeit erhöhen können:
- BBU (Battery Backup Unit) ist ein Erweiterungsmodul mit einem Lithium-Ionen-Akku, mit dem Sie die Spannung auf einem flüchtigen Cache-Chip aufrechterhalten können. Im Falle eines plötzlichen Stromausfalls des Servers können Sie durch dessen Verwendung den Inhalt des Caches, der noch nicht auf Festplatten geschrieben wurde, vorübergehend speichern.
Sobald die Stromversorgung des Servers wiederhergestellt ist, wird der Inhalt des Caches im normalen Modus auf die Festplatten geschrieben. Laut Hersteller kann ein voll aufgeladener Akku 72 Stunden lang Cache-Daten speichern. - ZMCP (Zero-Maintenance Cache Protection) ist ein spezielles Erweiterungsmodul für den RAID-Controller, das über einen eigenen nichtflüchtigen Speicher und einen Superkondensator verfügt. Bei einem Serverausfall versorgt der Superkondensator die Mikroschaltung mit Strom, der ausreicht, um den Inhalt des flüchtigen Cache-Speichers in den ZMCP-NAND-Speicher zu schreiben.
Nachdem die Stromversorgung des Servers wiederhergestellt ist, wird der Inhalt des Caches automatisch auf die Festplatten geschrieben. Diese Module werden auf unseren Servern mit Hardware-RAID-Controller und Cache-Schutz installiert.

Dies ist besonders wichtig, wenn Writeback aktiviert ist. Im Falle eines Stromausfalls wird der Cache-Inhalt nicht auf Festplatten geleert, was zu Datenverlust führt und infolgedessen den regulären Betrieb des Festplatten-Arrays unterbricht.
Technische Eigenschaften
Temperatur
Zunächst möchte ich auf eine so wichtige Sache wie das Temperaturregime von Adaptec-Hardware-RAID-Controllern eingehen. Alle von ihnen sind mit kleinen passiven Heizkörpern ausgestattet, die den falschen Eindruck einer geringen Wärmeableitung erwecken können.
Der Hersteller der Steuerung nennt 200 LFM (lineare Fuß pro Minute) als empfohlenen Luftstromwert, was einer Anzeige von 8,24 Litern pro Sekunde (oder 1,02 Metern pro Sekunde) entspricht. Solche Steuerungen sind ausschließlich für die Installation in Rackmount-Gehäusen vorgesehen, in denen ein solcher Luftstrom durch Hochgeschwindigkeits-Standardkühler erzeugt wird.
Von 0 ° C bis 40-55 ° C - die vom Hersteller empfohlene Betriebstemperatur der meisten Adaptec RAID-Controller (abhängig von der Verfügbarkeit der installierten Module). Die maximale Betriebstemperatur des Chips beträgt 100 ° C. Wenn Sie den Regler bei erhöhten Temperaturen (über 85 ° C) betreiben, kann er beschädigt werden. Der Einfachheit halber geben wir unterhalb des Spoilers eine Platte mit empfohlenen Temperaturen für verschiedene Serien von Adaptec-Reglern an.
Unsere Kunden müssen sich keine Sorgen über eine Überhitzung der Steuerungen machen, da unsere Rechenzentren ein
konstantes Temperaturregime beibehalten und die Montage beliebiger Konfigurationsserver die Merkmale solcher Komponenten berücksichtigt (wie in unserem
vorherigen Artikel erwähnt ).
Arbeitsgeschwindigkeit
Um zu demonstrieren, wie die Verfügbarkeit eines Hardware-RAID-Controllers zur Erhöhung der Servergeschwindigkeit beiträgt, haben wir uns entschlossen, einen Prüfstand mit der folgenden Konfiguration zusammenzustellen:
- Intel Xeon CPU E3-1230v5;
- RAM 16 GB DDR4 2133 ECC;
- 4 Festplatten mit einer Kapazität von 1 TB.
Das Betriebssystem wird unter CentOS 7 installiert. Die Rolle der Serveranwendung übernimmt 1C Bitrix24. Zunächst erstellen wir ein Software-RAID mit mdadm und messen die Leistung mithilfe des in Bitrix24 integrierten Tests. Wir nehmen keine speziellen Änderungen oder zusätzlichen Einstellungen am System vor - eine Demokonfiguration mit Standardeinstellungen ist installiert.
Dann werden wir den Adaptec ASR 7805 RAID-Controller mit dem AFM-700-Cache-Schutzmodul in denselben Stand stellen, dieselben Festplatten daran anschließen und genau denselben Test durchführen.
Mit Software-RAID
Der zweifelsfreie Vorteil von Software-RAID ist die einfache Bedienung. Ein Array unter Linux wird mit dem Standarddienstprogramm mdadm erstellt. Bei der Installation des Betriebssystems wird das Erstellen eines Arrays meistens direkt vom Installationsprogramm bereitgestellt. Wenn das Installationsprogramm keine solche Möglichkeit bietet, reicht es aus, einfach mit der Tastenkombination Strg + Alt + F2 zur nächsten Konsole zu wechseln (wobei die Nummer der Funktionstaste die Nummer des aufgerufenen tty ist).
Das Erstellen eines Arrays ist sehr einfach. Der
Befehl fdisk -l überprüft, welche Festplatten im System vorhanden sind. In unserem Fall sind dies 4 Festplatten:
/dev/sda /dev/sdb /dev/sdc /dev/sdd
Stellen Sie sicher, dass sich auf den Datenträgern keine Metadaten befinden, z. B. aus dem vorherigen Array:
mdadm --examine /dev/sda /dev/sdb /dev/sdc /dev/sdd
Auf allen 4 Festplatten sollte eine Meldung angezeigt werden:
mdadm: No md superblock detected
Wenn sich auf einer oder mehreren Festplatten Metadaten befinden, können Sie diese wie folgt löschen (wobei sdX die erforderliche Festplatte ist):
mdadm --zero-superblock /dev/sdX
Erstellen Sie mit
fdisk Partitionen auf jeder Festplatte für das zukünftige Array. Der Partitionstyp sollte
fd sein (Linux RAID Autodetect) .
fdisk /dev/sdX
Wir sammeln das RAID 10-Array von den erstellten Partitionen mit dem folgenden Befehl:
mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Unmittelbar danach wird das Array / dev / md0 erstellt und der Prozess zum Wiederherstellen der Daten auf den Datenträgern gestartet. Geben Sie Folgendes ein, um den aktuellen Status des Prozesses zu verfolgen:
cat /proc/mdstat

Bis der Vorgang der Datenwiederherstellung abgeschlossen ist, wird die Geschwindigkeit des Festplattenarrays verringert.
Nach der Installation des Betriebssystems und von Bitrix24 auf dem erstellten Array haben wir den Standardtest gestartet und die folgenden Ergebnisse erhalten:

Mit Hardware-RAID
Bevor der Server den einzelnen Speicherplatz des RAID-Arrays verwenden kann, muss die Grundkonfiguration des Controllers und der logischen Laufwerke durchgeführt werden. Es gibt zwei Möglichkeiten, dies zu tun:
- Verwenden des Dienstprogramms für den internen Controller,
- Dienstprogramm vom Betriebssystem.
Die erste Methode ist ideal für die Ersteinrichtung. Die Anmeldung beim Dienstprogramm im Legacy-Modus (dem Standardmodus für unsere Server) erfolgt mit der Tastenkombination STRG + A, wenn während des POST-Initialisierungsprozesses eine Benachrichtigung angezeigt wird.

Mit dem Dienstprogramm können nicht nur die Controller-Einstellungen, sondern auch logische Geräte gesteuert werden. Wir initialisieren physische Festplatten (alle Informationen auf Festplatten während der Initialisierung werden zerstört) und erstellen ein RAID-10-Array mithilfe des Abschnitts "Array erstellen". Beim Erstellen fordert das System die gewünschte Streifengröße an, dh die Größe des Datenblocks für eine E / A-Operation:
- Ein größerer Streifen ist ideal für die Arbeit mit großen Dateien.
- Eine kleinere Streifengröße eignet sich für die Verarbeitung einer großen Anzahl kleiner Dateien.
Wichtig - Die Streifengröße wird nur einmal festgelegt (beim Erstellen des Arrays) und dieser Wert kann in Zukunft nicht mehr geändert werden.

Unmittelbar nachdem der Controller den Befehl zum Erstellen eines Arrays sowie mit Software-RAID erhalten hat, beginnt der Prozess zum Wiederherstellen von Daten auf Datenträgern. Dieser Prozess wird im Hintergrund ausgeführt, und das BIOS kann sofort auf das logische Laufwerk zugreifen. Die Leistung des Festplattensubsystems wird ebenfalls verringert, bis der Vorgang abgeschlossen ist. Wenn mehrere Arrays erstellt wurden, muss das Boot-Array mithilfe der Tastenkombination
Strg + B ermittelt werden.Nachdem der Array-Status in
Optimal geändert wurde, haben wir Bitrix24 installiert und genau denselben Test durchgeführt. Testergebnis:

Es wird sofort klar, dass der Hardware-RAID-Controller Lese- und Schreibvorgänge auf Datenträger mithilfe eines Caches beschleunigt, wodurch Massenbenutzeranforderungen schneller verarbeitet werden können.
Controller-Management
Direkt vom Betriebssystem aus wird die Steuerung mithilfe einer Software gesteuert,
die auf der Website des Herstellers heruntergeladen werden kann . Für die meisten Betriebssysteme und Hypervisoren stehen folgende Optionen zur Verfügung:
- Debian
- Ubuntu
- Red Hat Linux,
- Fedora
- SuSE Linux,
- FreeBSD
- Solaris,
- Microsoft Windows
- Citrix XenServer,
- VMware ESXi
Andere Linux-Distributionen bieten ebenfalls Treiberquellcodes an. Neben Treibern und dem Konsolendienstprogramm ARCCONF bietet der Hersteller auch ein Programm mit grafischer Oberfläche zur bequemen Steuerung des Controllers an - maxView Storage Manager.
Mit diesen Dienstprogrammen können Sie logische und physische Festplatten problemlos verwalten, ohne den Server zu unterbrechen. Sie können auch nützliche Funktionen wie "Hervorheben von Datenträgern" verwenden. Wir haben bereits das fünfte Kabel zum Anschließen von SGPIO erwähnt - dieses Kabel wird direkt mit der Rückwandplatine (von der englischen Rückwandplatine - der Verbindungsplatine für Serverlaufwerke) verbunden und ermöglicht es dem RAID-Controller, die Lichtanzeige jeder Festplatte vollständig zu steuern.
Beachten Sie, dass Backplanes nicht nur SGPIO, sondern auch I2C unterstützen. Das Umschalten zwischen diesen Modi erfolgt meistens über Jumper auf der Rückwandplatine.
Jedem an den Adaptec-Hardware-RAID-Controller angeschlossenen Gerät wird eine Kennung zugewiesen, die aus einer Kanalnummer und einer physischen Festplattennummer besteht. Die Kanalnummern entsprechen den Portnummern auf der Steuerung.
Das Ersetzen der Festplatte ist ein regulärer Vorgang, der jedoch eine eindeutige Identifizierung erfordert. Wenn Sie während dieses Vorgangs einen Fehler machen, können Sie Daten verlieren und den Server unterbrechen. Bei einem Hardware-RAID-Controller ist ein solcher Fehler selten.
Dies geschieht ganz einfach:
- Eine Liste der dem Controller zugeordneten Laufwerke wird angefordert:
arcconf getconfig 1
- Es wird eine Festplatte gefunden, die ausgetauscht werden muss, und ihre „Koordinaten“ werden aufgezeichnet (Parameter Gemeldeter Kanal, Gerät (T: L) ).

- Die Festplatte wird mit dem folgenden Befehl "hervorgehoben":
arcconf identify 1 device 0 0
Der Controller gibt den entsprechenden Backplane-Befehl aus und die LED des gewünschten Laufwerks beginnt gleichmäßig in einer anderen Farbe als der Standardarbeitsfarbe zu blinken.
Auf Supermicro-Plattformen ist der normale Festplattenbetrieb beispielsweise grün oder blau, und die „hervorgehobene“ Festplatte blinkt rot. In diesem Fall ist es unmöglich, die Festplatten zu verwechseln, wodurch Fehler aufgrund des menschlichen Faktors vermieden werden.

Caching konfigurieren
Nun ein paar Worte zu den Möglichkeiten, den Schreibcache zu bearbeiten. Die Option Durchschreiben bedeutet, dass der Controller das Betriebssystem erst dann über den Erfolg des Schreibvorgangs informiert, wenn die Daten tatsächlich auf die Festplatten geschrieben wurden. Dies erhöht die Zuverlässigkeit der Datensicherheit, erhöht jedoch nicht die Produktivität.
Um die maximale Geschwindigkeit zu erreichen, müssen
Sie die Option Zurückschreiben verwenden. Mit diesem Betriebsschema informiert die Steuerung das Betriebssystem über den erfolgreichen E / A-Vorgang unmittelbar nach dem Eintreffen der Daten im Cache.
Wichtig - Bei Verwendung von Write Back wird dringend empfohlen, ein BBU- oder ZMCP-Modul zu verwenden, da bei einem plötzlichen Stromausfall einige Daten verloren gehen können.
Überwachungssetup
Das Problem der Überwachung des Gerätestatus und der Möglichkeit der Benachrichtigung ist für jeden Systemadministrator recht akut. Um das „Bundle“ von Zabbix und den Adaptec RAID-Controller zu konfigurieren, empfehlen wir die Verwendung der
aufgeführten Lösungen .
Häufig müssen Sie den Status des Controllers direkt vom Hypervisor aus überwachen, z. B. VMware ESXi. Das Problem wird gelöst, indem der CIM-Anbieter mithilfe
der Microsemi-Anweisung installiert wird.
Firmware
Die Notwendigkeit einer RAID-Controller-Firmware tritt am häufigsten auf, um die vom Hersteller beim Betrieb des Geräts festgestellten Probleme zu beheben. Trotz der Tatsache, dass die Firmware für die Selbstaktualisierung verfügbar ist, sollte dieser Vorgang sehr verantwortungsbewusst angegangen werden, insbesondere wenn der Vorgang auf einem "Kampf" -System ausgeführt wird.
Wenn unser Client die Firmware-Version des Controllers ändern muss, muss er nur
ein Ticket in unserem Control Panel
erstellen . Systemingenieure flashen den RAID-Controller zum angegebenen Zeitpunkt auf die erforderliche Version und führen dies so korrekt wie möglich aus.
Wichtig - Sie sollten das Flashen nicht selbst durchführen, da jeder Fehler zu Datenverlust führen kann!
Fazit
Die Verwendung eines Hardware-RAID-Controllers ist in den meisten Fällen gerechtfertigt, wenn eine hohe Geschwindigkeit und Zuverlässigkeit des Festplattensubsystems erforderlich sind.
Die Systemingenieure von Selectel führen die Grundkonfiguration des Festplattenarrays auf dem Hardware-RAID-Controller kostenlos durch, wenn sie einen Server mit beliebiger Konfiguration bestellen. Für den Fall, dass zusätzliche Unterstützung bei der Konfiguration erforderlich ist, helfen wir Ihnen gerne im Rahmen unseres
Verwaltungsdienstes . Außerdem haben wir für unsere Leser ein kleines
Memo über die Befehle des Dienstprogramms arcconf vorbereitet.
Verwenden Sie Hardware-RAID-Controller? Wir sehen uns in den Kommentaren.