Tergantung pada apa yang Anda maksud dengan "mencegah".
(Pertama-tama, bit-busuk adalah istilah dengan banyak definisi. Pertanyaan ini bukan tentang kode yang tidak dapat dihapus karena kurangnya pemeliharaan .)
Jika Anda maksud dengan "mencegah" bahwa ia kemungkinan akan mendeteksi korupsi dengan peluruhan bit, ya, itu akan berhasil. Namun tidak akan membantu untuk memperbaiki korupsi itu: hash hanya menyediakan deteksi kesalahan , bukan koreksi .
Ini umumnya apa yang dimaksud dengan "integritas": Kemungkinan untuk mendeteksi manipulasi data yang tidak sah / tidak disengaja, bukan kemungkinan untuk mencegah atau memperbaikinya.
Anda umumnya masih menginginkan RAID1 bersama dengan cadangan (mungkin diimplementasikan dengan snapshot ZFS atau serupa, saya tidak akrab dengan semantik ZFS pada snapshot +1 RAID1 +), karena beberapa alasan:
jika disk gagal fatal, Anda perlu RAID1 (atau cadangan baru-baru ini) untuk memulihkan data Anda; tidak ada koreksi kesalahan yang dapat memperbaiki kesalahan seluruh disk, kecuali jika ia memiliki salinan lengkap data (RAID1). Untuk downtime singkat, Anda pada dasarnya harus memiliki RAID1.
jika Anda secara tidak sengaja menghapus bagian atau seluruh repositori, Anda memerlukan cadangan (RAID1 tidak melindungi Anda karena segera mencerminkan perubahan ke semua perangkat)
RAID1 tingkat blok (mis. Via LVM atau serupa) dengan hanya dua disk itu sendiri tidak akan melindungi Anda terhadap pembusukan data secara diam-diam: pengontrol RAID tidak dapat mengetahui yang mana dari dua disk yang menyimpan data yang benar. Anda memerlukan informasi tambahan untuk itu, seperti checksum atas file. Di sinilah ZSF dan btrfs checksum datang dalam: mereka dapat digunakan (yang bukan untuk mengatakan bahwa mereka yang digunakan dalam kasus ini, saya tidak tahu bagaimana ZFS atau btrfs menangani hal-hal di sana) untuk membedakan mana dari dua disk memegang data yang benar.