Obsah

smartmontools

smartmontools je sada nástrojů na kontrolu a sledování stavu disků pomocí technologie S.M.A.R.T.

Instalace

Nainstalujte smartmontools.

Spuštění

Program se spouští z terminálu pomocí příkazu (například)

sudo smartctl -a /dev/sda

pokud chci výpis dat z disku /dev/sda.

Jak to funguje

Sledování disku

Firmware sleduje během provozu disku různé parametry, pomocí nichž se dá usuzovat na stav a případnou pravděpodobnost selhání disku. Tyto parametry a jejich interpretace se bohužel mezi různými výrobci liší, ale určité obecné trendy je možné vyčíst.

Rychlé zhodnocení stavu disku

Použijte parametr -H (health - zdraví)

sudo smartctl -H /dev/sda

Pokud vidíte ve výpise PASSED, je disk v pořádku. Pokud FAILED, pravděpodobnost totálního selhání je velmi vysoká.

arrange@arrange-desktop:~$ sudo smartctl -H /dev/sda
smartctl 5.40 2010-03-16 r3077 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Více informací k disku

Použijte parametr -A (attributes - ukazatele)

sudo smartctl -A /dev/sda

Zkontrolujte sloupec WHEN_FAILED. Pokud obsahuje pouze pomlčky (-), jsou všechny ukazatele v normě.

Dále zkontrolujte ukazatel Reallocated_Sector_Ct (počet poškozených sektorů). Pokud se hodnota ve sloupci VALUE blíží hodnotě THRESH, mějte se na pozoru - disk není úplně v pořádku.

Problematické hodnoty u Raw_Read_Error_Rate (chyby při čtení) a Seek_Error_Rate (chyby při hledání sektoru na disku) nejsou fatální, ale ztěžují operačnímu systému nahrávání dat do paměti, a tím ho zpomalují, případně u neopravitelných (rozsáhlejších) chyb může dojít k lokálnímu poškození dat.

arrange@arrange-desktop:~$ sudo smartctl -A /dev/sda
smartctl 5.40 2010-03-16 r3077 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
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       -       831
  3 Spin_Up_Time            0x0027   157   156   021    Pre-fail  Always       -       3116
  4 Start_Stop_Count        0x0032   099   099   000    Old_age   Always       -       1093
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   092   092   000    Old_age   Always       -       5918
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1090
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       15
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1093
194 Temperature_Celsius     0x0022   104   094   000    Old_age   Always       -       39
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      -       1
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       1

Všechny údaje SMART k disku

Pro výpis všech informací k disku použijte

sudo smartctl -a /dev/sda

Příklad výstupu a vysvětlivky

smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.9 family
Device Model:     ST3802110A
Serial Number:    4LR6HEUP
Firmware Version: 3.BAJ
User Capacity:    80 026 361 856 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Fri Aug 19 20:50:03 2011 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Na začátku se kromě obecných informací k disku dozvíme, jestli

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (  25)	The self-test routine was aborted by
					the host.
Total time to complete Offline
data collection: 		 ( 430) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine
recommended polling time: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 (  27) minutes.

* SMART overall-health self-assessment test result celková interpretace hodnot indexů:

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   115   069   006    Pre-fail  Always       -       92132405
  3 Spin_Up_Time            0x0003   095   094   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   099   099   020    Old_age   Always       -       1315
  5 Reallocated_Sector_Ct   0x0033   098   098   036    Pre-fail  Always       -       87
  7 Seek_Error_Rate         0x000f   079   060   030    Pre-fail  Always       -       89291126
  9 Power_On_Hours          0x0032   097   097   000    Old_age   Always       -       3016
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   020    Old_age   Always       -       1409
187 Reported_Uncorrect      0x0032   001   001   000    Old_age   Always       -       30199
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   056   056   045    Old_age   Always       -       44 (0 7 44 38)
194 Temperature_Celsius     0x0022   044   044   000    Old_age   Always       -       44 (0 19 0 0)
195 Hardware_ECC_Recovered  0x001a   044   044   000    Old_age   Always       -       167736146
197 Current_Pending_Sector  0x0012   001   001   000    Old_age   Always       -       4294967295
198 Offline_Uncorrectable   0x0010   001   001   000    Old_age   Offline      -       4294967295
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       30
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   099   252   000    Old_age   Always       -       1

Dokážou tyto údaje předpovědět selhání disku?

Studie Googlu, která je statistickým shrnutím shromážděných údajů z více než 100 000 pevných disků, mj. zjistila, že

Testování disku

Pomocí příkazu smartctl je rovněž možné spustit různé testy disku, všechny lze použít při normální činnosti (je možné pokračovat v práci s počítačem).

sudo smartctl -t nazev_testu /dev/sda

Testy, ktere lze použít (doplňte místo nazev_testu):

Výsledky testu je možné zkontrolovat pomocí (kromě offline - ten pouze aktualizuje hodnoty u ukazatelů)

sudo smartctl -l selftest /dev/sda

Tipy a triky

Místo konzolového nástroje je možné použít grafický diskový nástroj, který interpretuje hodnoty SMART i provádí testy.

badblocks umožňuje vyhledávat poškozené bloky nezávisle na SMART. Přemapované bloky už ale nenajde.

Pokud chcete zálohovat data z poškozeného disku, a kvůli většímu poškození se to nedaří, zkuste ddrescue.

Odstranění

Odeberte balík smartmontools.

Odkazy