smartmontools

Пакет smartmontools состоит из двух утилит (smartctl и smartd), которые контролируют и следят за системными накопителями используя самопроверку, анализ и систему технологического отчёта (S.M.A.R.T.), встроенную в большинство современных ATA и SCSI жёстких дисков. Этот пакет основан на коде пакета smartsuite и включает поддержку ATA/ATAPI-5 дисков. Он должен быть запущен на любой современной Linux системе.

Установка в Ubuntu 9.04 и Debian 5.02:

# aptitude install smartmontools
  bsd-mailx{a} mailx{a} smartmontools
Хотите продолжить? [Y/n/?] Y
...
Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools (warning).
...

Настраиваем запуск smartmontools, для этого раскомментируем строку start_smartd=yes в файле /etc/default/smartmontools

# nano /etc/default/smartmontools
# Defaults for smartmontools initscript (/etc/init.d/smartmontools)
# This is a POSIX shell fragment

# List of devices you want to explicitly enable S.M.A.R.T. for
# Not needed (and not recommended) if the device is monitored by smartd
#enable_smart="/dev/hda /dev/hdb"

# uncomment to start smartd on system startup
start_smartd=yes

# uncomment to pass additional options to smartd on startup
#smartd_opts="--interval=1800"

Запускаем smartmontools

# /etc/init.d/smartmontools start

Проверяем log

# cat syslog | less
...
Oct 19 14:30:43 dark smartd[697]: smartd version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen 
Oct 19 14:30:43 dark smartd[697]: Home page is http://smartmontools.sourceforge.net/  
Oct 19 14:30:43 dark smartd[697]: Opened configuration file /etc/smartd.conf 

Использование smartctl

  • Поддерживает ли диск технологию SMART технология внутренней оценки состояния жёсткого диска?
    # smartctl -i  /dev/sda
    === START OF INFORMATION SECTION ===
    Model Family:     Western Digital Caviar Black family
    Device Model:     WDC WD5001AALS-00E3A0
    Serial Number:    WD-WCATR3228963
    Firmware Version: 05.01D05
    User Capacity:    500.107.862.016 bytes
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   8
    ATA Standard is:  Exact ATA specification draft version not indicated
    Local Time is:    Thu Feb 23 07:48:45 2012 GMT
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled
  • Вывести информацию о драйвере HDD.
    # smartctl /dev/sda -P show
    Drive found in smartmontools Database.  Drive identity strings:
    MODEL:              WDC WD5001AALS-00E3A0
    FIRMWARE:           05.01D05
    match smartmontools Drive Database entry:
    MODEL REGEXP:       WDC WD((500|640|750)1AAL|1001FAL|2001FAS)S-.*
    FIRMWARE REGEXP:    .*
    MODEL FAMILY:       Western Digital Caviar Black family
    ATTRIBUTE OPTIONS:  None preset; no -v options are required.
  • Провести быстрый тест здоровья жесткого диска
    # smartctl -H /dev/sda
    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 overall-health self-assessment test result: PASSED

    Если тест не пройден - стоит задуматься о замене жесткого диска.

  • Выполнить расширенные встроенные тесты для диска /dev/hda.
    smartctl --test=long /dev/sda

    Команду можно использовать на работающей системе. Для просмотра результатов выполнения тестов используется команда вывода внутреннего журнала после завершения теста

    smartctl -l selftest /dev/sda
  • Вывести атрибуты SMART технология внутренней оценки состояния жёсткого диска для HDD.
    # smartctl -A  /dev/sda
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-17-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
    
    === 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     0x000b   100   100   016    Pre-fail  Always       -       1
      2 Throughput_Performance  0x0005   135   135   054    Pre-fail  Offline      -       96
      3 Spin_Up_Time            0x0007   130   130   024    Pre-fail  Always       -       315 (Average 266)
      4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       271
      5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
      8 Seek_Time_Performance   0x0005   144   144   020    Pre-fail  Offline      -       28
      9 Power_On_Hours          0x0012   098   098   000    Old_age   Always       -       17920
     10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
     12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       270
    192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       297
    193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       297
    194 Temperature_Celsius     0x0002   176   176   000    Old_age   Always       -       34 (Min/Max 12/42)
    196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
    197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
    198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0

