Gibt es eine Möglichkeit, beim Rohlesen oder -schreiben von Sektoren/Blöcken unter Linux einen „CRC“⁽¹⁾-Fehler einzufügen oder zu kopieren?

Gibt es eine Möglichkeit, beim Rohlesen oder -schreiben von Sektoren/Blöcken unter Linux einen „CRC“⁽¹⁾-Fehler einzufügen oder zu kopieren?

Ein Freund von mir sagte mir, dass Linux-Kernel-RAID (mdadm raid5/6) nicht zuverlässig sei, weil er einmal versucht hatte, Sektoren auf einem seiner physischen Volumes zu überschreiben, was zu Dateibeschädigungen führte. Ich antwortete ihm, dass das normal sei, weil das RAID5-System nicht dazu gedacht sei, Fehler zu erkennen, sondern nur zu korrigieren, wenn aufgrund eines Festplattenlesefehlers bereits ein Fehler erkannt worden sei.

Ich habe mich jedoch gefragt, wie ich das Konzept beweisen oder einen Zuverlässigkeitstest durchführen könnte, indem ich Fehler auf die Festplatte selbst schreibe. Gibt es unter Linux eine Möglichkeit, einen Sektor in einer Art Rohmodus zu schreiben (oder zu lesen), der es ermöglichen würde, den „CRC“-⁽¹⁾-Code manuell zu lesen oder zu schreiben, anstatt den Controller dies alles selbst verwalten zu lassen?

Gäbe es nach derselben Logik eine Möglichkeit, eine Festplatte im Rohzustand auf eine andere zu kopieren, um einige Datenwiederherstellungsprozesse auf einer Kopie statt auf dem Original auszuprobieren, was bei schlechter Wiederherstellungssoftware passieren kann und dazu führt, dass Festplatten nicht wiederherstellbar sind?

Ich habe gesehen, dass jemand ähnliche Fragen gestellt hatHieroderDort, aber es ist ziemlich alt, war nicht sehr klar und hat keine zufriedenstellende Antwort erhalten. Offensichtlich ist das Ziel nicht, die Festplatte physisch zu zerstören, sondern nur das Schreiben ungültiger Inhalte darauf zu erzwingen, die später mit einer ähnlichen Methode neu geschrieben werden könnten. Und übrigens, wenn die Festplatte wirklich einen Fehler ENTHÄLT, besteht keine Chance, dass der Sektor durch normale Vorgänge verschoben wird, da er vorher korrekt gelesen werden müsste.

(1): Ich habe die Anführungszeichen gesetzt, weil ich nicht sicher bin, ob bei neueren Festplatten die Fehlererkennungscodes noch auf CRC basieren.

Antwort1

Sehr kurze Antwort, aber wenn das akzeptabel ist:

Grundsätzlich wird auf alle Speichermedien zugegriffen, indem SCSI-Befehle über verschiedene andere Protokolle (SATA, USB, ...) gesendet werden, und es gibt keine Möglichkeit, CRC oder ähnliche Felder mit diesen Befehlen zu steuern. Tatsächlich ersetzen moderne Laufwerke sogar stillschweigend Sektoren mit schlechtem CRC, die beim nächsten Schreiben nicht durch Zuordnung zu anderen Sektoren mit gutem CRC korrigiert werden können.

Möglicherweise gibt es anbieterspezifische Erweiterungen, mit denen Sie all dies direkter steuern können, aber die Anbieter sagen es Ihnen nicht.

verwandte Informationen