RAID-1 und regelmäßige Entfernung von Laufwerken (Verwendung von RAID-1 als Sicherungsmaßnahme)

1448
Vi.

Ist die Verwendung von mdadm RAID-1 von 2 Partitionen (eine auf der internen Festplatte des Laptops, eine auf einer externen Festplatte) eine gute Idee?

Ich möchte, dass das System als RAID-1 arbeitet, wenn beide Laufwerke vorhanden sind, als normales Volume (degradad RAID-1) fungiert, wenn die externe Festplatte nicht angeschlossen ist, und wenn das externe Festplattenlaufwerk wieder angeschlossen wird, schnell wieder synchronisiert wird.

Fragen:

  1. Ist das eine gute Idee?
  2. Reicht das Write-Intent-Bitmap für diese Aufgabe aus oder ich brauche etwas anderes?
  3. Sollte ich dies auf Dateisystemebene tun (3b. Wenn ja, wie?).

Grundanforderungen sind:

  1. Schnelles Resynchronisieren, wenn ich das externe Laufwerk wieder einsetze (vorausgesetzt, ich habe diese Partition nicht geändert).
  2. Mehr oder weniger konsistente Daten auf dem entfernten Laufwerk, wenn ich es nicht während des Schreib- / Resync-Vorgangs entferne.

Wenn ich das Laufwerk während der Neusynchronisierung entferne, erwarte ich, dass die Daten etwas inkonsistent sind. Ich erwarte jedoch eine schnelle Neusynchronisierung, wenn ich sie erneut hinzufüge. Ich möchte zB, dass das verbleibende Laufwerk verfolgt, was geändert wurde (es kann eine Menge Änderungen geben) und dass nur die Teile synchronisiert werden, die es benötigen.

2
Denken Sie an das RAID RAID-Backup. squircle vor 14 Jahren 2
@thepurplepixel Es ist etwas in der Mitte zwischen RAID und Backup. Vi. vor 14 Jahren 0
Ich habe gerade auf "Rebuild Status: X% complete" gewartet, das Laufwerk entfernt, das Laufwerk wieder eingesteckt, "mdadm / dev / md0 --add / dev / sdb5" ausgegeben und es sind wieder 0% und der Aufbau ist vollständig. Was ist dann "--bitmap intern"? Warum baut es von Grund auf neu auf? Vi. vor 14 Jahren 0
@Vi Erneut probiert, sieht aus, als würde die Wiederherstellung mit Bitmap funktioniert ... Vi. vor 14 Jahren 0
@Vi Wie ist RAID 1 "irgendwo in der Mitte"? Dave M vor 14 Jahren 1
@DaveM Bedeutet, wenn die externe Festplatte angeschlossen ist, es ist RAID-1 und dient als Schutz vor dem Ausfall der internen oder externen Festplatte. Wenn die externe Festplatte jedoch nicht angeschlossen ist, dient sie als partieller (etwas veralteter) Schutz vor dem Ausfall der internen Festplatte und dem irrtümlichen Entfernen. Sie ist also wie eine Sicherung. Wenn ich einige Daten auf dem Volume beschädige, wenn das externe Laufwerk getrennt ist, kann ich den Offline-RAID-1-Teil als Backup verwenden. Vi. vor 14 Jahren 0

3 Antworten auf die Frage

1
David Spillett

Ich würde sagen, das ist keine gute Idee. Sie schützen sich maximal vor physischen / elektrischen Laufwerksproblemen, und Sie haben immer nur eine Sicherungskopie, die während der Aktualisierung sehr anfällig ist.

Wenn auf dem anderen Laufwerk oder bei Ihrem Computer im Allgemeinen ein Fehler auftritt, kann es vorkommen, dass das Hauptlaufwerk während der Neusynchronisierung außer Betrieb ist und das "bakcup" ​​-Laufwerk ein teilweise aktualisiertes (dh möglicherweise sehr beschädigtes) Dateisystem hat. Dies ist einer der Gründe, warum die meisten Backup-Lösungen mehrere Backups enthalten (ein weiterer wichtiger Grund ist, dass Sie mindestens ein Backup offline (und vorzugsweise offsite) haben können, während das andere aktualisiert wird), wird jedoch durch die Tatsache verschlimmert, dass es sich bei dem RAID-Resync handelt nicht das Dateisystem in etwas nah an einen konsistenten Zustand bewusst Dateisystem gehen werden, so hinterlässt einen Teil Resynchronisation, um sicherzustellen, nicht in der Lage sein, etwas zu tun (zum Beispiel es Daten - Synchronisierungs könnte, bevor zugehörigen Journal Blöcke geschrieben und so weiter).

