Залежить від того, що ви маєте на увазі під «запобіганням».
(Перш за все, біт-гниль - це термін з декількома визначеннями. Це питання не стосується того, щоб код не вирішився через відсутність технічного обслуговування .)
Якщо ви маєте на увазі під "запобіганням", що це, ймовірно, виявить корупцію шляхом занепаду бітів, так, це спрацює. Це , однак , НЕ допоможе виправити цю корупцію: хеші тільки забезпечують помилки виявлення, а НЕ корекції .
Це, як правило, мається на увазі під "цілісністю": Можливість виявлення несанкціонованого / ненавмисного маніпулювання даними, а не можливість їх запобігання чи виправлення.
Як правило, ви все ще хочете мати RAID1 разом із резервними копіями (можливо, реалізовані з знімками ZFS або подібними, я не знайомий із семантикою ZFS на RAID1 + знімках) з кількох причин:
якщо диск виходить з ладу фатально, для відновлення даних вам потрібен або RAID1 (або нещодавнє резервне копіювання); жодне виправлення помилок не може виправити помилку цілого диска, якщо на ньому немає повної копії даних (RAID1). На короткий час простою ви, по суті, повинні мати RAID1.
якщо ви випадково видалили частини або все сховище, вам потрібна резервна копія (RAID1 не захищає вас, оскільки він негайно відображає зміни на всіх пристроях)
Блоковий рівень RAID1 (наприклад, через LVM або подібний) із лише двома дисками сам по собі не захистить вас від тихого розпаду даних, хоча контролер RAID не може знати, який з двох дисків містить правильні дані. Для цього вам потрібна додаткова інформація, як контрольна сума над файлами. Це де ZSF і Btrfs контрольні суми бувають: вони можуть бути використані (що не означає , що вони будуть використані в цих випадках, я не знаю , як ZFS або Btrfs обробляти речі там) , щоб визначити , який з двох дисків має правильні дані.