Apa yang dilakukan pengujian SMART dan bagaimana cara kerjanya?

27

man smartctl negara (DICIPTAKAN untuk singkatnya):

The Kategori pertama , yang disebut "online" pengujian. The Kategori kedua pengujian disebut "offline" pengujian. Biasanya, disk akan menangguhkan pengujian offline saat akses disk sedang berlangsung, dan kemudian secara otomatis melanjutkannya ketika disk tersebut akan menganggur. The Kategori ketiga dari pengujian (dan satu-satunya kategori yang kata'testing' benar-benar pilihan yang tepat) adalah "diri" pengujian.

Mengaktifkan atau menonaktifkan uji offline offline otomatis, yang memindai drive setiap empat jam untuk cacat disk. Perintah ini dapat diberikan selama operasi sistem normal.

Siapa yang menjalankan firmware test-drive? Tes macam apa ini - apakah firmware membaca / menulis ke disk - apa yang sebenarnya terjadi? Apakah aman untuk menjalankan pengujian saat berada di OS (linux) atau dapatkah seseorang menjadwalkan tes nanti - bagaimana hal ini terjadi - ketika Anda me-reboot OS di prompt BIOS ('tes offline')? Di mana hasilnya ditampilkan - SMART log?

Pasang kembali Monica - M. Schröder
sumber

Jawaban:

38
  1. Firmware drive menjalankan tes.

  2. Detail tes dapat dibaca di mis. Www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf, yang merangkum elemen-elemen tes pendek dan panjang dengan demikian:

    1. segmen listrik di mana drive menguji elektroniknya sendiri. Tes khusus dalam segmen ini khusus untuk vendor, tetapi sebagai contoh: segmen ini mungkin mencakup tes seperti tes RAM buffer, tes sirkuit baca / tulis, dan / atau tes elemen kepala baca / tulis.

    2. segmen seek / servo di mana drive menguji kemampuannya untuk menemukan dan servo pada trek data. Metodologi khusus yang digunakan dalam tes ini juga spesifik untuk vendor.

    3. segmen pemindaian baca / verifikasi di mana drive melakukan pemindaian baca dari beberapa bagian permukaan disk. Jumlah dan lokasi permukaan yang dipindai tergantung pada batasan waktu penyelesaian dan khusus untuk vendor.

    4. Kriteria untuk swa-uji diperluas sama dengan swa-uji singkat dengan dua pengecualian: segmen (3) dari swa-uji diperluas harus berupa scan baca / verifikasi semua area data pengguna, dan tidak ada batas waktu maksimum untuk drive untuk melakukan tes.

  3. Aman untuk melakukan pengujian non-destruktif saat OS sedang berjalan, meskipun beberapa dampak kinerja mungkin terjadi. Seperti yang smartctldikatakan halaman manual untuk keduanya -t shortdan -t long,

Perintah ini dapat diberikan dalam operasi sistem normal (kecuali dijalankan dalam mode captive)

Jika Anda mengaktifkan mode captive -C, smartctlanggap drive dapat disibukkan dengan tidak tersedianya. Ini tidak boleh dilakukan pada drive yang digunakan OS.

Seperti yang ditunjukkan oleh halaman manual, pengujian offline (yang berarti pengujian latar belakang berkala) tidak dapat diandalkan, dan tidak pernah secara resmi menjadi bagian dari spesifikasi ATA. Saya menjalankan milik saya dari cron, sebagai gantinya; dengan begitu saya tahu kapan itu harus terjadi, dan saya bisa menghentikannya jika perlu.

  1. Hasilnya bisa dilihat di smartctloutput. Inilah satu dengan tes berjalan:
[root @ risby images] # smartctl -a / dev / sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (build lokal)
Hak Cipta (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
[...]
SMART revisi tes struktur diri nomor 1
Num Test_Description Status Sisa Seumur Hidup (jam) LBA_of_first_error
# 1 Diperpanjang offline Selesai tanpa kesalahan 00% 20567 -
# 2 Diperpanjang offline Selesai tanpa kesalahan 00% 486 -

SMART revisi selektif data diri struktur data log nomor 0
Catatan: angka revisi bukan 1 menyiratkan bahwa tidak ada tes mandiri selektif yang pernah dijalankan
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_progress [90% tersisa] (0-65535)
   2 0 0 Not_testing
   3 0 0 Not_testing
   4 0 0 Not_testing
   5 0 0 Not_testing

Perhatikan dua tes selesai sebelumnya (masing-masing pada 486 dan 20567 jam) dan yang berjalan saat ini (10% selesai).

MadHatter mendukung Monica
sumber
1
Juga dari catatan, jika Anda menggunakan smartmontools daemon smartd dapat menangani pengujian berkala tanpa perlu melakukan cronjob. Ini juga akan menangani pelaporan masalah drive, meskipun pemantauan proaktif mungkin lebih disukai.
GnP
8

Implementasi SMART bergantung pada pabrikan, terkadang log yang cukup luas tersedia melalui smart -aperintah. Inilah yang saya dapatkan di salah satu drive yang mengenkripsi sendiri dari Hitachi :

SMART Error Log Version: 1
ATA Error Count: 3

Error 3 occurred at disk power-on lifetime: 2543 hours (105 days + 23 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 08 00 08 00 00  Error: IDNF at LBA = 0x00000800 = 2048

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 08 68 00 08 00 40 00      00:00:06.139  READ FPDMA QUEUED
27 00 00 00 00 00 e0 00      00:00:06.126  READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00      00:00:06.125  IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00      00:00:06.125  SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00      00:00:06.125  READ NATIVE MAX ADDRESS EXT
...

Kertas putih ini memberi sedikit cahaya pada kode kesalahan yang muncul di log. Singkatan kesalahan umum adalah:

  • AMNF - Tanda alamat tidak ditemukan
  • TONF - Track 0 tidak ditemukan
  • ABRT - Perintah dibatalkan
  • IDNF - ID Sektor tidak ditemukan
  • UNC - Data tidak terkoreksi
  • BBK - tanda blok buruk

Dalam kasus saya, kesalahan IDNF (ID Not Found) dapat ditelusuri kembali ke suatu insiden ketika drive dicolokkan melalui adaptor USB-to-SATA dan kebetulan kurang daya, yang mencegahnya mencari dengan benar.

Dmitry Grigoryev
sumber