Warum ist Resync zehnmal langsamer als erwartet?

364
Damon

Vor zwei Tagen löste einer der Barracudas in meiner Synology (3 Festplatten als RAID-5) einige Warnungen mit "schlechtem Sektor" aus. Keine Daten verloren Sie sind nicht viele (62 über 24 Stunden, dann keine mehr) und laut SMART-Info ist das Laufwerk "in Ordnung". Trotzdem reicht es mir, die Festplatte auszutauschen. Ihre Laufleistung kann variieren, aber für mich ist alles, was in Bezug auf den schlechten Sektor nicht Null ist, NG.

Dank einer großen Online-Buchhandlung, in der auch Festplatten verkauft werden, habe ich buchstäblich über Nacht gleichgroße Ersatzdisketten (Ironwolf) erhalten.

Stecken Sie zuerst einen in den vierten Steckplatz und ändern Sie den Array-Typ in RAID-6, während die alte Festplatte noch aktiv ist, um zusätzliche Redundanz hinzuzufügen. Seien Sie auf der sicheren Seite, nur für den Fall. Sobald dies erledigt ist, werden im nächsten Schritt die alten Festplatten nacheinander ersetzt.

Also ... es wird gerade neu synchronisiert.

Ich habe die Einstellungen von "weniger Auswirkungen" auf "Resync schneller" geändert, was sich offensichtlich mit IO-Prioritäten mischt. Die Auswirkungen sind sehr spürbar, der Versuch, auf eine Freigabe zuzugreifen, ist jetzt sehr, sehr langsam (funktioniert aber immer noch). Das ist in Ordnung, schließlich wollen wir, dass die Neusynchronisierung kurz vor dem Ende eines drastischeren Ereignisses abgeschlossen wird. Dennoch beträgt die Festplattennutzung auf jeder Festplatte im Ressourcenmonitor nur 60-56%. Nun, das ist nicht so schlimm, denke ich.

Die neue Festplatte kann sequenzielle Schreibvorgänge mit 150 MB / s ausführen, und die alten Festplatten sollten beim Lesen der sequentiellen Daten keine Probleme haben (auch wenn drei vorhanden sind und die benötigte Bandbreite reduziert wird). 60% davon sind etwa 90 MB / s. Das sind 4 TB-Platten.

Seien wir pessimistisch und gehen davon aus, dass wir nur einen Durchsatz von 50 MB / s erzielen. Das sind also 4*(1024*1024)/50Sekunden, um die Resynchronisation durchzuführen, oder etwas mehr als 23 Stunden.

Ich habe das Ding allein über Nacht arbeiten lassen und läuft mittlerweile 26 Stunden. Betrachtet man das Statusfenster, zeigt es 11% abgeschlossen an.

Nicht, dass ich sowieso etwas dagegen tun könnte, aber im Ernst ... was ist los? 11% nach 26 Stunden bedeutet, dass es fast zwei Wochen dauern wird. Was zum?

Dies liegt außerhalb meines Verständnisses. Gibt es einen technischen Grund, warum es so lange dauern würde?

