Apakah SMART selftest ini menunjukkan drive yang gagal?

10

Saya bertanya-tanya apakah hasil SMART selftest ini menunjukkan kegagalan drive, ini adalah satu-satunya drive yang muncul dengan 'selesai: baca kegagalan' dalam hasil.

# smartctl -l selftest /dev/sde
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)   LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%      8981         976642822
# 2  Extended offline    Aborted by host               90%      8981         -
# 3  Extended offline    Completed: read failure       90%      8981         976642822
# 4  Extended offline    Interrupted (host reset)      90%      8977         -
# 5  Extended offline    Completed without error       00%       410         -

Drive belum menunjukkan tanda-tanda kegagalan, selain dari output dari selftest SMART itu. Ini adalah output dari drive yang berbeda di sistem yang sama yang saat ini menjalankan SMART selftest

# smartctl -l selftest /dev/sdc
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Self-test routine in progress 30%     15859         -
# 2  Extended offline    Completed without error       00%      9431         -
# 3  Extended offline    Completed without error       00%      8368         -


SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       1
  3 Spin_Up_Time            0x0027   176   175   021    Pre-fail  Always       -       4183
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       48
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   088   088   000    Old_age   Always       -       8982
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       46
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       34
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       13
194 Temperature_Celsius     0x0022   111   101   000    Old_age   Always       -       36
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       1
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       1
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       2
Jeff Welling
sumber
4
Akan jauh lebih membantu jika Anda menjalankan smartctl -a /dev/sdedan memposting bagian berlabel SMART Attributes Data Structureyang berisi penghitung mentah. Khususnya yang pertama di sana adalah Raw_Read_Error_Rateyang merupakan indikator "bad drive" terbaik (dan mungkin akan! 0 dalam kasus Anda).
Chris S
1
Ditambahkan. . . . . . . . . .
Jeff Welling
1
Data yang Anda tambahkan terlihat cukup baik. Jika drive adalah bagian dari array RAID saya tidak akan khawatir tentang hal itu. Anda harus mencadangkan file penting Anda di tempat pertama; sekarang adalah waktu yang tepat untuk memulai jika tidak.
Chris S
4
@ Jeff Welling: Bukan untuk menjadi pedant tentang hal itu, tetapi jika "cadangan" Anda ada di array RAID, itu bukan "cadangan" itu adalah "salinan". Secara pribadi, jika itu saya, saya akan mengganti drive pada tanda kegagalan drive. Dengan biaya sekecil apa pun untuk drive yang baik belakangan ini, asuransi itu sepadan. Juga, saya baru saja mengalami dua kegagalan drive, dalam array (RAID10) yang sama, pada hari yang sama. Dari 6 yang ada di array. FWIW.
Kendall
1
@ Kendall, saya pikir maksudnya array digunakan untuk backup dan aslinya ada di tempat lain. Jika itu masalahnya saya akan kebetulan karena agak tidak mungkin dua drive akan gagal (kecuali mereka drive baru, kematian bayi adalah masalah umum dan membakar adalah praktik umum dalam array besar).
Chris S

Jawaban:

8

Semoga Anda sudah lama mengganti drive, tetapi karena belum ada yang langsung menjawab pertanyaan ...

Anda menjalankan dua tes, yang keduanya gagal membaca sektor logis yang sama dari disk, seperti yang ditunjukkan oleh Completed: read failuredan LBA yang sama di kedua tes. Ini memang menunjukkan bahwa disk memiliki cacat, dan Anda harus dapat menggantinya dengan garansi. Mencoba untuk menyimpan data di sektor ini mungkin atau mungkin tidak menyebabkan drive untuk melihat itu rusak selama proses penulisan dan memetakan kembali sektor, tetapi jika drive tidak melihat, dan tidak dapat membaca data nanti, Anda telah kehilangan Itu.

Michael Hampton
sumber
4

Apakah data Anda layak dipertaruhkan pada drive yang dicurigai?

Jika itu saya, saya akan mengganti drive dan bersyukur bahwa SMART menyelamatkan saya dari sakit kepala.

