Warum ein RAID-Wiederaufbau nach dem Trennen einer Festplatte neu startet

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Ein Wiederaufbau kann neu starten, nachdem eine weitere Festplatte getrennt wurde, weil sich die vertrauenswürdige Mitgliedergruppe des Arrays erneut geändert hat. Der Controller kann teilweise Fortschritte verwerfen und Redundanz von einem neuen Konsistenzpunkt neu erzeugen.

Eine kurze Trennung ist während eines degradierten Betriebs nicht harmlos. Die richtige Reaktion besteht darin, zu identifizieren, welches Mitglied mit Seriennummer ausgefallen ist, Protokolle zu sichern, zu bestätigen, dass das Array noch genügend gültige Kopien hat, und keine weiteren Experimente mit Kabeln oder Einschüben durchzuführen, bis der aktuelle Wiederherstellungszustand verstanden ist.

Die zweite Trennung erzeugt ein neues Wiederherstellungsereignis

Ein Wiederaufbau basiert auf einer bestimmten Gruppe von Quellmitgliedern und einer Zielfestplatte. Wenn ein weiteres Quellmitglied verschwindet, selbst kurzzeitig, kann das Array nicht mehr davon ausgehen, dass jeder bereits auf das Ziel geschriebene Block mit dem aktuellen Live-Set übereinstimmt. Schreibvorgänge können auch während der Abwesenheit dieses Mitglieds fortgesetzt worden sein.

Controller handhaben dies unterschiedlich. Einige setzen anhand einer Bitmap oder eines Checkpoints fort; andere starten eine vollständige Rekonstruktion neu. Die Diskussion zum Wiederaufbau nach dem Wiederanschließen einer Festplatte zeigt, warum das Entfernen eines Mitglieds den Fehlertoleranzstatus ändert, selbst wenn die Festplatte noch die meisten alten Daten enthält.

Schmutzige Metadaten können ein altes Mitglied alt aussehen lassen

RAID-Mitglieder speichern normalerweise Array-Metadaten, die ihre Rolle und Ereignishistorie identifizieren. Wenn eine Festplatte verschwindet, während weiterhin geschrieben wird, sind ihre Inhalte älter als das aktive Array. Das Wiederanschließen macht diese verpassten Schreibvorgänge nicht rückgängig, daher muss der Controller veraltete Bereiche abgleichen oder überschreiben.

Ein vorübergehend entfernter RAID-Mitglied kann anhand seiner Metadaten erkannt werden, aber die Implementierung entscheidet dennoch, ob es direkt wieder beitreten kann oder eine Synchronisation benötigt. Gehen Sie nicht davon aus, dass die Rückkehr in denselben Einschub das Vertrauen bewahrt.

Warum der Fortschritt auf Null zurückgehen kann

Der Prozentsatz beschreibt oft den aktuellen Wiederherstellungsvorgang, nicht ein dauerhaftes Protokoll aller jemals kopierten Blöcke. Wenn ein Quellmitglied den Zustand ändert, das Ziel neu zugewiesen wird oder der Controller das Array neu zusammenfügt, kann die angezeigte Operation bei Null neu starten, auch wenn einige Zielblöcke bereits übereinstimmen.

Bei Software-RAID kann ein neues Degradierungsereignis eine vollständige Resynchronisation erfordern. Ein dokumentierter zweiter vollständiger RAID1-Wiederaufbau zeigt, dass ein md-Array im degradierten Zustand möglicherweise das gesamte Mitglied synchronisiert, anstatt einem früheren Teilzustand zu vertrauen.

Ziehen Sie keine weitere Festplatte heraus, um die Theorie zu testen

Während eines Wiederaufbaus ist jede verbleibende Quelle Teil des einzigen Pfads zur Rekonstruktion fehlender Daten. Das Herausziehen eines weiteren Mitglieds zur Identifikation kann die Fehlertoleranz des RAID-Levels überschreiten oder konkurrierende Datenversionen erzeugen. Lokalisieren Sie Festplatten anhand der Seriennummer und Gehäuseindikatoren, nicht durch Versuch und Irrtum.

Stoppen Sie Hot-Swap-Experimente, bis das Array entweder gesund ist oder auf sicheren Speicher kopiert wurde. Wenn ein Kabel oder Einschub verdächtigt wird, sammeln Sie zuerst das Ereignisprotokoll und planen Sie eine einzelne kontrollierte Änderung mit ruhendem System, wenn die Hardware keinen Online-Service ausdrücklich unterstützt.

Überprüfen, ob der Wiederaufbau wirklich neu gestartet wurde

