Различия
Здесь показаны различия между двумя версиями данной страницы.
— |
каталог_статей:аппаратное_обеспечение:мониторинг_состояния_дисков_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}} | ||