Wie oft sollte ich mein RAID schrubben?


13

Im Allgemeinen möchte ich wissen, wie oft ein RAID-Array gesäubert werden muss. Was trägt dazu bei, dass häufiger gescrubbt werden muss (Lesen von Daten, Schreiben von Daten, unerwartetes Herunterfahren, Alter des Laufwerks, Größe des Laufwerks, Anzahl der Benutzer usw.)?

Ich habe das Arch-Wiki hier gelesen und alles, was es wirklich sagt, ist, dass das Schrubben regelmäßig durchgeführt werden sollte. Ich habe mich nur gefragt, wie regelmäßig genug ist. Natürlich würde es davon abhängen, aber was ist ein vernünftiger Bereich? Jährlich? Monatlich? Wöchentlich? Täglich? Vielen Dank für jede Information.


1
Wie groß ist Ihr Array? Wie lange dauert ein Peeling Ihres Arrays? Größere Arrays können Stunden oder Tage für ein vollständiges Peeling benötigen. Offensichtlich können Sie nicht häufiger scrubben, als es für einen einzelnen Scrub erforderlich ist. Das Debian-Paket enthält ein Cron-Skript, das jeden ersten Sonntag im Monat ausgeführt wird.
Zoredache

Ich hänge davon ab, wie dreckig es ist :)
Metacom

@Zoredache: Das ist genau das, wonach ich gesucht habe. Würde dies die Häufigkeit verringern, mit der Sie scrubben sollten, da größere Arrays länger dauern? Würde eine Erhöhung der Nutzerzahl diese Häufigkeit erhöhen? Müssen Sie scrubben, wenn Sie nicht wirklich viele neue Daten schreiben?
Mrfred

Software-RAID? Hardware-RAID? ZFS?
Ewwhite

Antworten:


15

Wie oft Sie scannen sollten, hängt von vielen Faktoren ab.

  • Alter der Scheiben. Je älter sie sind, desto wahrscheinlicher ist es , dass sie das Böse enthalten .
  • Die ursprüngliche Qualität der fraglichen Festplatten. Sachen, die als "Unternehmen" verkauft werden, halten mit größerer Wahrscheinlichkeit fehlerfrei, und die Festplatten der Größe 1 + TB von 2014 sind viel zuverlässiger als ihre Entsprechungen von 2009 zum Zeitpunkt der Auslieferung.
  • Wie empfindlich Ihre Produktions-E / A für die Bereinigungs-E / A ist.
  • Wie viel von Ihrem Datensatz betrachten Sie als Ihren Arbeitssatz.

Die Hardware-RAID-Anbieter bieten aus diesem Grund häufig einen Hintergrund-Scrub-Prozess an. In einigen Fällen können Sie sogar die E / A-Priorität des Scrub-Prozesses anpassen, um den Produktions-E / A-Aufwand für ein Scrub zu vermeiden (oder erheblich zu reduzieren). Wenn Ihre Priorität niedrig ist und Ihre Prod-I / O-Vorgänge die Festplatten meistens auf Hochtouren laufen lassen, werden Sie wahrscheinlich niemals eine Bereinigung durchführen und es erst bemerken, wenn Sie einen Fehler feststellen.

Leider weiß ich nicht, ob der Linux-Kernel das Scrubben von E / A-Vorgängen als vorrangig einstuft oder nicht. In jedem Fall ist es eine gute Idee, es mit Ihren Prod Loads zu testen, um sicherzustellen, dass Leistungseinbußen akzeptabel sind. Wenn es akzeptabel ist, gut! Wenn dies nicht der Fall ist, können Sie entscheiden, ob Sie Spindeln hinzufügen möchten, um Scrub + Prod-E / A zu ermöglichen, oder einfach das Risiko möglicher Array-Ausfälle in Kauf nehmen.

Eine andere Sache, die sich auf die Häufigkeit der Bereinigung auswirkt, ist das E / A-Verwendungsmuster. Wenn die Produktionslasten nur eine Minderheit der Datenträger treffen, ist die einzige E / A, die normalerweise einen fehlerhaften Block im Leerlauf findet, Ihr Scrub. In diesem Fall möchten Sie häufiger schrubben. Wenn Ihre Produktionslasten routinemäßig den gesamten Festplattensatz lesen (z. B. tägliche vollständige Sicherungen), stoßen die Produktions-E / A-Vorgänge schneller auf Probleme, und Sie können weniger häufig scrubben.

Ein guter Aktionsplan wäre:

  1. Führen Sie einige Tests durch, um festzustellen, ob das Schrubben die Produktion beeinträchtigt.
    1. Finden Sie heraus, wie lange ein vollständiges Peeling dauert, während Sie gerade dabei sind.
  2. Stellen Sie fest, wie viel Prozent Ihres Festplattensatzes in einer bestimmten Woche mehrfach zugegriffen werden (schließen Sie ggf. die Backup-E / A in diese Berechnung ein).
  3. Anhand von 1 und 2 entscheiden Sie, ob Sie seltener oder öfter im Camp sind.

Sobald Sie diese Daten haben ...

  • Wenn ein vollständiger Scan weniger als einen Tag dauert und keine nennenswerten Auswirkungen auf die Produktion hat, können Sie ihn bis zu einmal pro Woche ausführen.
  • Wenn ein vollständiger Scan weniger als einen Tag dauert und sich auf die Produktion auswirkt, ermitteln Sie, welcher Teil Ihrer Woche / Ihres Monats am wenigsten betroffen ist, und versuchen Sie, ihn dann auszuführen.
  • Wenn ein vollständiger Scan mehr als einen Tag, aber weniger als eine Woche dauert und sich nicht auf die Produktion auswirkt, führen Sie ihn so oft wie jede zweite Woche oder jeden zweiten Monat aus.
  • Wenn ein vollständiger Scan mehr als einen Tag, aber weniger als eine Woche dauert und sich auf die Produktion auswirkt, sollten Sie Ressourcen hinzufügen, damit er ausgeführt werden kann, Scans in festgelegten Wartungsfenstern ausführen müssen oder die Leerlauf- / Überprüfungsfunktion für die Bereinigung nutzen es passt und beginnt ständig.
  • Wenn ein vollständiger Scan mehr als eine Woche dauert, reicht oftmals ein Scan pro Monat aus. Wenn sich dies jedoch auf die Produktion auswirkt, müssen Sie Ressourcen hinzufügen, damit der Vorgang abgeschlossen werden kann.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.