Мониторинг 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 Resurs.kz: сайты Казахстана и раскрутка сайта

Thanks: Studenthelp78