Различия

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

Ссылка на это сравнение

каталог_статей:аппаратное_обеспечение:мониторинг_состояния_дисков_smartd [2013/01/14 10:14] (текущий)
Строка 1: Строка 1:
 +====== мониторинг состояния дисков smartd ======
 +Применимость:​ Linux
 +
 +Слова для поиска:​ smart, смарт, smartmontools
 +
 +----
 +===== Задача:​ =====
 +Как заранее узнать что диск скоро умрет?
 +===== Решение:​ =====
 +<note important>​Это решение ​ не имеет смысла для виртуальных серверов.
 +</​note>​
 +
 +Для таких задач можно использовать утилиты производителя контроллера дисков или универсальное средство - **smartmontools**
 +
 +
 +Пакет smartmontools состоит из двух утилит
 +
 +  * smartctl — просмотр текущих значений S.M.A.R.T., запуск тестов самодиагностики диска вручную;​
 +  * smartd — демон для записи в системный журнал изменений в значениях S.M.A.R.T., уведомления по электронной почте об ошибках,​ запуска тестов самодиагностики по расписанию
 +
 +Информация о диске /dev/sda
 +
 +  smartctl -i /dev/sda
 +
 +Поддержка ​ S.M.A.R.T. может быть отключена,​ для включения нужна команда
 +
 +  smartctl -s on /dev/sda
 +
 +Просмотр устройства /dev/sda
 +
 +  smartctl -A /dev/sda
 +
 +Существует 2 типа атрибутов (колонка TYPE)
 +  * критичные атрибуты (pre-fail);
 +  * некритичные атрибуты (old_age);
 +
 +**Критичные атрибуты:​**
 +  * Raw Read Error Rate - частота ошибок при чтении данных с диска;
 +  * Reallocated Sector Count - число операций переназначения секторов;​
 +  * Spin Up Time - время раскрутки пакета дисков из состояния покоя до рабочей скорости;​
 +  * Spin Up Retry Count - число повторных попыток раскрутки дисков до рабочей скорости,​ в случае если первая попытка была неудачной;​
 +  * Seek Error Rate - частота ошибок при позиционировании блока головок;​
 +
 +
 +
 +==== Установка ====
 +**Debian / Ubuntu**
 +  apt-get install smartmontools -y --force-yes
 +
 +<code | /​etc/​default/​smartmontools>​
 +enable_smart="/​dev/​sda /​dev/​sdb"​
 +start_smartd=yes
 +</​code>​
 +  ​
 +
 +  /​etc/​init.d/​smartmontools restart
 +
 +**Centos / Fedora Core / RHEL**
 +
 +  yum install -y smartmontools
 +
 +
 +активировать smartd в /​etc/​smartd.conf
 +
 +Отредактировать /​etc/​smartd.conf,​ закоментировать строку с DEVICESCAN;
 +Для каждого диска добавить строчку,​ вида:
 +
 +/dev/sda -a -s (S/​../​../​(1|3|6)/​01|L) -m myname@example.com -M diminishing
 +
 +**Значения параметров:​**
 +
 +**-a** - включение большинства возможностей мониторинга:​ проверка "​здоровья"​ диска, отслеживание изменений всех атрибутов,​ отслеживание неудачных тестов диагностики;​
 +
 +**-s(S/​../​../​(1|3|6)/​01|L)** ​ - расписание запуска тестов диагностики диска в виде регулярного выражения. В данном случае:​ в 1 час ночи в понедельник,​ среду, субботу будет запускаться краткий тест диска;
 +
 +**-m root@example.com** ​ - email пользователя,​ который будет получать сообщения о ошибках дисков. Для функционирования должен быть настроен почтовый сервер;​
 +
 +**-M diminishing ** - периодически повторять отправку письма с сообщениями об ошибке;​
 +
 +
 +  /​etc/​init.d/​smartd start
 +
 +==== Adaptec RAID ====
 +RAID Adaptec создаст массив с именем /dev/sda, но получить от этого устройства данные smart не получится средствами smartmonutils. Однако smartmonutils можно использовать указывая имена дисков вида /dev/sgX .
 +sg0 - это сам контроллер,​ а вот sg1...sgN - это SAS жесткие диски
 +
 +  * [[https://​twiki.cern.ch/​twiki/​bin/​view/​FIOgroup/​DiskRefAdaptec]]
 +  * [[http://​phpsuxx.blogspot.com/​search/​label/​S.M.A.R.T]]
 +
 +==== Использование smartd на LSI Megaraid ====
 +
 +Получить список id
 +
 +  megacli -PDlist -a0 | grep '​^Device Id:'| awk '​{print $3}'
 +
 +Получить данные смарт по диску с ID=9
 +  smartctl /dev/sda -d megaraid,9 -a
 +для диска с интерфейсом sata  ​
 +  smartctl /dev/sda -d sat+megaraid,​9 -a
 +
 +<​code|пример срипта для получения данных о всех дисках>​
 +
 +#!/bin/sh
 +
 +for arg in `megacli -PDlist -a0 | grep '​^Device Id:'| awk '​{print $3}'​` ​
 +do
 +smartctl /dev/sda -d sat+megaraid,​${arg} -l devstat
 +#smartctl /dev/sda -d sat+megaraid,​${arg} -a
 +done
 +
 +</​code>​
 +
 +
 +Для контроля состояния дисков с помощью демона smartd нужно закомментировать DEVICESCAN в /​etc/​smartd.conf и добавить:​
 +
 +<​code>​
 +/dev/sda -d sat+megaraid,​0 -a -s L/​../​../​3/​02
 +/dev/sda -d sat+megaraid,​1 -a -s L/​../​../​3/​03
 +/dev/sda -d sat+megaraid,​2 -a -s L/​../​../​3/​04
 +/dev/sda -d sat+megaraid,​3 -a -s L/​../​../​3/​05
 +</​code>​
 +
 +===== Смотрите также: =====
 +
 +  * [[http://​ksimute.trancom.ru/​smart-hdd.shtml| Сколько жить осталось диску]]
 +  * [[http://​ru.wikipedia.org/​wiki/​S.M.A.R.T.]]
 +  * [[http://​proft.me/​2012/​02/​10/​smartd-monitoring-sostoyaniya-zhestkogo-diska/​|smartd:​ мониторинг состояния жесткого диска]]
 +
 +
 +---- 
 +Актуальность:​ 2012/11/19 11:43 
 +
 +<!-- {{tag> мониторинг hdd}}