Ubuntu Česko smartmontools

  • Edit
  • Diskuze
  • Info
  • Attachments

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

Instalace

IconsPage/apt.png Nainstalujte smartmontools.

Spuštění

IconsPage/navigate.png 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á.

IconsPage/example.png

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.

IconsPage/example.png

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

IconsPage/example.png 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

  • firmware podporuje SMART (SMART support is: Available)

  • jestli je zapnutý (Enabled).

IconsPage/example.png

=== 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ů:

    • PASSED - disk nevykazuje větší množství chyb
    • FAILED - hodnoty u jednoho nebo více indexů jdou za limit doporučovaný výrobcem - hrozí celkové selhání disku
  • Offline data collection status - některé disky umožňují automatickou kontrolu disku "na pozadí" (offline); enabled - zapnuto

  • Self-test execution status - výsledek posledního testu disku prováděného pomocí SMART

  • ... polling time - předpokládané časy jednotlivých testů

IconsPage/example.png

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
  • ID a ATTRIBUTE_NAME - číslo a název ukazetele. Podrobnosti viz třeba zde. Nejdůležitějším ukazatelem je asi Reallocated_Sector_Ct - počet přemapovaných, a tedy vadných sektorů.

  • VALUE - tzv. normalizovaná (aktuální) hodnota, tedy hodnota přepočítaná vnitřním algoritmem SMARTu na hodnotu mezi 0-255 (někdy 0-200 apod.). Čím vyšší je tato hodnota, tím lépe. Pokud se dostane pod hodnotu ve sloupci THRESH, systém hlásí brzké selhání disku.

  • WORST - nejnižší (a tedy nejhorší) hodnota, jaké kdy tento ukazatel v historii dosáhl

  • THRESH (threshold - práh) - hraniční hodnota, pod níž systém hlásí brzké selhání disku

  • TYPE - typ ukazatele

    • Pre-fail - ukazatel indikující špatný stav disku

    • old_age - indikující stáří disku

  • UPDATED - kdy dochází k aktualizaci hodnoty ukazatele

    • always - při běžné činnosti disku

    • offline - při běhu testu na pozadí

  • WHEN_FAILED - kdy došlo k tomu, že hodnota ukazatele se dostala pod určený práh

    • - - nikdy

    • in_the_past - někdy v minulosti, aktuálně je v pořádku

    • failing_now - akutní nebezpečí

  • RAW_VALUE - nenormalizovaná hodnota ukazatele. Zde je nutné si uvědomit, že tato hodnota je pouze orientační a nemá dostatečnou vypovídající hodnotu, protože ji každý výrobce implementuje jinak. Může např. hodnotu vytvořit jako spojení více bytů, jež mají každý jiný význam v rámci ukazatele, a pak může být "syrová" hodnota nesmyslně vysoká (viz v příkladu Current_Pending_Sector).

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

  • disky s nenulovou hodnotou u Reallocated_Sector_Ct mají 14x větší pravděpodobnost selhání než ostatní; podobné je to i u ostatních chybových parametrů

  • 36% disků, které selhaly, byly podle ukazatelů SMART naprosto v pořádku (nulové hodnoty u chybových parametrů)
  • vysoká zátěž disku se negativně projevuje (rozuměj zvyšuje pravděpodobnost selhání) jen v prvním půlroce používání
  • vyšší teplota (myšleno kolem 45 stupňů) nemá na životnost zásadní vliv

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):

  • offline - spustí offline test, kontrola povrchu disku

  • short - kontroluje se jen určitá část disku, někdy i buffer a mechanické části disku

  • long - kontrola celého disku

  • conveyance - rychlý test na možná poškození při přepravě disku (kontrola nového disku)

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í

IconsPage/clear.png Odeberte balík smartmontools.

Odkazy

ubuntu-cz: smartmontools (last edited 2012-03-30 15:00:34 by arrange)