Главная » VPS/VDS и выделенные серверы

S.M.A.R.T. Мониторинг состояния HDD/SSD-дисков.

S.M.A.R.T. (Self-Monitoring, Analisys and Reporting Technology) — это технология, предоставляющая пользователю различные данные о текущем состоянии жесткого диска или твердотельного накопителя. Анализируя данные S.M.A.R.T., можно оценить состояние своих накопителей и решить, требуют ли они замены или ещё могут работать и далее.


Как установить smartmontools в Debian?

apt-get install smartmontools

Как установить smartmontools в CentOS?

yum install -y smartmontools

:!: smartctl — просмотр текущих значений S.M.A.R.T., запуск тестов самодиагностики диска вручную:

Смотрим какие диски у нас в системе:

find /dev -name 'sd*'

Узнаем поддерживает наш диск SMART или нет:

smartctl -i /dev/sda

SMART support is: Enabled

Если SMART выключен, его необходимо включить:

smartctl -s /dev/sda

Получаем информацию о состоянии:

smartctl -A  /dev/sda
smartctl -A  /dev/sdb

Пример вывода smartctl -A /dev/sda:

root@server ~ # smartctl -A /dev/sda
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-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   100   100   051    Pre-fail  Always       -       3478
  2 Throughput_Performance  0x0026   055   055   000    Old_age   Always       -       6264
  3 Spin_Up_Time            0x0023   071   070   025    Pre-fail  Always       -       8915
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       9
  5 Reallocated_Sector_Ct   0x0033   252   252   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   252   252   051    Old_age   Always       -       0
  8 Seek_Time_Performance   0x0024   252   252   015    Old_age   Offline      -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       25624
 10 Spin_Retry_Count        0x0032   252   252   051    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   252   252   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       10
191 G-Sense_Error_Rate      0x0022   252   252   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0022   252   252   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0002   057   051   000    Old_age   Always       -       43 (Lifetime Min/Max 19/50)
195 Hardware_ECC_Recovered  0x003a   100   100   000    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   252   252   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       4
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       2
199 UDMA_CRC_Error_Count    0x0036   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x002a   001   001   000    Old_age   Always       -       562440
223 Load_Retry_Count        0x0032   252   252   000    Old_age   Always       -       0
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       10

Пожалуй, самое главное на что стоит обратить внимание это

  • Reallocated_Sector_Ct - количество переназначенных секторов, т.е. сбойные секторы, которые были выявлены на поверхности диска и данные с них перемещены в резервную область.
  • Power_On_Hours – число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии.
  • Start_Stop_Count - полное число циклов запуск-остановка шпинделя.
  • Temperature_Celsius - показания встроенного термодатчика.

:!: smartd — демон для записи в системный журнал изменений в значениях S.M.A.R.T, уведомления по электронной почте об ошибках, запуска тестов самодиагностики по расписанию:

Включаем демон smartd:

  • в /etc/default/smartmontools добавим (для 2-х дисков sda sdb):
enable_smart="/dev/sda /dev/sdb"
start_smartd=yes
smartd_opts="--interval=1800"
  • настраиваем автоматический мониторинг для каждого из дисков. Добавляем в файл /etc/smartd.conf:
/dev/sda -S on -o on -a -I 194 -W 4,38,45 -R 5 -H -l error -l selftest -m yourmail@gmail.com -s (S/../.././02|L/../../6/03)
/dev/sdb -S on -o on -a -I 194 -W 4,38,45 -R 5 -H -l error -l selftest -m yourmail@gmail.com -s (S/../.././02|L/../../6/03)
  • -a заставляет smartd наблюдать за всеми доступными SMART-параметрами дисков.
  • -I 194 указывает smartd игнорировать изменения значения атрибута #194.
  • -m указывает на необходимость отправки email-уведомлений.
  • yourmail@gmail.com - ваш email для получения уведомлений.

Внимание! Вы можете использовать готовые примеры в файле smartd.conf.

Запускаем smartd:

/etc/init.d/smartmontools start

Для проверки смотрим /var/log/syslog, к примеру:

cat /var/log/syslog | grep smartd

Материал по теме:


Вместе с этим смотрят: