RAID Atomicity
Wie Sie das tun, las ich auf die RAID-Level, während in der Badewanne. Das Thema der Unteilbarkeit kam, und es ist etwas wollte ich teilen.
In der Regel nicht die zuverlässigste Quelle für technische Daten, aber ich werde Wikipedia zu zitieren, um zu erklären Atomarität, um die Bühne gesetzt. Entnommen aus http://en.wikipedia.org/wiki/RAID unter dem Abschnitt "Probleme mit RAID" ...
Dies ist ein wenig verstanden und selten erwähnt Failure Mode für redundante Storage-Systeme, die nicht nutzen transaktionale Funktionen. Datenbank-Forscher Jim Gray schrieb "Update an Ort A Poison Apple ist" [28] in den frühen Tagen der relationalen Datenbank Kommerzialisierung. Doch diese Warnung unbeachtet und ging weitgehend auf der Strecke geblieben auf dem Aufkommen von RAID, die viele Software-Ingenieure als Lösung aller Datenspeicherung Integrität und Zuverlässigkeit Probleme verwechselte. Viele Software-Programme aktualisieren, eine Lagerung Objekt "in-place", das heißt, sie schreiben eine neue Version des Objekts auf der gleichen Festplatte Adressen wie die alte Version des Objekts. Während die Software auch anmelden kann einige Delta-Informationen an anderer Stelle, erwartet es, die Speicherung auf "atomare write-Semantik", was bedeutet, dass der Schreibschutz der Daten aufgetreten entweder in seiner Gesamtheit oder überhaupt nicht auftreten, präsentieren.
Dies wurde wieder in Licht kommen vor kurzem aber unter einem anderen Vorwand mit SSD Schreibfehler Probleme. Viele SSD-Hersteller und Enterprise-Storage-Anbieter begegnen dieser mit neuer Firmware, die alle Daten sequentiell schreibt, nie über-schreibt einen Datenblock, bis die gesamte Festplatte geschrieben hat, dann beginnt das Schreiben über-Blöcke von Anfang an (die offensichtlich befreit worden sind bis zuerst).
Dies ist jedoch ein übersehenes Problem mit traditionellen Medien und Spinnen wird oft übersehen und entlassen, ohne eine eindeutige Erklärung oder Verständnis. Die Idee ist, dass viele Systeme werden über-Schreib-Daten vorhanden, wird der Schreibvorgang bestätigt, dass sie erfolgreich geschrieben wurde, aber nicht notwendigerweise, dass die Daten abgeglichen, wie die Host gesendet. Der Aufwand für diese Überprüfung würde stellen eine erhebliche zusätzliche Belastung wie jeder schreiben Sie eine zusätzliche Lese-und Prüfsumme brauchen würde, bevor das Schreiben wird bestätigt und der Schreib-Cache kann gespült werden.
Dies kann durch so genannte "Copy on Write" Snapshot-Technologien verstärkt werden. Anstatt die Erhaltung der Daten, die bereits für einen bestimmten Sektor auf der Festplatte geschrieben worden ist, werden die ursprünglichen Daten zu einem Snapshot-Bereich in einem anderen Teil des Storage-System kopiert, bevor die Original-Daten-Sektor wird überschrieben. Also eine hohe Transaktions-Anwendung, die seine Daten regelmäßig überschrieben (sagen wir eine temporäre DB-oder Replay-Protokolle, die regelmäßig gespült zu werden, wie Oracle-Logs vor der Archivierung) könnte ziemlich anfällig für diese Art von Fehler. Das Hauptproblem hierbei ist, dass, sobald die Daten geschrieben und bestätigt, es gibt keine Möglichkeit ihn zu korrigieren, wie das Storage-System wird bestätigen, es als intakt. Dies kann einen massiven Schlag auf Auswirkungen auf die Daten-Deduplizierung. Wenn das erste Block wird zu einer korrupten Sektor ohne identifiziert geschrieben, könnte dies dann zu hundert andere Datenblöcke als Teil des De-Duplizierung Prozess verknüpft werden, was zu massiven Datenverlust.
Dies kann nicht immer von RAID-Parität festgesetzt werden, RAID wird berechnet, nachdem ein Streifen geschrieben wird. Es kann nicht immer im Speicher berechnet werden entweder als Ein voller Stripe ist nicht immer geschrieben, es könnte ein Teilstreifenschreibvorgang in welchem Fall der Parität muss aus den vorhandenen Daten auf der Festplatte sowie Daten noch nicht auf die Festplatte geschrieben berechnet werden. Wenn die Daten auf die Festplatte geschrieben wird und dann zu lesen, um Parität zu berechnen, ist es nicht unbedingt gegen die Quelle bestätigt. Es gibt mehrere Möglichkeiten, um dieses Problem anzugehen, und dies meist muss im Speicher passieren, wird in der Regel eine Prüfsumme als der Ansatz akzeptabel. Lesen die Daten später nach einer bestätigten Schreibvorgang nicht garantiert werden können, wie Sie nichts, um es gegen zu vergleichen haben werden, muss die Integrität zu prüfen, während die Daten noch im Speicher aktiv, um gegen zu vergleichen.
Es gibt mehrere Möglichkeiten, dass Storage-Anbieter dies zu bewältigen, und wie man es erwarten würde, ich werde zu decken, was NetApp tun. Die WAFL Dateisystem schreibt an jeder freien Datenblock und nie aktiv über-schreibt einen Datenblock. Um freie Datenblöcke zu schaffen gibt es ein Peeling-Prozess, der im Hintergrund, das die gesamte Storage-System läuft Block für Block und fragt, ob ein Schnappschuss oder aktive Dateisystem wird bei diesem speziellen Datenblock zeigt läuft. Wenn nicht, dann löscht die Daten in dem Block, und markiert sie als freie (oder demarkiert als in Gebrauch wahrscheinlich richtiger wäre). Dies ermöglicht das Dateisystem zu bestätigen, dass nicht nur der Datenblock nicht in Gebrauch ist, sondern tatsächlich als Nebenwirkung es breitet Daten schreibt über die gesamte Oberfläche von einer Scheibe und negiert oder minimiert die Auswirkungen von Atomarität. Zusätzlich wird die WAFL Peeling-Prozess prüft die Datenblöcke für Disk-Integrität zu überprüfen, ist dies, wie Festplatten können auf der Basis der Plattenoberfläche Integrität als körperliche Störung im Voraus gescheitert sein, nach einer definierten Schwelle von defekten Platte Sektoren der Festplatte ist ausgefallen und ein Wiederherstellung versucht wird und ein Hot-Spare aktiviert. Also in einem NetApp System, werden die gleichen Datenblöcke selten wiederholt geschrieben, auch (oder gerade) in einer hohen Wiederholgenauigkeit Transaktionssystem.
Nehmen Sie alle der oben genannten, und starten Sie auch zu erkennen, dass ein komplettes Dateisystem schlecht für die Lagerung ist auf unterschiedliche Weise. Wenn Sie eine komplette Storage-System haben, dann gibt es weniger freie Blöcke zu schreiben, und so ein kleinerer Teil der Datenblöcke werden kontinuierlich geschrieben. Diese Verbindungen sind die Chancen der Unteilbarkeit und im Allgemeinen erhöht sich die Festplatte Verschleiß. Also ein guter Grund, um Daten zu suchen Archivierung, Deduplizierung und in der Regel halten Sie Ihre Dateisysteme sauber und nicht zu missbrauchen, die Storage-Systeme!
Also fragen Sie bitte Ihren Storage-Anbieter, wie sie Ihre Daten zu schützen gegen diesen Themen.
based on 3 ratings










































Sehr cool.