2
Sie sollten es wirklich nicht in RAID6 ändern, da es jetzt alle Festplatten neu synchronisiert. Stattdessen sollten Sie den zusätzlichen Datenträger als Ersatzlaufwerk hinzufügen. Der fehlerhafte Datenträger ist fehlgeschlagen, was dazu führt, dass der Hotspare übernommen wird und das Ganze ordnungsgemäß synchronisiert werden kann. djsmiley2k vor 5 Jahren 2
Und genau den Grund für die Langsamkeit * vielleicht *, weil Sie versuchen, die Synchronisierung erneut durchzuführen, während Sie das gesamte Laufwerk neu anordnen. Wenn Sie eine Offline-Sicherung davon haben (Sie sollten dies tun, ist Raid keine Sicherung). Ich würde es nuke machen und vom Backup wiederherstellen. djsmiley2k vor 5 Jahren 0
@ djsmiley2k: Sicher, aber das Wiederherstellen aus dem Backup erfordert auch _forever_. Außerdem müsste ich alle Freigaben erneut einrichten usw. usw. Da dies jedoch ohnehin eine Resynchronisation ist, können Sie die Festplatten nur auf niedriger Stufe formatieren. Was natürlich auch das gesamte Setup tötet. Der Plan (und der offensichtliche, einfache Weg) bestand darin, einfach eine neue Festplatte einzulegen, einen Tag zu warten, vorzugsweise nur ein paar Stunden, und fertig zu sein. Deshalb haben wir das "R" in RAID und warum wurde so etwas wie Hot-Plug erfunden. Wir haben diese nur so Dinge _just work_ und laufen weiter. Damon vor 5 Jahren 0
** "Wenn Sie eine Offline-Sicherung davon haben (Sie sollten dies tun, ist Raid keine Sicherung)" ** - Konnte mit @ djsmiley2k nicht mehr übereinstimmen That Brazilian Guy vor 5 Jahren 1
Das Wiederherstellen aus einem Backup ist keine Lösung, da das Kopieren von Daten genauso lange dauert (möglicherweise sehr viel länger). Wenn Sie nur 3 neue Festplatten (oder 4 davon - egal, egal) - einlegen, müssen Sie die Firmware neu installieren (die auf jeder Festplatte des Arrays gespiegelt wird). Stellen Sie dann alle Einstellungen wieder her und kopieren Sie alle Daten. Dies geschieht, während das System eine Hintergrundsynchronisierung durchführt (keine Möglichkeit, dies zu vermeiden), und ist daher extrem langsam. Um das Ganze mit Zucker auszustatten, ist die Sache "was auch immer - zwei Tage lang" unbrauchbar ", weil die Daten unvollständig sind. Wenn das RAID-Susbsystem das Anheben durchführt, funktioniert es "einfach". Damon vor 5 Jahren 0
Es geht nicht darum, eine Alternative zu finden, sondern darum, warum der Resync so verdammt langsam ist, wenn es nicht so aussieht, als sollte es so sein (streng sequentielle Operation). Damon vor 5 Jahren 0
Ich denke, es ist eine Kombination aus Re-Sync und einem neuen Array-Format, aber ich bin nicht zuversichtlich genug, um darauf zu antworten: O djsmiley2k vor 5 Jahren 0
* Wenn Sie * das Laufwerk als Ersatzlaufwerk hinzugefügt haben und dann die fehlerhafte Festplatte ausgefallen sind, wäre dies eine Neusynchronisierung und wahrscheinlich viel schneller. djsmiley2k vor 5 Jahren 0

1 Antwort auf die Frage

2
djsmiley2k

Du hast damit angefangen:

und wird schließlich damit enden:

Wenn Sie nach RAID6 konvertiert haben, haben Sie eine Operation gestartet, um jeder einzelnen Festplatte im Array, einschließlich der "sterbenden" Festplatte, ein Paritätsbit hinzuzufügen. Wenn dieser Datenträger ausfällt, ist es wahrscheinlich sehr langsam, Daten zu schreiben, die zuvor von den anderen Datenträgern verborgen wurden, die schnell zum Schreiben von Daten sind und die langsame Abspielkonstante der Diskette aufholen.

Hinzu kommt, dass diese Paritätsdaten wahrscheinlich auch für jede Festplatte neu erstellt werden, anstatt nur die vorhandenen Paritätsdaten zu kopieren. Dies bedeutet, dass alle Festplatten gelesen, berechnet und anschließend zurückgeschrieben werden müssen.

Hinzu kommt, dass die Daten von jeder der vorhandenen Platten jetzt auf die neue Festplatte verschoben werden und wahrscheinlich die vorhandenen Daten auf jeder der vorhandenen Platten neu angeordnet werden, um den Zugriff zu beschleunigen.

Alles in allem betrachtet man bis zu dreimal die Lese- und Schreibvorgänge (für 4 Laufwerke), um die Daten für das RAID6-Layout zu verschieben, anstatt ein Laufwerk auf ein anderes zu kopieren und zu schreiben (1x Read, 1xwrite).

Zusätzlich zu all dieser Arbeit, die Daten bewegt, haben Sie keinen unendlich großen Raum, in den Daten geladen werden können, während Sie daran arbeiten. Die RAM-Einschränkungen verlangsamen auch die Verarbeitung und wie Sie gesehen haben, wird der Dateizugriff während dieses Vorgangs ebenfalls verlangsamt. Schließlich verfügen viele vorgefertigte NAS-Boxen über zu wenig CPU-Leistung, was im Normalfall für den normalen Betrieb geeignet ist. Zum Beispiel benötigen Resyncs und Architekturänderungen lange Zeit.

Deshalb dauert es so lange.