Bit Bacon
sumber
Selain itu saya setidaknya menyiapkan skrip cron untuk menjalankan smart seminggu sekali pada drive Anda dan kemudian mengirimkan output dalam laporan atau email kepada Anda setiap minggu sehingga Anda dalam banyak kasus dapat mengidentifikasi sebelumnya drive yang mungkin berada di kaki terakhir mereka untuk menghindari harus pulih dari kegagalan dan harus memulihkan dari cadangan. Lebih mudah lagi karena jika Anda memiliki beberapa mesin menggunakan alat pemantauan seperti Nagios atau Munin.
Wilshire
5
Itu lebih mudah dilakukan ketika Anda tahu apa output pintar menunjukkan drive gagal, sulit untuk mengatakan apa yang menunjukkan dan tidak menunjukkan drive gagal.
Jeff Welling
4

Saya ingin menambahkan komentar di jawaban yang lain, tetapi saya tidak bisa karena kurangnya perwakilan, lihatlah.

Anda tidak perlu membuat skrip cron, ada daemon smartd dalam paket smartmontools yang menangani apa yang ingin Anda lakukan: memeriksa status SMART secara teratur. Yang Anda butuhkan hanyalah membuat konfigurasi dan memulai layanan. Paket smartmontools juga berisi beberapa contoh skrip yang dapat dipanggil oleh smartd ketika sesuatu mulai gagal.

Sgaduuw
sumber
Saya tidak menggunakan skrip cron, saya menggunakan daemon smartd. Meludahkan catatan dalam log sistem, saya perhatikan beberapa baris yang biasanya tidak saya lihat pada drive lain dan mencoba selftest, yang ketika saya periksa gagal. Saya belum pernah melihat kegagalan seperti ini sebelumnya, jadi saya pikir orang-orang di sini mungkin mengalami kegagalan. Output syslog dari smartd cukup samar jika Anda tidak memiliki banyak pengalaman dengan itu, itu tidak benar-benar memberitahu Anda "Drive X sedang sekarat dan perlu diganti" meskipun akan lebih baik jika itu :)
Jeff Welling
2

Apa yang akan saya lakukan dalam situasi Anda?

Pertama-tama saya mencari tahu file mana yang terpengaruh. Ada beberapa instruksi bagaimana melakukan ini http://smartmontools.sourceforge.net/badblockhowto.html#e2_example1 Ya. Dalam kasus Anda lebih sulit karena Anda memiliki array. Tapi itu mungkin. Daripada, pastikan bahwa file ini dicadangkan, daripada menulis nol ke sektor gagal. Dua hal bisa terjadi. 1. Drive berhasil menulis nol ke sektor ini. Current_Pending_Sector, Reallocated_Sector_Ct harus nol setelahnya. 2. Drive gagal menulis ke sektor ini. Daripada itu remaps sektor ini ke area "cadangan".

Bagaimanapun Anda berakhir dengan drive tetap. Anda harus mengembalikan file Anda dari cadangan (karena Anda menimpa satu sektor dari itu). Anda juga harus menjalankan kembali swa-uji lanjutan untuk memastikan tidak ada lagi kesalahan.

Tetap sehat!

PS Saya tahu bahwa posting ini agak tua. Tapi saya menipunya. Dan saya pikir itu ide yang bagus untuk memberikan jawaban yang baik.

Alexandr Priymak
sumber
1
info berguna! Akan mencoba ini sekarang
kerridge0
0

Drive itu kemungkinan akan keluar. Tidak dapat membaca dari bagian drive adalah kondisi kegagalan yang pasti, dan sangat mungkin untuk terjadi tanpa tanda-tanda kegagalan disk yang khas. Jenis hal ini biasanya tidak sementara; tanpa tanda-tanda lain itu mungkin kepala yang lemah, masalah penyelarasan yang sangat sedikit, atau area yang rusak di piring (silinder?).

Alternatif lainnya adalah ada bug SMART; Anda benar-benar tidak ingin menjalankan drive dengan firmware kereta.

