Мониторинг Smart в CentOS

Записка про мониторинг S.M.A.R.T жестких дисков. В каждом современном жестком диске имеется контроллер оценки состояния диска, его называют S.M.A.R.T. Что расшифровывается как – Self-Monitoring, Analysis and ReportingTechnology – технология самоконтроля, анализа и отчётности. Записка рассказывает про установку утилиты “smartd” для контроля состояния HDD и отправку отчета на почту системного администратора. Также вы узнаете как контролируется состояние программного рейда массива через родную утилиту “mdadm monitor” с отправкой отчета на почтовый ящик.

Краткое содержание в краткой записки:

  1. Установка утилиты мониторинга SMART
  2. Ручная проверка SMART жесткого диска
  3. Настройка автоматического оповещение по почте
  4. Мониторинг программного массива
  5. Настройка отправки отчета о состоянии программного рейда

 

  1. Установка утилиты мониторинга SMART

Устанавливает пакет:

# yum install smartmontools -y

Ставим демон smartd в автозагрузку:

# chkconfig smartd on

 

  1. Ручная проверка SMART жесткого диска

Проверяем Smart имеющихся дисков в системе, находим диски которые у нас есть:

# fdisk -l | grep /dev/

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes

/dev/sdb1               1      243202  1953514552+  83  Linux

Disk /dev/sda: 160.0 GB, 160041885696 bytes

/dev/sda1   *           1        1913    15360000   83  Linux

/dev/sda2            1913        3188    10240000   83  Linux

/dev/sda3            3188        4208     8192000   82  Linux swap / Solaris

/dev/sda4            4208       19458   122497880    5  Extended

/dev/sda5            4208       19458   122496000   83  Linux

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes

Disk /dev/md0: 1000.1 GB, 1000070512640 bytes

Итого видим четыре физических диска:

  • sda
  • sdb
  • sdc
  • sdd

Проверяем Smart  первого диска sda:

# smartctl -a /dev/sda

smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.23.3.el6.x86_64] (local build)

Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

 

=== START OF INFORMATION SECTION ===

Model Family:     Seagate Barracuda 7200.9

Device Model:     ST3160212AS

Serial Number:    9LS531ZF

Firmware Version: 3.AAE

User Capacity:    160,041,885,696 bytes [160 GB]

Sector Size:      512 bytes logical/physical

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:    Sun Aug 31 18:29:45 2014 ALMT

SMART support is: Available – device has SMART capability.

SMART support is: Enabled

 

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED

 

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   118   091   006    Pre-fail  Always       –       0

3 Spin_Up_Time            0x0003   093   093   000    Pre-fail  Always       –       0

4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       –       431

5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       –       0

7 Seek_Error_Rate         0x000f   061   058   030    Pre-fail  Always       –       824918194338

9 Power_On_Hours          0x0032   070   070   000    Old_age   Always       –       26712

10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       –       0

12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       –       493

187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       –       0

189 High_Fly_Writes         0x003a   088   088   000    Old_age   Always       –       12

190 Airflow_Temperature_Cel 0x0022   062   051   045    Old_age   Always       –       38 (Min/Max 38/39)

194 Temperature_Celsius     0x0022   038   049   000    Old_age   Always       –       38 (0 17 0 0 0)

195 Hardware_ECC_Recovered  0x001a   065   046   000    Old_age   Always       –       115394754

197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       –       0

198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      –       0

199 UDMA_CRC_Error_Count    0x003e   200   188   000    Old_age   Always       –       12

200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      –       0

202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       –       0

 

Здесь я выделил модель жесткого диска, серию, прошивку и самые основные параметры Smart которые говорят нам о здоровье диска. Если растут следующие параметры:

– число операций переназначенных секторов (5 – Reallocated_Sector)

– количество попыток раскрути дисков до рабочей скорости (10 – Spin_Retry_Count)

– температура (194 – Temperature_Celsius)

– количество секторов являющимися кандидатами на замену (197 – Current_Pending_Sector)

это не хорошо, про первый параметр можно сказать что это наши Bad block – плохие сектора, если меняется второй параметр – значить имеет быть механическая проблема, что тоже страшно. Третий – это как традиция :), а вот четвертый говорит нам, что у вас скоро будут новые бед сектора. Желательно сделать резервное копирование, а то гром грянет. Если это софтовый рейд, то надо заменить жесткий диск в массиве.

Хотя нормальный человек настраивает резервное копирование и не сильно боится таких проблем.