Wenn Sie Ihr gesamtes System auf diese Weise RAID-fähig machen, könnte der Schreib-Intention-Schreibleistungstreffer ebenfalls von Bedeutung sein (siehe Beiträge wie http://blog.ganneff.de/blog/2008/01/30/write-intent-bitmaps) -considere.html ), wenn Sie jedoch nur RAID-Dateisysteme verwenden, bei denen nicht viel Schreibaktivität vorhanden ist, ist dies möglicherweise kein Problem für Sie.

Wenn Sie diese Technik verwenden, stellen Sie sicher, dass Sie ausgeführt werden, syncbevor Sie das Laufwerk gewaltsam auswerfen.

Haben Sie überlegt, stattdessen rsync zu verwenden, um das Backup-Dateisystem zu aktualisieren? Dies wäre im besten Fall in Ihren Lösungen langsamer (da eine vollständige Überprüfung der Dateigrößen und Datumsangaben erforderlich ist, auch wenn sich nichts geändert hat, was von Bedeutung sein könnte, wenn das Dateisystem viele Dateien enthält), ist es jedoch in der Regel schnell genug und sicherlich schneller als Eine vollständige Neusynchronisierung, bei der der RAID-Treiber dies entscheidet.

"Wenn Sie Ihr gesamtes System auf diese Weise RAIDIN machen" -> Nein, es ist nur ein Volume, hauptsächlich mit bloßen Git-Repositories und Daten, die ich nicht verlieren möchte. Es ist keine Root-Partition. "dh möglicherweise sehr korrupt" -> Ich habe den "--rebuild-tree" schon vor mäßiger Korruption (z. B. nach dem Ruhezustand nach dem externen Mounten mit Wiederholungsjournal) nicht mehr benötigt. Sollte ich davon ausgehen, dass hauptsächlich die neuen Daten (die zu diesem Zeitpunkt synchronisiert wurden) verloren gingen? "Sie können mindestens ein Backup offline haben" -> Es kann üblich sein, dass seltene DVD-Archive verwendet werden, wie ich sie vorher erstellt habe. Vi. vor 14 Jahren 0
0
Vi.

Es sieht so aus, als würde die Idee eines externen HD-basierten RAID-1-Arrays funktionieren.

Das Array wird abgebaut und verfolgt Änderungen daran mithilfe von Bitmap für das Schreiben von Inhalten.

Wenn ich meine externe Festplatte anschließe, udeverkennt mein Skript, dass eine Partition zu meinem Array passt, und fügt sie hinzu. Es synchronisiert sich (sofort, wenn keine Änderungen vorgenommen wurden) und beschleunigt den Lesezugriff.

Wenn ich meine externe Festplatte trenne (einschließlich plötzlicher Entfernung), udevregistriert ein anderes Skript, dass das Laufwerk entfernt und das Array wieder beschädigt wird.

Es ist jedoch ein merklicher Rückgang der Schreibleistung zu verzeichnen, dies ist jedoch für diese Verwendung akzeptabel.

Ein weiterer Vorteil ist, dass ich diese Partition vorübergehend für andere Zwecke formatieren und dann wieder zum Array bringen kann (mit einer vollständigen Neuerstellung).

0
Raynet

Ein Problem sehe ich darin, dass sich das Dateisystem auf der entfernten externen Festplatte möglicherweise in einem Zustand befindet, der nicht eingehängt werden kann, obwohl moderne Dateisysteme mit Journaling usw. dieses Risiko mindern.

Wenn Sie jedoch mdadm verwenden, kann ich davon ausgehen, dass Sie etwas Linux verwenden und stattdessen rsync empfehlen würden. Dies wäre schnell, da nur geänderte Dateien kopiert werden würden. Außerdem könnten Sie über ein Skript verfügen, das einen Ordner mit aktuellem Datum auf der externen Festplatte erstellt und anschließend eine vollständige Sicherung Ihrer internen Festplatte erstellt, die jedoch die Dateien miteinander verbindet die vorherige Sicherung, verwendet also nur Speicherplatz für die neuen Daten. Auf diese Weise können Sie leicht eine Datei wiederherstellen, die möglicherweise auf der internen Festplatte gelöscht wurde.

Kann ich rsync in einem kontinuierlichen Modus ausführen, um Änderungen nachverfolgen und die Sicherungskopie aktualisieren zu können? (Ich habe auch über ein FUSE-Dateisystem nachgedacht, das sich an die Änderungen erinnert und diese zur Kopie weitergibt.) Wird Ihre rsync-Variante die Wiederherstellung durchführen (ohne vollständige Löschung und Neuerstellung), nachdem das Laufwerk mitten in der Synchronisation entfernt wurde? Und ich denke, aus dem zweiten Laufwerk zu lesen und einige Dinge zu beschleunigen (Arbeitskopie auf internem Laufwerk, Git-Repository wird von externem Laufwerk gelesen), in einigen Fällen. Vi. vor 14 Jahren 0
Es gibt eine App, die alle Änderungen auf dem Quelllaufwerk verfolgt und diese dann sofort mit dem Ziellaufwerk synchronisiert. Sie können das Laufwerk entfernen, während rsync ausgeführt wird. Dies bewirkt, dass die aktuell kopierte Datei teilweise kopiert wird. Wenn Sie rsync erneut ausführen, wird der Vorgang dort fortgesetzt, wo er unterbrochen wurde. Rsync gibt Ihnen keine Geschwindigkeit beim Lesen, aber wenn Sie nicht eSata für das externe Laufwerk verwenden, ist die Lesegeschwindigkeit ziemlich gering und die Schreibgeschwindigkeit wird durch die langsameren Laufwerke begrenzt. Raynet vor 14 Jahren 0