Setiap kali Anda melihat kesalahan sama sekali dari SMART, itu adalah pertanda kuat bahwa Anda harus mendapatkan drive baru untuk menghindari kehilangan data. Ini dimaksudkan sebagai sistem peringatan dini, sebagian.

Falcon Momot
sumber
0
  • Cadangkan secepatnya!

  • Jika drive ini masih dalam garansi, maka

    • jalankan utitity cek vendor (Anda biasanya bisa mendapatkan boot cd)
    • jika ini mengembalikan kesalahan lalu bingo, kirim kembali dan tunggu penggantian
    • pulihkan dari cadangan
    • masalah terpecahkan - AKHIR

  • Jika drive ini tidak memiliki garansi maka Anda kacau
    • masih ada harapan ...
    • karena ini sebenarnya kesalahan baca saja itu tidak berarti Anda tidak dapat menulis untuk itu
    • setelah membuat cadangan, Anda dapat mencoba mengembalikan cadangan karena akan menimpa sektor yang tidak dapat dibaca dengan data baru yang sebenarnya dapat Anda baca kembali (yah, biasanya ini berfungsi, di latar belakang drive akan memetakan ulang blok ini untuk sektor cadangan sebagian besar waktu )
    • badblocks alat juga dapat digunakan untuk ini (Anda sudah memiliki cadangan, bukan?)
      • Anda tidak benar-benar menggunakan ini untuk menguji disk (tidak masuk akal dengan tidak pernah disk lagi pula), tetapi untuk menulis ke sektor ini beberapa kali
    • Anda dapat menjalankan kembali tes pintar lagi dan ada kemungkinan sektor-sektor yang tidak dapat dibaca ini "mengoreksi diri mereka sendiri"
    • masalah TIDAK terpecahkan, Anda hanya membuat drive bertahan lebih lama, mungkin itu akan gagal lebih cepat dari biasanya mungkin dalam setahun tergantung pada penggunaannya, tapi hei disk murah, dapatkan yang baru jika data Anda penting bagi Anda - SELESAI
cstamas
sumber
1
Hard drive modern (seperti sejak pergantian abad) tidak berfungsi seperti yang Anda gambarkan di bagian "tanpa jaminan".
Chris S
3
Mulai dengan artikel Bad Sector Wikipedia . Hard drive mengabstraksi alamat sektor logis dan memetakannya ke sektor-sektor yang menurutnya baik. Beberapa utilitas vendor (terkadang SMART, tergantung pada apa yang diekspos oleh drive) dapat melaporkan sektor-sektor yang dipetakan kembali. Bad sector terdeteksi pada operasi tulis secara normal. Biasanya setelah ditulis, dapat dibaca lagi; ini adalah operasi penulisan awal yang biasanya gagal di bad sector. Sekali suatu sektor buruk itu buruk selamanya, tidak ada "mengoreksi" itu.
Chris S
1
Saya pikir saya tidak mengatakan apa pun yang bertentangan dengan apa yang Anda katakan, tetapi saya mengklarifikasi sedikit untuk membuatnya lebih "benar secara teknis".
cstamas
2
Tidak yakin mengapa orang sangat memilih jawaban Anda. Saya pikir Anda tepat. Orang mungkin salah paham bahwa Anda menganjurkan menjaga drive yang serpak beroperasi. Tetapi mengingat OP adalah pengguna rumahan, biaya untuk drive baru bisa sangat memprihatinkan, bahkan dengan harga saat ini. Saya tahu ini adalah pertanyaan yang cukup lama, tetapi dari saya, setidaknya, Anda mendapatkan +1. ;)
Markus A.
2
@cstamas: Dapat juga setuju bahwa jawaban Anda tepat - jika drive bertahan dalam jumlah penuh badblocks -w(penulisan 3x, membaca 3x) tanpa membuat bad sector baru, saya akan menyimpannya. Kalau tidak, itu terlalu rusak untuk digunakan di suatu tempat.
mt_