И еще, если у вас растет значение UDMA_CRC_Error_Count – значит надо поменять шлейф. На жестких дисках WD бывает растет Load_Cycle_Count – полезно будет и его мониторить. На Samsung’ах может расти 200 Multi_Zone_Error_Rate, вообщем смотрите детальный отчет S.M.A.R.T., есть вероятность, что на работу влияют и другие атрибуты отчета само-тестирования.

 

  1. Настройка автоматического оповещение по почте

Рассмотрим простую отправку отчетов через почтовую утилиту mail.

Откроем /etc/crontab и впишем туда строчку мониторинга smart двух дисков sda и sdb:

0   8 * * *  (/usr/sbin/smartctl -a /dev/sda; /usr/sbin/smartctl -a /dev/sdb;) | mail -s “ServerName SMART report” root

Теперь на почту root будет приходить отчет о смарт двух дисков.

Второй способ православный.

Открываем файл /etc/smartd.conf

# vi /etc/smartd.conf

И добавляем сточки:

/dev/sda -I 194 -W 4,45,55 -R 5 -R 10 -R 197 -m admin@example.com

/dev/sdb -I 194 -W 4,45,55 -R 10 -R 197 -m admin@example.com

Здесь:

– мониторим два диска sda и sdb.

-I 194 -W 4,45,55  – это мониторинг температуры, если она станет выше на 4 градуса или превысит 45 градусов.

-R 5 – мониторинг параметра Reallocated_Sector, если он изменится придет отчет

-R 10 – мониторинг параметра Spin_Retry_Count, если он изменится придет отчет

-R 197 – мониторинг параметра Current_Pending_Sector, если он изменится придет отчет

– -m admin@example.com – почтовый адрес администратора

Перезапускаем демон smartd:

# service smartd restart

 

  1. Мониторинг программного массива

Чтобы проверить целостность массива в ручную, введите команду:

# cat /proc/mdstat

Personalities : [raid1]

md0 : active raid1 sdd[1] sdc[0]

976631360 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Здесь главное это:

– два диска sdd и sdc которые в массиве. Если будете видеть только один диск, это должно вас насторожить.

– значок  [UU], который символизирует что не один диск не выпал из массива, и два диска влюблены в друг друга как муж и жена в первый год совместной жизни.

Вот пример отчета со сбойным жестким диском:

Personalities : [raid1]

md0 : active raid1 sdb2[1](F) sda2[0]

242149184 blocks super 1.0 [2/1] [U_]

bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>

Как видим, здесь пропала одна буква U в квадратных скобках и появилось буква F (Failed). Жесткий диск в программном массиве “умер”.

  1. Настройка отправки отчета о состоянии программного рейда

Отправим для начала тестовый отчет пользователю root:

# cat /proc/mdstat | mail -s “ServerName MD reports” root

После этой команды на почту админа должен придти отчет о здоровье массива.

Чтобы такой отчет отправлялся каждый день, потребуется сделать следующее:

# vi /etc/crontab

0   8 * * *  (cat /proc/mdstat) | mail -s “ServerName MD report” root

 

# vi /etc/sysconfig/mdcheck.sh

cat /proc/mdstat | mail -s “Name_Server MD report” admin@example.com

(/usr/sbin/smartctl -a /dev/sda; /usr/sbin/smartctl -a /dev/sdb; /usr/sbin/smartctl -a /dev/sdc; /usr/sbin/smartctl -a /dev/sdd;) | mail -s “Server_Server SMART report” admin@example.com

# chmod +x /etc/sysconfig/mdcheck.sh

# vi /etc/crontab

0   8 * * *  /etc/sysconfig/mdcheck.sh

Другой способ отправки отчета о программном рейде:

Вписываем адрес куда слать отчет

# echo “MAILADDR admin@example.com”>>/etc/mdadm.conf

# /etc/init.d/mdmonitor restart

Отправляем тестовый отчет

# mdadm -Fs1t

 

  1. Заключение

Как стало ясно – в CentOS состояние S.M.A.R.T. мониторится через утилиту “smartd”, она предоставляет детальный отчет со всеми атрибутами. При желании этот отчет отправляется на почту системного администратора. Чтобы не читать каждый день полный отчет, у этой программы имеется возможность задействования триггеров, то есть отчет отправляется на электронный ящик только тогда, когда какой нибудь из важных атрибутов поменялся. Если вы используете программный рейд массив, у вас есть возможность мониторинга состояния массива через утилиту “mdadm monitor”. Она также умеет слать отчеты на почтовый ящик как и утилита “smartd”. Комбинируя возможности этих двух утилит, мы получаем неплохой инструмент для контроля состояния наших жестких дисков.

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Яндекс.Метрика Рейтинг@Mail.ru

Thanks: Studenthelp78