Атрибуты состоят из нескольких полей, (наиболее часто обозначаемых как Val, Worst, Tresh, RAW), каждое из которых является определенным показателем, характеризующим техническое состояние накопителя на данный момент времени. Программы считывания S.M.A.R.T. выводят содержимое атрибутов, как правило, в виде нескольких колонок :

  • ID# - числовой идентификатор атрибута
  • Attribute - название атрибута
  • Flags - флаги атрибутов, задаваемые производителем HDD. Характеризуют тип атрибута ( большинство программ интерпретируют флаги в виде символов k,c,r,s,o,p или аббревиатур, например, EC – Event Count, счетчик событий ). Pre-Failure (PF, 01h) - при достижении порогового значения данного типа атрибутов диск требует замены. Иногда данный бит флагов обозначают как Life Critical (CR) или Pre-Failure warranty (PW)

Online test (OC, 02h)– атрибут обновляет значение при выполнении off-line/on-line встроенных тестов SMART; Perfomance Related (PE или PR , 04h)– атрибут характеризует производительность ; Error Rate (ER , 08h )– атрибут отражает счетчики ошибок оборудования; Event Counts (EC, 10h ) – атрибут представляет собой счетчик событий; Self Preserving (SP, 20h ) – самосохраняющися атрибут; Некоторые из программ могут интерпретировать флаги в виде текстовых описаний, близких по смыслу к рассмотренным выше. Один атрибут может иметь несколько установленных в единицу значений флагов, например, атрибут с идентификатором 05 отражающий количество переназначенных из-за сбоев секторов из резервной области, имеет установленные флаги SP+EC+OC – самосохраняющийся, счетчик событий, обновляется при автономном и интерактивном режиме накопителя.

  • Value - текущее значение атрибута
  • Threshold - минимальное пороговое значения атрибута
  • Worst - самое худшее значение атрибута за все время работы накопителя
  • Raw - абсолютное значение атрибута
  • Type - некоторые из программ в данном необязательном поле отображают информацию из флажков атрибутов или признаки их критичности (Critical или Pre-Fail , отражающих ухудшение характеристик оборудования, и Old-age для атрибутов, отражающих выработку ресурса);
Для анализа состояния накопителя, пожалуй самым важным значением атрибута является Value - условное число (обычно от 0 до 100 или до 253), заданное производителем. Значение Value изначально установлено на максимум при производстве накопителя и уменьшается в случае ухудшения его параметров. Для каждого атрибута существует пороговое значение, при достижения которого, производитель не гарантирует его работоспособность - поле Threshold. Если значение Value приближается или становится меньше значения Threshold, - накопитель пора менять.

Наиболее важные показатели:

  • Raw_Read_Error_Rate — количество ошибок чтения. Ненулевое значение должно сильно насторожить, а большие значение и вовсе говорят о скором выходе диска из строя. Известно, что на дисках Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5″ большое значение в этом поле является нормальным. Для остальных же дисков в идеале значение должно быть равно нулю;
  • Spin_Up_Time — время раскрутки диска. Измеряется в миллисекундах т.е. в этои случае это 3,15 секунды. Чем меньше — тем лучше. Большие значения говорят о низкой отзывчивости;
  • Start_Stop_Count — количество циклом запуска/остановки шпинделя;
  • Reallocated_Sector_Ct — количество перераспределённых секторов. Большое значение говорит о большом количестве ошибок диска;
  • Seek_Error_Rate — количество ошибок позиционирования. Большое значение говорит о плохом состоянии диска;
  • Power_On_Hours — количество наработанных часов во включённом состоянии. По нему можно узнать сколько проработал диск во включённом состоянии. Довольно полезно, например, если покупать ноутбук с витрины и хочется узнать долго ли он там стоял;
  • Power_Cycle_Count — количество включений/выключений диска;
  • Spin_Retry_Count — количество попыток повторной раскрутки. Большое значение говорит о плохом состоянии диска;
  • Temperature_Celsius — температура диска в градусах Цельсия. При слишком большой температуре диски могут быстрее выйти из строя;
  • Reallocated_Event_Count — количество операций перераспределения секторов;
  • Offline_Uncorrectable — количество неисправных секторов. Большое значение говорит о поврежденной поверхности.

Ссылки

PQ VPS сервера в 28+ странах.