Saya telah melihat ke dalam RAID5 Vs RAID6 belakangan ini dan saya terus melihat bahwa RAID5 tidak cukup aman lagi karena peringkat URE dan peningkatan ukuran drive. Pada dasarnya, sebagian besar konten yang saya temukan mengatakan bahwa dalam RAID5, jika Anda mengalami kegagalan disk, jika sisa array Anda adalah 12TB, maka Anda memiliki hampir 100% peluang untuk memenuhi URE dan kehilangan data Anda.
Angka 12TB berasal dari fakta bahwa disk diberi peringkat 10 ^ 14 bit dibaca untuk mencapai satu URE.
Nah, ada sesuatu yang tidak saya dapatkan di sini. Pembacaan dilakukan oleh kepala di sektor ini, apa yang dapat membuat pembacaan gagal adalah kepala mati atau sektor mati. bisa juga karena pembacaan tidak bekerja karena alasan lain (saya tidak tahu, seperti getaran yang membuat kepala melompat ...). jadi, izinkan saya mengatasi semua 3 situasi:
- bacaan tidak berfungsi: itu tidak bisa dipulihkan, kan? itu bisa dicoba lagi.
- kepala mati: ini pasti tidak dapat dipulihkan, tetapi, itu juga berarti piring penuh (atau setidaknya sisi) akan tidak dapat dibaca, itu akan lebih mengkhawatirkan, bukan?
- sektor mati: sama sekali tidak dapat dipulihkan, tetapi di sini saya tidak mengerti mengapa disk 4TB diberi nilai 10 ^ 14 untuk URE dan 8TB juga diberi peringkat 10 ^ 14 untuk URE, itu berarti sektor-sektor di 8TB (kemungkinan besar teknologi yang lebih baru) setengah dapat diandalkan seperti yang ada pada 4TB, itu tidak masuk akal.
Seperti yang Anda lihat, dari 3 titik kegagalan yang saya identifikasi, tidak ada yang masuk akal. Jadi apa sebenarnya URE itu, maksud saya secara konkret?
Apakah ada seseorang yang bisa menjelaskan hal itu kepada saya?
Edit 1
Setelah gelombang jawaban pertama, tampaknya alasannya adalah sektor ini gagal. Hal yang baik adalah firmware, pengontrol RAID, dan sistem file OS + memiliki prosedur untuk mendeteksi secara dini dan merealokasi sektor.
Nah, sekarang saya tahu apa itu URE (sebenarnya, namanya cukup jelas :)).
Saya masih bingung dengan penyebab mendasar dan sebagian besar peringkat stabil yang mereka berikan.
Beberapa mengaitkan sektor gagal dengan sumber eksternal (gelombang kosmik), saya kemudian terkejut bahwa tingkat URE kemudian didasarkan pada jumlah bacaan dan bukan pada usia, gelombang kosmik memang seharusnya berdampak lebih pada disk yang lebih tua hanya karena telah diekspos lebih, saya pikir ini lebih dari fantasi meskipun saya mungkin salah.
Sekarang datang alasan lain yang berkaitan dengan keausan disk dan beberapa menunjukkan bahwa kepadatan yang lebih tinggi memberikan domain magnetik yang lebih lemah, yang benar-benar masuk akal dan saya akan mengikuti penjelasannya. Tapi Seperti yang dijelaskan di sini , ukuran disk yang lebih baru sebagian besar diperoleh dengan menempatkan lebih atau kurang dari piring yang sama (dan kemudian kepadatan yang sama) di sasis HDD. Sektor-sektornya sama dan semua harus memiliki keandalan yang sama, jadi disk yang lebih besar kemudian akan memiliki peringkat yang lebih tinggi daripada disk yang lebih kecil, sektor-sektor yang dibaca lebih sedikit, ini bukan masalahnya, Mengapa? Namun itu akan menjelaskan mengapa disk yang lebih baru dengan teknologi yang lebih baru tidak mendapatkan peringkat yang lebih baik daripada yang lama, hanya karena penguatan teknologi yang lebih baik diimbangi oleh kerugian karena kepadatan yang lebih tinggi.
Jawaban:
URE adalah Kesalahan Baca yang Tidak Dapat Dipulihkan. Sesuatu telah terjadi yang menyebabkan pembacaan suatu sektor gagal sehingga drive tidak dapat memperbaikinya. Drive elektronik canggih, mereka hanya akan melewatkan data jika mereka sudah bisa membacanya dengan benar dari disk. Drive elektronik akan mencoba beberapa kali untuk membaca sektor yang buruk sebelum menyatakannya rusak.
Apa yang menyebabkan kesalahan baca - Saya bukan ahli di sini (lengan melambai terjadi) tetapi mendorong penuaan dapat menyebabkan toleransi manufaktur menjadi relevan. Domain magnetik bisa menjadi lemah. Sinar kosmik dapat menyebabkan kerusakan dll. Pada dasarnya itu adalah kegagalan acak.
Bagaimana ini mempengaruhi RAID 5?
Sebuah RAID 5 terdiri dari tingkat blok striping dengan paritas didistribusikan. Blok paritas dihitung dengan XORing bit dari blok data bersama. Fungsi XOR pada dasarnya mengatakan, jika semua bit adalah sama hasilnya 0 jika tidak maka 1. Ketika menghitung paritas Anda mengambil 2 bit pertama dan XOR mereka kemudian XOR hasilnya dengan bit berikutnya dan seterusnya misalnya
Sifat fungsi XOR sedemikian rupa sehingga jika ada disk yang mati dan diganti, data yang harus ada di dalamnya dapat direkonstruksi dari disk yang tersisa.
Seperti yang Anda lihat, data yang rusak dapat direkonstruksi dengan XORing data dan paritas yang tersisa.
Bagaimana URE mempengaruhi ini?
URE hanya signifikan selama pembangunan ulang RAID 5.
Ketika Anda merekonstruksi RAID 5 ada banyak pembacaan yang harus dilakukan. Setiap blok data perlu dibaca untuk merekonstruksi data pada disk baru. Jika URE terjadi, maka data untuk blok yang relevan tidak dapat dipulihkan sehingga data Anda tidak konsisten. Untuk disk yang cukup besar dalam R5 yang cukup besar jumlah bit yang dibaca untuk merekonstruksi disk yang diganti melebihi nilai URE misalnya 1 bit dalam 10 ^ 14 baca.
sumber
Hard disk tidak hanya menyimpan data yang Anda minta. Karena ukuran domain magnetik yang terus berkurang, dan fakta bahwa hard disk menyimpan data dalam mode analog dan bukan biner (firmware hard disk mendapatkan sinyal analog dari platter, yang diterjemahkan ke dalam sinyal biner, dan terjemahan ini adalah bagian dari saus rahasia pabrikan), selalu ada beberapa tingkat kesalahan dalam pembacaan, yang harus dikompensasi.
Untuk memastikan bahwa data dapat dibaca kembali, hard disk juga menyimpan data koreksi kesalahan maju bersama dengan data yang Anda minta untuk disimpan.
Dalam operasi normal, data FEC cukup untuk memperbaiki kesalahan pada sinyal yang dibaca kembali dari platter. Firmware kemudian dapat merekonstruksi data asli, dan semuanya baik-baik saja. Ini adalah kesalahan baca yang dapat dipulihkan yang diekspos dalam SMART sebagai atribut tingkat kesalahan baca (atribut SMART 0x01) dan / atau Hardware ECC Dipulihkan (atribut SMART 0xc3).
Jika karena alasan tertentu sinyal mengalami degradasi di bawah titik tertentu, data FEC tidak lagi memadai untuk merekonstruksi data asli. Pada titik itu, menurut teori, firmware masih akan dapat mendeteksi bahwa data tidak dapat dibaca kembali dengan andal, tetapi tidak dapat melakukan apa-apa. Jika beberapa pembacaan seperti itu gagal, disk harus entah bagaimana menginformasikan ke seluruh komputer bahwa pembacaan tidak dapat dilakukan dengan sukses. Itu melakukannya dengan menandakan kesalahan baca yang tidak dapat dipulihkan . Ini juga meningkatkan penghitung Dilaporkan Kesalahan Yang Tidak Dapat Dikoreksi (atribut SMART 0xbb).
Kesalahan baca yang tidak dapat dipulihkan, atau URE, hanyalah sebuah laporan bahwa untuk alasan apa pun, data payload plus data FEC tidak cukup untuk merekonstruksi data yang disimpan sebelumnya.
Perlu diingat bahwa tingkat URE adalah statistik . Anda tidak akan menemukan hard disk apa pun di mana Anda dapat membaca dengan tepat 10 ^ 14 (atau 10 ^ 15) - 1 bit berhasil dan kemudian bit berikutnya gagal. Sebaliknya, itu adalah pernyataan oleh pabrikan bahwa rata-rata , jika Anda membaca (katakanlah) 10 ^ 14 bit, maka pada titik tertentu selama proses itu Anda akan menemukan satu sektor yang tidak dapat dibaca.
Juga, mengikuti beberapa kata terakhir di atas, perlu diingat bahwa tingkat URE diberikan dalam hal sektor per bit yang dibaca . Karena bagaimana data disimpan pada piringan, disk tidak dapat menentukan bagian mana dari sektor yang buruk, jadi jika suatu sektor gagal dalam pemeriksaan FEC, maka seluruh sektor dianggap buruk.
sumber
Spesifikasi biasanya "rata-rata 1 kesalahan terdeteksi saat membaca n bit", sehingga ukuran drive tidak masalah. Itu penting jika Anda menghitung risiko Anda bahwa kesalahan akan terjadi pada drive dan beban kerja Anda, tetapi pabrikan hanya menyatakan bahwa dibutuhkan n bit dibaca untuk menemukan kesalahan (rata-rata, tidak dijamin).
Contoh: Jika Anda membeli drive 1TB, Anda harus membacanya sekitar 12 kali untuk menemukan kesalahan, sedangkan drive 8TB mungkin mengalaminya pada pembacaan kedua - tetapi jumlah bit yang dibaca adalah sama dua kali, sehingga kualitasnya dari spindle magnetik kira-kira sama.
Apa yang Anda bayar dengan kenaikan harga adalah faktor-faktor lain, kemampuan menjejalkan 8TB ke dalam ruang fisik 1TB, sangat mengurangi konsumsi energi, lebih sedikit headcrash saat memindahkan drive, dll.
sumber
Saya pikir @Michael Kjörling menjawab dengan jelas.
Ketika disk membaca, kepala mendeteksi arah domain magnetik, kemudian mengirimkan beberapa sinyal elektronik, yang analog. Kami berasumsi firmware harus memberikan 1 ketika menerima tegangan lebih tinggi dari 0,5V, tetapi medan magnet terlalu lemah, sehingga kepala mengirim sinyal hanya dengan 0,499V, kesalahan terjadi. Kami membutuhkan FEC untuk memperbaiki kesalahan ini.
Berikut ini contohnya: data sektor harus 0x0F23, kami menyandikannya dengan 0 * 1 + F * 2 + 2 * 3 + 3 * 4 = 0x30. sekarang kita dapatkan FEC, dan tulis setelah sektor. Ketika kita membaca, kita membaca 0x0E23 dan FEC 0x30, itu tidak cocok. Setelah beberapa perhitungan, kami menemukan itu harus 0x0F23. Tetapi jika kita mendapatkan 0x0E13 dan 0x30, ATAU kita mendapat 0x0E23 dan 0x32, kita tidak dapat menghitung yang benar.
Peringkat ini sangat rendah, mungkin kecuali pabrik hdd membaca PBs data EB bisa mendapatkan nilai yang stabil. Jadi mereka memberikan nilai probabilitas: ketika Anda membaca data 10 ^ 14 bit, Anda mungkin menemukan sekali. Karena ini nilai probabilitas, mungkin Anda melakukan encoutered setelah Anda hanya membaca 1 data sektor, mungkin Anda temui hingga Anda membaca data 50TB. Dan nilai ini tidak ada apa-apanya dengan kapasitas disk, itu hanya masalah kesempatan dengan ukuran data yang Anda baca. Jika Anda membaca disk 4TB penuh dengan data 6 kali, kesempatan ini akan sama dengan membaca disk 6TB 4 kali, atau membaca disk 8TB 3 kali.
sumber