Ich habe ein billiges 2-Bay-NAS mit einer 2-TB-Festplatte. Um robust gegen Festplattenausfälle zu sein, denke ich darüber nach, eine zweite 2-TB-Festplatte zu kaufen und sie mit Linux mdadm in RAID1 zu stecken. Das Dateisystem ist ext4.
Wird dies die Leistung des NAS erhöhen oder verringern? Was ist mit nur Lese- oder Schreibvorgängen?
Es scheint viele Meinungen zu diesem Thema zu geben, aber kein Konsens.
Vielen Dank.
Bearbeiten:
Also habe ich bereits drei verschiedene Antworten: "ein bisschen schneller", "Sie werden es nicht bemerken" und "die Leistung verringern, wenn überhaupt". (Ich interessiere mich hauptsächlich für die Leseleistung.) Wikipedia sagt, "die Leseleistung kann ungefähr als lineares Vielfaches der Anzahl der Kopien steigen". Welches ist es?
Bearbeiten 2:
Ich habe zunehmende Beweise für die Unterstützung von RAID1 gefunden, die die Leseleistung erhöhen, einschließlich der MD-Manpage:
Änderungen werden parallel auf alle Geräte geschrieben. Daten werden von einem beliebigen Gerät gelesen. Der Treiber versucht, Leseanforderungen auf alle Geräte zu verteilen, um die Leistung zu maximieren.
Ich habe auch das RAID 10 von MD entdeckt --layout=f2
, das eine Redundanz von RAID 1 mit der Leseleistung von RAID 0 bietet und mit nur zwei Laufwerken verwendet werden kann. Die Schreibleistung wird jedoch verringert, da beim sequentiellen Schreiben beide Laufwerke zwischen entfernten Teilen des Laufwerks hin und her suchen. man md
für Details.
Antworten:
Ja, die Linux-Implementierung von RAID1 beschleunigt die Festplattenlesevorgänge doppelt so lange, wie zwei separate Festplattenlesevorgänge gleichzeitig ausgeführt werden . Das bedeutet, dass das Lesen einer 10-GB-Datei auf RAID1 nicht schneller dauert als auf einer einzelnen Festplatte. Das Lesen von zwei unterschiedlichen 10-GB-Dateien * dauert jedoch schneller.
Um dies zu demonstrieren, lesen Sie einfach einige Daten mit
dd
. Bevor Sie etwas ausführen, löschen Sie den Lesecache der Festplatte mitsync && echo 3 > /proc/sys/vm/drop_caches
. Ansonstenhdparm
wird super schnell gelesen.Einzelne Datei:
Zwei Dateien:
Das Lesen von 10 GB Daten dauerte 65 Sekunden, wohingegen das Lesen von 10 GB + 10 GB = 20 GB Daten insgesamt 68,7 Sekunden dauerte, was bedeutet, dass mehrere Festplattenlesevorgänge unter Linux von RAID1 in großem Maße profitieren .
skip=$COUNT
Teil ist sehr wichtig. Der zweite Prozess liest 10 GB Daten aus dem 10-GB-Offset.Jareds Antwort und sshs Kommentare zu http://www.unicom.com/node/459 sind falsch. Der Benchmark zeigt, dass Festplattenlesevorgänge nicht von RAID1 profitieren. Der Test wurde jedoch mit dem bonnie ++ Benchmarking-Tool durchgeführt, das nicht zwei separate Lesevorgänge gleichzeitig durchführt. Der Autor gibt ausdrücklich an, dass Bonnie ++ nicht für das Benchmarking von RAID-Arrays verwendet werden kann ( siehe Readme ).
quelle
Ja, Sie erhalten eine Steigerung der Leseleistung und der Redundanz. Sie können sich leicht vorstellen, dass Sie die Teile der Dateien gleichzeitig von zwei verschiedenen Festplatten lesen können, da sich die Dateien auf beiden Festplatten befinden.
Wenn der RAID-Controller also theoretisch seine Arbeit richtig macht, können Sie eine Beschleunigung von O (n) erzielen.
quelle
man 4 md
heißt es: "... Beachten Sie, dass der vom Treiber durchgeführte Leseausgleich nicht das gleiche RAID1-Leistungsprofil wie für RAID0 bewirkt . Ein einzelner Eingabestream wird nicht beschleunigt (z. B. ein einzelner DD), sondern mehrere aufeinanderfolgende Streams oder ein Zufallsgenerator Arbeitsaufwand wird mehr als eine Spindel verwendet werden . In der Theorie , RAID1- eine N-Scheibe aufweist , wird N sequenzielle Fäden ermöglichen , von allen Platten zu lesen. ...“Um das Ganze abzurunden - in der Praxis , basierend auf
iostat
Ausgabe auf einem typischen 2 HDDs Software - RAID - Set-up beobachtet wird, gibt es keine der Ausgleich . Tatsächlich sieht es so aus, als obmdadm
die Option--write-mostly
immer aktiviert ist.quelle
Nein, Sie erhalten beim Lesen von mdadm RAID1 keine Vorteile. Ich habe mich darüber vor einiger Zeit gefragt.
dstat
Zeigt die Datenträgernutzung an, wasbwm-ng
insbesondere in diesem Fall auch sehr hilfreich ist, da die Lese- / Schreibnutzung auf separaten mdadm RAID-Mitgliedern angezeigt werden kann. Drücken Sie einfach nein paar Mal (weiter), um von der Schnittstellenstatistik zur Festplattenstatistik zu wechseln. Wechseln Sie dann mit zu den Maximalwerten t, um die maximalen Lese- / Schreibzugriffe von jeder Festplatte anzuzeigen. Sie werden folgendes sehen:Beim Schreiben auf das RAID1-Volume bwm-ng werden zwei Schreibvorgänge gleichzeitig auf zwei Datenträger geschrieben. Beim Lesen vom RAID1-Volume zeigt bwm-ng das Lesen vom einzelnen Laufwerk (Array-Mitglied) an.
quelle