Auswirkungen von Festplatten-RAID auf die CPU

405
Arash Howaida

Hinsichtlich des Risikos, dass Daten aufgrund von Lesefehlern verloren gehen (insbesondere ein starkes Risiko bei RAID 0). Bei über 0 können wir uns auf verschiedenen Ebenen gegen Ausfälle absichern. All das verstehe ich.

Frage: Was ich mich jetzt wundere ist, gibt es andere Vorbehalte, an die man denken muss? Eine Sache, die ich versuchte, meinen Kopf zu umwickeln, war die Auswirkung auf die CPU-Last. Würde die CPU die Dinge anders verarbeiten?

(Ich stellte mir den inneren Monolog der CPU vor.) "Whoa, jetzt entferne ich Daten und schreibe auf mehrere Laufwerke! Das ist anders."

Aber ich bin mir nicht sicher, vielleicht macht es keinen Unterschied? Wenn ja, was ist der Unterschied und wie skaliert er? (sagen Sie, Strippen auf 2 Laufwerken verglichen mit Strippen auf 8?)

Optionale Tag-On-Frage: Wenn sich herausstellt, dass die CPU-Auslastung erheblich beeinträchtigt wird, welche CPU-Funktionen eignen sich besser für RAIDs? (Kernzahl, Hertz, ect)

Hardware Software

  • Software: Bei der Konfiguration des Arrays ist außer der grundlegenden Betriebssystemvariante keine spezielle Software in Frage
  • Hardware: Ich würde mich für das Festplattengehäuse sowie das SSD-RAID-Gehäuse auf verschiedenen Ebenen interessieren - nur um zu sehen, ob und ob es skaliert wird
0
Es kann hilfreich sein, die betreffende Hardware zu erwähnen. Software-RAID wirkt sich auf die Systemressourcen aus, eine Hardware-RAID-Lösung jedoch nicht. acejavelin vor 5 Jahren 3
@acejavelin - das könnte genauso gut eine Antwort sein ... du hast den Nagel auf den Kopf getroffen. Kinnectus vor 5 Jahren 0
@acejavelin Ich habe ein paar Klarstellungen vorgenommen. Lass mich wissen, ob ich noch etwas hinzufügen kann, um die Frage zu stellen. Arash Howaida vor 5 Jahren 0

2 Antworten auf die Frage

3
acejavelin

Die Antwort ist ziemlich einfach und doch vage ...

Wenn Sie eine Hardware-RAID-Lösung verwenden, sind die Auswirkungen auf die Systemressourcen vernachlässigbar und wahrscheinlich nicht vom Betriebssystem abhängig.

Wenn Sie von einer Software-RAID-Lösung sprechen, wirkt sich dies definitiv auf die Systemressourcen aus. Allerdings ist es sogar schwierig, die Auswirkungen zu verallgemeinern. Die Anzahl der involvierten Variablen wie Anzahl und Typ der Laufwerke, implementierter RAID-Typ, Betriebssystem, CPU, Arbeitsspeicher usw. wäre allesamt Teil der Gleichung. In einigen Fällen ist die Auswirkung gering und in anderen Fällen so signifikant, dass sie dafür entwickelt werden muss.

1
Austin Hemmelgarn

Was ich mich jetzt wundere ist, gibt es noch andere Vorbehalte, an die man denken muss? Eine Sache, die ich versuchte, meinen Kopf zu umwickeln, war die Auswirkung auf die CPU-Last. Würde die CPU die Dinge anders verarbeiten?

Bei einem echten Hardware-RAID sieht die CPU nichts anderes als beim Schreiben auf ein normales Laufwerk. Das ist Teil des Punktes einer Hardware-RAID-Implementierung. Vor dem RAID-Controller ändert sich nichts (außer möglicherweise den Treibern). Wenn die Treiber für den RAID-Adapter nicht wirklich schrecklich sind, werden Sie keine Leistungsunterschiede bezüglich der CPU feststellen.

Bei Software-RAID ist die CPU natürlich involviert. Wenn Sie sich jedoch nicht mit RAID4 / 5/6 beschäftigen, ist das, was von der CPU erledigt wird, so unbedeutend, dass es die meiste Zeit wirklich nicht wichtig ist (tatsächlich die Das Dateisystem und die einfache E / A-Planung, die auch ohne RAID vorhanden sind, sind um ein Vielfaches komplexer als alle Berechnungen, die für RAID1 / RAID0 / RAID10 durchgeführt werden müssen.

Bei gefälschten Hardware-RAIDs, wie sie in vielen BIOS-Implementierungen des Desktop-Motherboards zu finden sind, ist es schwierig, ohne genaue Angaben zur genauen Implementierung zu sagen. Einige von ihnen verfügen über einen dedizierten Prozessor, an dem sie das RAID-System ausführen (auch wenn der Prozessor normalerweise nicht so effizient ist wie eine echte Hardware-RAID-Implementierung), andere definieren nur einige Konfigurationsoptionen und lassen die CPU sowieso alles erledigen.

Wenn sich herausstellt, dass die CPU-Auslastung erheblich beeinträchtigt wird, welche CPU-Funktionen sind für RAIDs besser geeignet? (Kernzahl, Hertz, ect)

Dies hängt von der genauen Implementierung und sogar von der genauen CPU-Architektur ab (was für eine Implementierung in ARM von Belang ist, ist für x86 in der gleichen Implementierung möglicherweise unerheblich). In der Regel müssen Sie bei der Handhabung von RAID4 / 5/6 jedoch nur sehr wenig auf die CPU-Spezifikationen achten. Alles andere ist wirklich so unbedeutend, dass es keine Rolle spielt, solange Sie ein anständiges System haben. Auch für RAID4 / 5/6 sollten Sie sich wahrscheinlich Gedanken über die Speicherleistung machen, da die Paritätsberechnungen eigentlich recht speicherintensiv sind.


Eine kleine Seite:

Hinsichtlich des Risikos, dass Daten aufgrund von Lesefehlern verloren gehen (insbesondere ein starkes Risiko bei RAID 0). Bei über 0 können wir uns auf verschiedenen Ebenen gegen Ausfälle absichern. All das verstehe ich.

RAID ist nicht dazu da, um Sie vor Datenverlust zu bewahren (wenn Sie nicht vorsichtig sind, kann dies das Risiko eines Datenverlusts erhöhen). Dafür gibt es Backups.