Vergleichen Sie mehr als nur den Prozentsatz. Erfassen Sie den Operationsnamen, die Ziel-Seriennummer, die Anzahl der Quellmitglieder, die Ereignis- oder Generationsnummer, verarbeitete Blöcke, aktuelle Geschwindigkeit und geschätzte Fertigstellungszeit. Ein Controller kann vom Wiederaufbau zur Paritätsinitialisierung, Verifikation oder Hintergrund-Konsistenzprüfung wechseln.

Feld Gleiche Operation Neues Wiederherstellungsereignis
Ziel-Seriennummer Unverändert Anders oder neu klassifiziert
Verarbeitete Blöcke Setzt nach oben fort Kehrt zum Anfang zurück
Mitgliedergruppe Stabil Eine weitere Festplatte fehlt oder wurde wieder hinzugefügt
Protokollnachricht Fortsetzen oder weiterführen Abbrechen, neu starten, neu zusammenfügen, neuer Wiederaufbau
Array-Zustand Degradiert/wird wiederhergestellt Stärker degradiert, fremd oder in Wiederherstellung

Wenn sich die Mitgliedergruppe geändert hat, behandeln Sie den neuen Prozentsatz als ein neues Ereignis. Wenn nur die Schnittstelle zurückgesetzt wurde, während die Zähler weiterlaufen, kann es sich um ein Anzeigeproblem und nicht um einen Fortschrittsverlust handeln.

Wenn ein Neustart weniger wichtig ist als ein Festplattenausfall

Ein geplanter Neustart macht einen vom Controller verwalteten Wiederaufbau nicht unbedingt ungültig. Viele Controller speichern genügend Status, um sicher fortzusetzen. Das ernstere Ereignis ist der Verlust einer weiteren Quellfestplatte oder das Einführen einer fremden Konfiguration während oder nach dem Neustart.

Ein Neustart während eines Wiederaufbaus kann wiederherstellbar sein, aber die sichere Schlussfolgerung hängt vom Controller-Status nach dem Start ab. Initialisieren oder importieren Sie niemals eine fremde Konfiguration nur, weil der Prozentsatz zurückgesetzt wurde.

Was sofort zu tun ist

  1. Pausieren Sie nicht wesentliche Schreibvorgänge und erfassen Sie die Protokolle des Arrays, des Gehäuses und des Betriebssystems.
  2. Ordnen Sie jedem aktiven, fehlenden, wiederaufbauenden und Ersatzmitglied eine physische Seriennummer zu.
  3. Bestätigen Sie, dass das RAID-Level noch genügend gültige Quellmitglieder zur Datenrekonstruktion hat.
  4. Überprüfen Sie SMART- und Link-Fehlerzähler auf der Festplatte, die die Verbindung verloren hat, sowie deren Verbindungspfad.
  5. Lassen Sie einen stabilen Wiederaufbau ohne zusätzliche Kabel-, Einschub-, Neustart- oder Arbeitslast-Experimente laufen.

Wenn eine andere Quelle nicht lesbare Sektoren meldet oder wiederholte Verbindungsabbrüche auftreten, priorisieren Sie das Kopieren unersetzlicher Daten oder das Erstellen von Images der Mitglieder, anstatt den Wiederaufbau wiederholt zu erzwingen.

FAQ

Startet das erneute Verbinden derselben Festplatte immer den Wiederaufbau neu?

Nein. Einige Controller können sie wieder einbinden oder von einer Bitmap fortsetzen. Andere betrachten das Mitglied als veraltet und starten die Synchronisation erneut. Das Ereignisprotokoll und die Mitgliedergeneration entscheiden, welcher Fall eingetreten ist.

Bedeutet ein zurückgesetzter Prozentsatz, dass die neue Festplatte erneut gelöscht wurde?

Nicht unbedingt. Es kann bedeuten, dass der Controller einen neuen Durchgang gestartet oder den Operationstyp geändert hat. Ziehen Sie keinen Datenverlust allein aus dem Prozentsatz; prüfen Sie die Zielidentität und Ereignismeldungen.

Kann ich während des neu gestarteten Wiederaufbaus weiterhin Apps verwenden?

Leichte Nutzung kann unterstützt werden, aber reduzieren Sie vermeidbare Schreibvorgänge und latenzempfindliche Aufgaben. Das Array hat bereits ein zweites Verbindungsereignis gezeigt, daher haben Stabilität und Datenschutz Vorrang vor normalem Durchsatz.

Die praktische Antwort

Ein Wiederaufbau wird neu gestartet, weil sich die Konsistenzannahmen geändert haben, als ein anderes Mitglied die Verbindung getrennt hat. Stabilisieren Sie den Hardwarepfad, überprüfen Sie die Quellgruppe und erlauben Sie eine ununterbrochene Wiederherstellung anstelle eines Tests des Arrays im degradierten Zustand.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.