SMART testi ne yapar ve nasıl çalışır?


27

man smartctl devletler (kısalık için SNIPPED):

İlk kategori olarak adlandırılan, "çevrimiçi" test. İkinci kategori testinin "çevrimdışı" testi denir. Normal olarak, disk erişimleri yapılırken disk çevrimdışı testini askıya alır ve sonra disk boştayken otomatik olarak devam eder. Üçüncü kategori test (ve gerçekten doğru bir seçim olup'testing' kelimesi, yalnızca kendileri için kategori) "öz" testidir.

Her dört saatte bir disk hataları için sürücüyü tarayan SMART otomatik çevrimdışı testini etkinleştirir veya devre dışı bırakır. Bu komut normal sistem çalışması sırasında verilebilir.

Test sürüşü yazılımı kim yürütür? Bunlar ne tür testler - bellenim diske ne okuyor / yazıyor - tam olarak neler oluyor? İşletim Sisteminde (linux) test yaptırmak güvenli midir yoksa daha sonra bir test programlayabilir mi - bu nasıl gerçekleşir - işletim sistemini BIOS isteminde yeniden başlattığınızda ('çevrimdışı test')? Sonuçlar nerede görüntüleniyor - SMART kayıtları?

Yanıtlar:


38
  1. Sürücü üretici yazılımı testleri çalıştırır.

  2. Testlerin detayları, kısa ve uzun testlerin öğelerini özetleyen örneğin www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf adresinde okunabilir:

    1. sürücünün kendi elektroniklerini test ettiği bir elektrik segmenti. Bu segmentteki belirli testler satıcıya özeldir, ancak örnekler olarak: bu segment bir tampon RAM testi, bir okuma / yazma devresi testi ve / veya okuma / yazma kafası elemanlarının bir testi gibi testleri içerebilir.

    2. sürücünün veri yollarını bulma ve servo alma yeteneğini test ettiği bir arama / servo segmenti. Bu testte kullanılan özel metodoloji de satıcıya özeldir.

    3. sürücünün disk yüzeyinin bir kısmının okuma taramasını yaptığı bir okuma / doğrulama tarama bölümü. Taranan yüzeyin miktarı ve konumu, tamamlanma süresi sınırlamasına bağlıdır ve satıcıya özeldir.

    4. Genişletilmiş kendi kendine test kriterleri, iki istisna dışında kısa kendi kendine test ile aynıdır: Genişletilmiş kendi kendine testin segmenti (3) tüm kullanıcı veri alanlarını okuyan / doğrulayan bir tarama olacaktır ve sürücünün testi yapması için maksimum süre.

  3. İşletim sistemi çalışırken tahrip edici olmayan testler yapmak güvenlidir, ancak bazı performans etkileri muhtemeldir. Gibi smartctladam sayfası hem söylüyor -t shortve -t long,

Bu komut normal sistem çalışmasında verilebilir (esir modunda çalıştırılmadıkça).

Birlikte esir modunu çağırmak durumunda -C, smartctlsürücü uzun uğraşlardan aşımı olabilir erişilemezliği varsayar. Bu gerektiğini değil OS kullanan bir sürücüde yapılabilir.

Kılavuz sayfasında da belirtildiği gibi, çevrimdışı test (sadece periyodik arka plan testi anlamına gelir) güvenilir değildir ve hiçbir zaman resmen ATA şartnamelerinin bir parçası olmamıştır. Benimkini crondan çalıştırıyorum; Bu şekilde ne zaman olması gerektiğini biliyorum ve ihtiyacım olursa onu durdurabilirim.

  1. Sonuçlar smartctlçıktıda görülebilir . İşte bir test çalışıyor:
[root @ risby images] # smartctl -a / dev / sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (yerel yapı)
Telif Hakkı (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
[...]
SMART Self-test log yapısı revizyon numarası 1
Num Test_Description Durum Kalan Ömür Süresi (saat) LBA_of_first_error
# 1 Genişletilmiş çevrimdışı Hata hatasız tamamlandı 00% 20567 -
# 2 Genişletilmiş çevrimdışı Hata% 00 tamamlandı 486 -

SMART Seçmeli otomatik test günlüğü veri yapısı revizyon numarası 0
Not: 1 numaralı revizyon numarası, seçici bir otomatik testin hiç yapılmadığını gösterir.
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_progress [% 90 kaldı] (0-65535)
   2 0 0 Not_testing
   3 0 0 Not_testing
   4 0 0 Not_testing
   5 0 0 Not_testing

Daha önce tamamlanmış iki teste (sırasıyla 486 ve 20567 saat açılışta) ve mevcut olanın bir (% 10 tamamlandı) çalıştığına dikkat edin.


1
Ayrıca, smartmontools kullanıyorsanız smartd arka plan programı, bir cronjob gerekmeden periyodik testlerle başa çıkabilir. Proaktif bir izleme tercih edilmesine rağmen, sürücü sorunlarının raporlanmasını da idare edecek.
GnP

8

SMART uygulamaları üreticiye bağlıdır, bazen oldukça kapsamlı günlükler smart -akomutla kullanılabilir. İşte Hitachi’den kendiliğinden şifrelemeli sürücülerimden birine giriyorum :

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
...

Bu beyaz sayfa, kayıtta görünen hata kodlarına biraz ışık tutmaktadır. Yaygın hata kısaltmaları şunlardır:

  • AMNF - Adres işareti bulunamadı
  • TONF - Parça 0 bulunamadı
  • ABRT - Komut iptal edildi
  • IDNF - Sektör Kimliği bulunamadı
  • UNC - Düzeltilemez veri
  • BBK - Kötü blok işareti

Benim durumumda, IDNF hatası (ID Bulunamadı), sürücü USB-SATA adaptörü ile takıldığında ve uygun şekilde aranmasını önleyen güçsüz hale geldiğinde bir olaya kadar izlenebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.