RAID-1 melindungi terhadap kegagalan total salah satu dari dua drive. Jika drive tidak ditandai sebagai gagal, maka isinya dianggap akurat. Tetapi jika, untuk alasan apa pun, salah satu dari dua drive mengembalikan data yang tidak konsisten, maka kesalahan itu tidak akan terdeteksi oleh sistem RAID, dan aplikasi akan mendapatkan data yang buruk.
Banyak pengontrol memiliki proses verifikasi yang berjalan secara berkala, tetapi tujuan dari ini adalah untuk menguji kegagalan disk, bukan integritas data. Hard drive menerapkan tes integritas data mereka sendiri dan checksum yang mereka gunakan untuk melihat sektor yang buruk, tetapi algoritma ini dirancang untuk menjadi cepat dan kompak, tidak menyeluruh, sehingga kesalahan dapat bocor.
Meskipun korupsi data merupakan pengecualian daripada aturan, korupsi juga bukan hal yang tidak pernah terjadi. Seorang anggota tim ZFS, misalnya, melaporkan dalam sebuah wawancara melihat data yang korup diberikan kepada mereka oleh perangkat RAID-5 kelas atas yang mereka temukan berdasarkan fakta bahwa ZFS mengimplementasikan checksum pada tingkat sistem file tersebut.
Seperti yang telah dicatat orang lain, sistem raid1 tidak memiliki cara untuk mengetahui mana dari dua sektor yang buruk.
Sistem serangan tingkat tinggi menjalankan operasi scrub di latar belakang untuk membandingkan kedua salinan, dan perbedaan flag. Lebih baik lagi adalah sistem yang membaca kedua blok dari drive setiap kali, dan membandingkannya pada waktu baca. Namun menyelesaikan perbedaan itu tidak mungkin untuk pengontrol serangan.
Pada sistem Unix di bawah mdadm, pemeriksaan scrub dapat dimulai dengan "sync_action":
raid1 adalah tentang melindungi dari kegagalan total drive yang tiba-tiba. Cari tempat lain untuk perlindungan terhadap korupsi. Di luar itu, Raid1 tidak menawarkan "riwayat", jadi tidak dapat pulih dari kesalahan manusia atau perangkat lunak. Lihat ke filesystems seperti ZFS atau history yang melestarikan filesystem seperti Hammer untuk melindungi dari korupsi.
sumber
Dalam latihan, ya. Sebagian besar kegagalan hard drive terjadi semua atau tidak sama sekali. Entah (a) kabel dicabut atau mikrokontroler drive gagal, sehingga pengontrol RAID tidak mendapat respons sama sekali - drive gagal jelas. Atau (b) Mikrokontroler kabel dan drive baik, tetapi ketika mencoba membaca suatu sektor, mikrokontroler drive internal mendeteksi korupsi data karena checksum ECC internal gagal, dan upaya berulang-ulang untuk membaca sektor itu (jika itu kesalahan baca sementara ) akhirnya waktu habis, sehingga pengontrol RAID mendapat respons "maaf" yang sopan - drive yang gagal jelas. Either way, jelas ke controller RAID-1 atau RAID-5 bahwa drive telah gagal.
Pada prinsipnya tidak. Jika ada sesuatu yang sangat salah sehingga hard drive menulis omong kosong, dan entah bagaimana bekerja cukup baik untuk menulis kode ECC internal yang benar untuk omong kosong itu, maka RAID-1 tidak dapat menentukan drive mana yang benar. Sistem RAID-1 kemungkinan akan menimpa data yang baik dengan data yang rusak pada sinkronisasi ulang. RAID-5 tidak lebih baik. Kegagalan daya "RAID-5 write hole" selama penulisan aktif adalah satu kasus yang jarang tetapi tidak mustahil.
Sejauh yang saya tahu, satu-satunya cara untuk menghindari korupsi tersebut adalah dengan menggunakan checksum end-to-end selain mirroring file, baik secara otomatis sebagai bagian dari sistem file (ZFS atau Btrfs) atau secara berkala atau manual (menghitung ulang checksum rsync, verifikasi file sederhana, set file Parchive, dll.); idealnya dengan hash kriptografi seperti SHA-256.
sumber