Kommt darauf an, was du mit "verhindern" meinst.
(Erstens ist bit-rot ein Begriff mit mehreren Definitionen. Bei dieser Frage geht es nicht darum, dass Code aufgrund mangelnder Wartung nicht mehr ausgeführt werden kann .)
Wenn Sie mit "verhindern" meinen, dass es wahrscheinlich eine Beschädigung durch Zerfall von Bits erkennen wird, ja, das wird funktionieren. Es wird jedoch nicht helfen, diese Beschädigung zu beheben: Die Hashes bieten nur eine Fehlererkennung, keine Korrektur .
Dies ist im Allgemeinen das, was unter "Integrität" zu verstehen ist : Die Möglichkeit, unbefugte / unbeabsichtigte Manipulationen von Daten zu erkennen , nicht die Möglichkeit, diese zu verhindern oder zu korrigieren.
Sie möchten im Allgemeinen immer noch ein RAID1 zusammen mit Sicherungen (möglicherweise mit ZFS-Snapshots oder ähnlichem implementiert, ich kenne die ZFS-Semantik für RAID1 + -Snapshots nicht), und zwar aus mehreren Gründen:
Wenn eine Festplatte ausfällt, benötigen Sie entweder ein RAID1 (oder ein aktuelles Backup), um Ihre Daten wiederherzustellen. Keine Fehlerkorrektur kann einen Ausfall der gesamten Festplatte beheben, es sei denn, sie verfügt über eine vollständige Kopie der Daten (RAID1). Für eine kurze Ausfallzeit benötigen Sie im Wesentlichen RAID1.
Wenn Sie versehentlich Teile oder das gesamte Repository löschen, benötigen Sie ein Backup (RAID1 schützt Sie nicht, da es sofort die Änderung aller Geräte widerspiegelt).
Block-Level-RAID1 (z. B. über LVM oder ähnliches) mit nur zwei Festplatten an sich schützt Sie jedoch nicht vor unbeaufsichtigtem Datenverfall: Der RAID-Controller kann nicht wissen, welche der beiden Festplatten die richtigen Daten enthält. Dazu benötigen Sie zusätzliche Informationen, beispielsweise eine Prüfsumme über Dateien. Hier werden die ZSF und Btrfs Prüfsummen kommen: sie verwendet werden können (was nicht heißt, dass sie sich in diesen Fällen verwendet werden, ich weiß nicht , wie ZFS oder Btrfs Dinge dort handhaben ) , die von den beiden Scheiben zu unterscheiden hält die richtigen Daten.