Ist es möglich, dass nur ein Bit wechselt, sodass meine Datei den Buchstaben "Q" anstelle eines "S" anzeigt?


22

In unserer Anwendung verwenden wir Hibernate und PostgreSQL zum Speichern von Daten. In einer unserer Datenbanktabellen befindet sich eine Diskriminatorspalte, in der beispielsweise "TIPPSPIEL" steht. Es ist eine feste Zeichenfolge und kann von keinem Benutzer manipuliert werden.

Plötzlich hatten wir einen Eintrag in dieser riesigen Tabelle, in der wir "TIPPQPIEL" anstelle von "TIPPSPIEL" hatten. Wir haben keine Ahnung, wie das passieren kann.

Ist es auf irgendeine Weise möglich, dass unsere Festplatte ein Bit wechselt, sodass unser Buchstabe "S" nicht mehr als "1010001" codiert wird, sondern plötzlich ein "Q" auf der Festplatte wird, wobei ein Bit wie folgt gewechselt wird: 1010011?

Ich bin kein Experte für Festplattenphysik, aber ich schätze, ein Betriebssystem oder eine Festplatte hat Prüfsummen und anderes Zeug, um sicherzustellen, dass dies nicht passieren kann.

Ist es möglich, dass nur ein Bit wechselt, sodass meine Datei den Buchstaben "Q" anstelle eines "S" anzeigt?

UPDATE: Wir haben weiter analysiert. Unsere Slave-Datenbank bezieht ihre WAL-Records vom Master (PostgreSQL-Funktion). Was auch immer: Unser Slave-Server sollte synchron sein. Aber der Sklave war in Bezug auf diese bestimmte Reihe nicht synchron. Wir konnten sehen, dass es vor ein paar Tagen ohne Interaktion eines Benutzers zu diesem bestimmten Eintrag passiert ist. Es MUSS also ein bisschen herumflippen. unheimlich!


Ich würde eher annehmen, dass dies aus einem fehlerhaften Speicher stammt. Haben Sie noch das Protokoll, als diese Spalte geschrieben wurde?
ott--

1
Seine unwahrscheinlich , aber möglich, Bits auf der Durchreise mit einem hohen Grad an Regelmäßigkeit gespiegelt bekommen, sehen ‚bitsquatting‘
Sirch

Antworten:


10

Es kommt so selten vor, dass wir auf dieser Website eine wirklich interessante Frage sehen. Vielen Dank an erster Stelle.

Ich denke, was Sie dort sehen, ist in der Tat ein Einzelbitfehler. Es ist erstaunlich, dass Sie es ehrlich sehen können, aber Sie gehen zu Recht davon aus, dass das zweitniedrigstwertige Bit umgeschaltet wurde (vorausgesetzt, Sie verwenden ASCII sowieso).

Bei Prüfsummen usw., die auf die Festplatte geschrieben wurden, wurde sie wahrscheinlich als einwandfrei überprüft. Ich bin mir ziemlich sicher, dass sich dieses Problem später durch einen einfachen Fehler durch magnetische Leckage entwickelt hat. Aber Sie haben Recht, es werden Codierungsprüfungen durchgeführt. Dies ist vom Hersteller abhängig, aber es gibt wahrscheinlich irgendwo einen Fehler, der besagt, dass dies etwas seltsam aussieht. Aber welche Option hat Ihre E / A-Kette? leugnen Sie den ganzen Block? Ich gehe davon aus, dass dies eine einzelne Festplatte ohne RAID ist, da RAID-Festplatten in der Regel mehr Optionen zur Verfügung haben, wenn sie Fehler erkennen.

Es ist eine seltsame Sache, obwohl solche Dinge wahrscheinlich mehrmals in der Sekunde auf der ganzen Welt passiert sind.


1
Sie haben Recht, in diesem Fall handelte es sich um eine Nicht-Raid-Festplattenkonfiguration. Wie meine weitere Analyse zeigt, geschah dies lange nach dem Schreiben der Aufzeichnung.
Janning

1
In meinen 20 Jahren als Sysadmin habe ich 3 Fälle eines einzelnen Bit-Flips gesehen. Nur eine davon konnte zu 100% nachgewiesen werden. Die anderen 2 wurden verdächtigt, umgedrehte Bits zu sein, wir konnten nicht sicher sagen. (Bit könnte nach dem Lesen der Datei in den Speicher gewechselt sein. Als wir die Diskrepanz bemerkten, war die Originaldatei nicht mehr verfügbar oder wurde berührt. Ich bin mir ziemlich sicher, dass es öfter passiert, als jeder denkt, aber es wird selten bemerkt und normalerweise nicht nachweisbar, wenn es bemerkt wird
Tonny

1
Das Fehlschlagen des gesamten Blocklesevorgangs ist genau das, was Laufwerke tun, wenn ein nicht korrigierbarer Fehler auftritt. Es ist unmöglich, nur ein einziges Bit im Benutzerdatenteil des Sektors zu spiegeln und unentdeckt zu bleiben. Das Bit muss gekippt worden sein, als es auf die Festplatte geschrieben wurde.
Psusi

Sollte diese Frage kanonisch gestellt werden?
Deer Hunter

@psusi Nicht unmöglich, da Sie nur genügend Bit-Flips in der Branche benötigen, damit der ECC richtig herauskommt. Unwahrscheinlich, aber möglich, und die Festplattenhersteller geben genügend hohe Fehlerraten an, die Sie wirklich erwarten sollten. Ich habe Gerüchte gehört, dass ZFS-Leute sie sehen (aufgrund von
Datenprüfsummen
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.