Reduzieren der Linux-Software-RAID-Wiederherstellungsgeschwindigkeit?

8491
David

Das hört sich vielleicht dumm an, aber gibt es eine Möglichkeit, die Geschwindigkeit eines Neuaufbaus in einem Linux-Software-RAID absichtlich zu reduzieren? (Grundsätzlich wird der Durchsatz aller Festplatten reduziert, damit sie nicht voll ausgeschöpft werden.)

Das RAID selbst ist nur eine Reihe von Laufwerken, die über externes SATA an eine Slackware 13.37-Box angeschlossen sind, auf der ein Software-RAID läuft (alles gesteuert von mdadm). Die Laufwerke sind nicht von höchster Qualität (es ist ein Budget-Heimsystem), und ich würde mir einfach wünschen, dass ich sie nicht zu sehr drücke.

Vielleicht gibt es eine Möglichkeit, zu pausieren und unpause den Umbau, die ich Skript von Zeit zu Zeit passieren kann?

4
Können Sie die Gründe für dieses Verhalten zusammenfassen, da RAID aus meiner Sicht einmal erstellt wird, wenn Sie es einrichten und neu erstellen, wenn Sie eine Festplatte hinzufügen / ersetzen. Braiam vor 10 Jahren 0
@Braiam: Wie in der Frage erwähnt, geht es * meistens * um den Seelenfrieden. Bei den Laufwerken handelt es sich um Western Digital-Laufwerke für Endverbraucher mit Firmware-Patches, um das TLER-Problem mit Software-RAID zu beheben. Es gibt gelegentlich falsche Ausfälle. Manchmal verfügen die Geräte über die gleiche Anzahl von RAID-Ereignissen und können nur neu zusammengesetzt werden, manchmal nicht, und der falsche Fehler muss neu erstellt werden. Ich möchte nur langsam wieder aufbauen, um einen weiteren falschen Fehler während des Vorgangs zu vermeiden. David vor 10 Jahren 0
Sorgen nicht, ich habe nur versucht herauszufinden, wie dumm dein Grund war;) Braiam vor 10 Jahren 0
Ich stehe vor einem ähnlichen Problem, da mein Synology NAS von Zeit zu Zeit heruntergefahren wird, wenn die Festplatte stark beansprucht wird. Eine schlechte Sache ist, dass RAID Resync die Festplatte stark belastet. Der NAS startet dann neu, führt dann die Resync-Funktion aus und startet dann neu ... Er wird nie beendet. Vielen Dank für die Frage und die Antwort! Yvan vor 9 Jahren 0
Ein Beispiel ist, dass ich schnell arbeiten musste, aber mein RAID-Array beschloss, sich selbst zu überprüfen. Offensichtlich wurden die Antriebe dadurch maximal und die Arbeit unmöglich gemacht. Mir ist klar, dass es sich möglicherweise um einen Lesefehler handelt, aber die Arbeit war im Moment wichtiger als die Überprüfung. Shiki vor 7 Jahren 0
Ein guter Grund, die Installation zu unterbrechen oder zu verlangsamen, besteht darin, eine Neuinstallation schneller abzuschließen. Joachim Wagner vor 6 Jahren 0

1 Antwort auf die Frage

10
Paul

Sie können einen Neuaufbau damit anhalten:

echo "idle" > /sys/block/md0/md/sync_action 

Angenommen, es md0ist Ihr MD-Gerät. Mdadm beginnt jedoch mit dem Wiederaufbau eines "Ereignisses", wobei nicht klar ist, was das wäre. Ich vermute, beim Lesen oder Schreiben des Arrays wird der Wiederaufbau erneut gestartet - daher macht dieser Befehl oft nichts offensichtliches, da der Wiederaufbau angehalten wird und sofort neu gestartet wird. Wenn Sie über mehrere md-Geräte verfügen, wird mdadm das nächste Gerät neu erstellen, das es benötigt.

Um den Wiederaufbau zu drosseln, können Sie Folgendes verwenden:

echo 5000 > /proc/sys/dev/raid/speed_limit_max 

Dadurch wird der maximale Durchsatz beim Wiederaufbau auf 5 MBit / s begrenzt. Sie können die aktuelle Resynchronisationsgeschwindigkeit sehen, indem Sie tun

cat /proc/mdstat 
Ich * mag * wirklich diese "speed_limit_max" -Option. (Was ich jetzt auch in meiner lokalen "man" -Seite für "md" sehen kann, ist fantastisch.) Die erste Option würde wahrscheinlich für mich funktionieren, da das Dateisystem des Arrays während des Wiederaufbaus nicht gemountet ist Fortschritt. Die Option "speed_limit_max" scheint jedoch einfacher zu sein. David vor 10 Jahren 0