Seperti yang saya tunjukkan dalam jawaban saya yang lain , setiap hard drive modern memiliki ruang remapping yang tersedia (karena terutama pada kepadatan disk saat ini, tidak ada plat drive yang akan sempurna - akan selalu ada beberapa cacat yang harus dipetakan ulang drive, bahkan pada merek). -baru-tidak-pernah-digunakan-datang-dari-drive-line-ke-tangan-saya-drive).
Karena itu, secara teoritis Anda harus melaporkan kegagalan SMART sebelum sesuatu seperti badblocks
pemberitahuan (end-user-visible) bad sector pada drive.
Pada hard disk modern, setiap sektor buruk yang terlihat oleh pengguna akhir (seperti yang mungkin dilaporkan oleh badblocks
atau secara otomatis terdeteksi oleh OS) adalah napas terakhir dan getaran dari disk yang sekarat.
Akhirnya SMART dan badblocks
menguji dua hal yang berbeda, namun terkait:
SMART adalah alat pemantauan mandiri:
Hard drive mengetahui beberapa informasi tentang parameter operasinya, dan memiliki beberapa pengetahuan meta tentang apa yang "normal" untuk beberapa orang, dan "dapat diterima" untuk orang lain.
Jika drive merasakan bahwa parameter tertentu "tidak normal" atau "tidak dapat diterima" itu akan melaporkan kondisi pra-kegagalan - dengan kata lain drive masih berfungsi, tetapi mungkin gagal segera.
Sebagai contoh: Motor spindel biasanya menarik 0,10 amp, tetapi sekarang ia menggambar 0,50 amp - undian tinggi tidak normal yang mungkin mengindikasikan poros mengikat atau pelumas permanen pada bantalan hilang. Akhirnya motor tidak akan mampu mengatasi hambatan dan drive akan menyambar.
Contoh lain: Drive memiliki 1000 "remap" blok untuk menangani bad sector. Ini telah menggunakan 750 dari mereka, dan para insinyur yang membangun drive menentukan bahwa jumlah remaps menunjukkan sesuatu yang salah secara internal (piring buruk, kegagalan usia tua, kepala rusak) - drive akan melaporkan kondisi pra-kegagalan yang memungkinkan Anda waktu untuk mendapatkan data Anda mati sebelum ruang remap habis dan bad sector menjadi terlihat.
SMART mencari lebih dari sekadar sektor buruk - ini adalah penilaian yang lebih komprehensif tentang kesehatan drive. Anda dapat memiliki peringatan pra-kegagalan SMART pada drive tanpa sektor buruk dan tidak ada kesalahan baca / tulis (misalnya, masalah motor spindle yang saya jelaskan di atas).
badblocks
adalah alat dengan tujuan tertentu (kedaluwarsa): Temukan sektor buruk.
badblocks
datang dari masa sebelum SMART dan pemetaan ulang sektor buruk. Saat itu kami tahu drive memiliki ketidaksempurnaan, tetapi satu-satunya cara untuk memetakannya untuk mencegah penyimpanan data yang tidak disengaja adalah dengan stress-test disk, menyebabkan kegagalan, dan kemudian ingat untuk tidak memasukkan data ke sana lagi.
Alasan saya mengatakan ini sudah usang adalah karena elektronik pada drive modern sudah melakukan apa yang badblocks
dilakukan, secara internal dan beberapa ribu kali lebih cepat. badblocks
pada dasarnya memungkinkan drive kuno yang kekurangan elektronik canggih untuk memetakan kembali (atau melompati) sektor yang gagal, tetapi hard drive modern sudah mendeteksi sektor yang gagal dan memetakannya kembali untuk Anda.
Secara teoritis Anda dapat menggunakan badblocks
data untuk memiliki OS remap (terlihat) kegagalan seolah-olah disk modern Anda adalah disk Winchester kuno, tapi itu pada akhirnya kontraproduktif - Seperti yang saya katakan sebelumnya APAPUN sektor buruk yang terdeteksi badblocks
pada drive modern adalah penyebab untuk membuang seluruh drive rusak (atau hampir gagal).
Sektor buruk yang terlihat menunjukkan bahwa drive keluar dari ruang remapping, yang relatif jarang untuk disk modern kecuali mereka tua (mendekati akhir masa fungsional) atau rusak (piring-piring / kepala buruk dari pabrik).
Jadi pada dasarnya jika berjalan badblocks
pada disk sebelum Anda menyebarkannya dalam produksi membuat Anda merasa lebih baik maju dan melakukannya, tetapi jika disk Anda diproduksi pada abad ini dan itu menunjukkan sektor buruk yang terlihat Anda harus membuangnya di tempat sampah (atau memanggil garansi). Untuk uang saya, status SMART dan pertahanan secara mendalam adalah penggunaan waktu saya yang lebih baik daripada memeriksa disk secara manual.
smartctl -t long /dev/sda
sesekali, atau dapatkah saya berasumsi bahwasmartd
akan "secara otomatis" memperingatkan saya tentang masalah yang akan terjadi tanpa saya harus menyiapkan hal lain?badblocks
membaca setiap byte dari drive, menimpa mereka dengan pola acak, dan kemudian mengembalikan data aslinya. Tes mandiri SMART tidak melakukan ini. Ini harus menghapus semua sektor yang "tertunda", jika saya mengerti dengan benar.Jawaban yang bagus untuk pertanyaan ini adalah
/superuser//a/693065
/superuser//a/693064
Bertentangan dengan jawaban lain saya menemukan badblocks tidak ketinggalan zaman tetapi alat yang sangat berguna. Setelah saya memutakhirkan pc saya dengan hard drive baru dan mulai berjalan tidak stabil. Butuh beberapa saat untuk menyadari berkat badblock bahwa permukaan disk memiliki cacat. Sejak itu saya menjalankan badblock mode tulis penuh (destructible!) Untuk setiap hard drive baru yang saya mulai gunakan dan tidak pernah memiliki masalah itu lagi. Saya sangat merekomendasikan
waktu sudo badblocks -swvo sdX.log / sev / sdX
untuk setiap hard drive baru. Ini akan menguji setiap bit disk beberapa kali untuk menulis dan membaca sehingga dapat menghindari banyak masalah nanti.
Selama tes ini blok buruk akan dipetakan oleh drive. Jadi, "Hitungan Sektor yang Direlokasi" harus dicatat sebelum dan sesudah pengujian dan dibandingkan dengan ambang SMART karena akan memberi tahu sesuatu tentang kesehatan drive.
sumber
badblock adalah peninggalan dari masa lalu dan tidak sepenuhnya berguna, ia dapat menemukan sektor yang saat ini tidak dapat dibaca tetapi hal yang benar untuk dilakukan dengan sektor yang buruk adalah memulihkan data dari cadangan. Apa yang dapat dilakukan jika data tidak penting bagi Anda adalah menghapus file yang terkait dan menulis apa pun di lokasi itu, ini akan memungkinkan disk mengalokasikan kembali sektor tersebut jika dianggap perlu dan terus bekerja.
Disk self-test juga akan berkeliling dan menguji seluruh media untuk berbagai cacat, seharusnya menggunakan ambang yang lebih rendah dibandingkan dengan apa yang digunakan dalam operasi normal untuk melihat apakah disk memiliki banyak titik lemah dan berdasarkan logika vendor dapat memutuskan bahwa disk sudah melewati masa manfaatnya dan menyatakan pengujian gagal. Pada saat itu, Anda harus mengeluarkan semua data atau memulihkannya dari cadangan dan mengganti disk.
Jika tindakan disk (baik oleh blokir atau operasi normal) mengenai kesalahan baca yang tidak dapat dipulihkan, disk akan secara otomatis memperbarui penghitung realokasi yang tertunda dan ketika realokasi dilakukan, akan memperbarui pendataan realokasi dan penghitung yang direalokasi. Dd sederhana akan membuat itu terjadi juga.
Jika Anda perlu memilih di antara keduanya gunakan smartctl -t selama itu akan memiliki analisis disk yang lebih baik.
Saya juga dapat menyarankan penggunaan utilitas diskscan saya https://github.com/baruch/diskscan , ini berfungsi lebih seperti badblock tetapi mencoba untuk menilai apakah ada sektor yang memburuk, seperti sektor pendengaran yang membutuhkan lebih lama untuk dibaca. Ini merupakan indikasi masalah media yang sedang berkembang dan dalam versi yang akan datang mungkin juga menawarkan upaya otomatis untuk membantu disk memperbaiki masalah ini.
sumber
badblocks
menekankan dorongan dengan cara yang tidak dilakukan oleh swa-uji SMART?badblocks
membaca setiap byte dari disk, menggantinya dengan pola uji, lalu menulis data asli kembali pada tempatnya. Tes mandiri SMART sama dengan tes baca-tulis?