Saya memahami argumen tentang peningkatan drive yang lebih besar kemungkinan mengalami URE selama pembangunan kembali, namun saya tidak yakin apa implikasi sebenarnya untuk ini. Jawaban ini mengatakan bahwa seluruh pembangunan kembali gagal, tetapi apakah ini berarti bahwa semua data tidak dapat diakses? Kenapa bisa begitu? Tentunya satu URE tunggal dari satu sektor pada drive hanya akan berdampak pada data yang terkait dengan beberapa file, paling banyak. Bukankah array masih akan dibangun kembali, hanya dengan beberapa korupsi kecil ke beberapa file?
(Saya secara khusus tertarik pada implementasi Z5 dari RAID5 di sini, tetapi logikanya tampaknya sama untuk implementasi RAID5.)
raid
zfs
zfsonlinux
proses91
sumber
sumber
Jawaban:
Itu sangat tergantung pada implementasi RAID spesifik:
sebagian besar perangkat keras RAID akan membatalkan rekonstruksi dan beberapa juga akan menandai array gagal , membawanya turun. Alasannya adalah bahwa jika URE terjadi selama RAID5 membangun kembali itu berarti beberapa data yang hilang, maka akan lebih baik untuk sepenuhnya menghentikan array bukan yang mempertaruhkan data korupsi diam. Catatan: beberapa perangkat keras RAID (terutama berbasis LSI) sebagai gantinya akan menusuk array, memungkinkan pembangunan kembali untuk melanjutkan sambil menandai sektor yang terkena sebagai tidak dapat dibaca (mirip dengan bagaimana perangkat lunak RAID Linux berperilaku).
RAID perangkat lunak linux dapat diinstruksikan untuk a) menghentikan pembangunan kembali array (satu-satunya perilaku MDRAID / kernel build "kuno) atau b) melanjutkan dengan proses pembangunan kembali yang menandai beberapa LBA sebagai buruk / tidak dapat diakses. Alasannya adalah bahwa lebih baik membiarkan pengguna melakukan pilihannya: bagaimanapun, satu URE dapat berada di ruang kosong, tidak mempengaruhi data sama sekali (atau hanya memengaruhi file yang tidak penting);
ZRAID akan menampilkan beberapa file rusak, tetapi akan melanjutkan dengan proses membangun kembali (lihat di sini untuk contoh). Sekali lagi, alasannya adalah bahwa lebih baik untuk melanjutkan dan melaporkan kembali kepada pengguna, memungkinkannya untuk membuat pilihan yang tepat.
sumber
Jika URE akan terjadi, Anda akan mengalami beberapa kerusakan data pada blok yang biasanya berukuran 256KB-1MB, tetapi ini tidak berarti SEMUA data pada volume Anda akan hilang. Yang tidak begitu hebat tentang RAID5 adalah hal yang sama sekali berbeda: Rebuild itu sendiri membuat stres dan ada kemungkinan besar Anda akan mendapatkan kegagalan disk kedua berturut-turut. Dalam kasus seperti itu, semua data akan hilang.
sumber
Saya akan menjelaskannya sebaliknya;
Jika pengontrol RAID tidak berhenti pada URE, apa yang bisa terjadi?
Saya tinggal di server, RAID tidak pernah memperhatikan URE dan setelah membangun kembali korupsi mulai menumpuk di seluruh volume RAID.
Disk mulai mendapatkan sektor yang lebih buruk setelah pembangunan kembali dan data mulai rusak.
Disk tidak pernah memulai volume RAID, kegagalan controller adalah pekerjaan untuk melindungi integritas data.
Contoh itu ditulis untuk membuat Anda berpikir bahwa pengontrol tidak dapat mendorong volume dengan URE sama sekali, itu untuk integritas data, karena volume tidak dimaksudkan sebagai cadangan tetapi ketahanan terhadap kegagalan disk
sumber
Saya sarankan membaca pertanyaan ini dan jawaban untuk latar belakang yang lebih sedikit. Lalu pergi dan baca kembali pertanyaan yang Anda tautkan lagi.
Ketika seseorang mengatakan tentang situasi ini bahwa "RAID gagal," itu berarti Anda kehilangan manfaat dari RAID - Anda kehilangan akses terus menerus ke data yang menjadi alasan Anda mengatur array RAID di tempat pertama.
Anda belum kehilangan semua data, tetapi cara yang paling umum untuk memulihkan dari satu drive mati ditambah (beberapa) URE pada (beberapa) drive yang tersisa adalah untuk sepenuhnya membangun kembali array dari awal, yang berarti mengembalikan semua data Anda dari cadangan.
sumber