Мониторинг S.M.A.R.T. hdd во FreeBSD
Задача мониторить состояние S.M.A.R.T. жестких дисков. Для этой задачи будем использовать пакет «smartmontools».
Собираем smartmontools
cd /usr/ports/sysutils/smartmontools
make install clean
Сообщение в конце установки
To check the status of drives, use the following:
/usr/local/sbin/smartctl -a /dev/ad0 for first ATA/SATA drive
/usr/local/sbin/smartctl -a /dev/da0 for first SCSI drive
/usr/local/sbin/smartctl -a /dev/ada0 for first SATA drive
To include drive health information in your daily status reports,
add a line like the following to /etc/periodic.conf:
daily_status_smart_devices=»/dev/ad0 /dev/da0″
substituting the appropriate device names for your SMART-capable disks.
To enable drive monitoring, you can use /usr/local/sbin/smartd.
A sample configuration file has been installed as
/usr/local/etc/smartd.conf.sample
Copy this file to /usr/local/etc/smartd.conf and edit appropriately
To have smartd start at boot
echo ‘smartd_enable=»YES»‘ >> /etc/rc.conf
Проверяем статус жесткого диска:
/usr/local/sbin/smartctl -a /dev/ada0
Если поддержка SMART отключена необходимо её включить командой:
smartctl -s on /dev/ada0
Для автоматического запуска демона при загрузке системы, добавляем соответствующую строку в /etc/rc.conf :
echo ‘smartd_enable=»YES»‘ >> /etc/rc.conf
Устанавливаем интервал проверки каждые 400 секунд:
echo ‘smartd_flags=»—interval=400″‘ >> /etc/rc.conf
Копируем конфигурационный файл smartd.conf
сp /usr/local/etc/smartd.conf.sample /usr/local/etc/smartd.conf
Содержимое smartd.conf :
/dev/ada0 -a -m root@xaxatyxa.ru -o on -S on -s (S/../.././02|L/../../7/03)
описание:
-o on — включает автоматическое off-line тестирование
-S on — включает автозапись атрибутов
-m root@xaxatyxa.ru — e-mail куда отсылать warning сообщения
-a — мониторить все SMART параметры диска
-s (S/…/…/./02|L/…/…/7/03) — короткий тест самодиагностики каждый день с 2-3 утра и полный тест в воскресение с 3-4 утра
настрйки syslog для smartmontools
echo ‘!smartd’ >> /etc/syslog.conf
echo ‘*.* /var/log/smartd.log’ >> /etc/syslog.conf
Создадим для демона smartd лог файл
touch /var/log/smartd.log
Перезапустим syslog:
service syslogd restart
Запускаем smartmontools:
service smartd start
Проверим работу:
ps -ax | grep smart
Для вывода SMART информации диска ada0
smartctl -A /dev/ada0
где критичными параметрами являются «Pre-fail» из колонки «TYPE». Old_age — величина value отведенная вендором до наработки на отказ.
Каждый атрибут имеет величину — «Value», которая изменяется в диапазоне от 0 до 255 (задается производителем). Низкое значение говорит о быстрой деградации диска или о возможном скором сбое. т.е. чем выше значение Value атрибута, тем лучше.
Raw Value — это значение атрибута во внутреннем формате производителя. Оставим для сервисных центров.
Threshold — минимальное возможное значение атрибута, при котором гарантируется безотказная работа накопителя.
Если VALUE стало меньше THRESH — Атрибут считается failed и отображается в столбце WHEN_FAILED. При значении атрибута меньше Threshold очень вероятен сбой в работе или полный отказ.
WORST — минимальное нормализованное значение, которое достигалось с момента включения SMART на диске.
Выход критически важного параметра (Pre-fail) за пределы Threshold фактический означает выход диска из строя, выход за предел допустимых значений не критически важного параметра свидетельствует о наличии проблемы, но диск может сохранять свою работоспособность.
В итоге получаем два правила, определяющие работоспособность HDD
1.VALUE стало меньше THRESH в Pre-fail — диск скоро вылетит, осталось 24 часа для замены. Время пошло !
2.VALUE стало меньше THRESH в Old_age — выработан ресурс. Рекомендуется замена в ближайшее время !
Описание параметров
Raw_Read_Error_Rate — частота ошибок при чтении данных с диска, от аппаратной части диска
Spin_Up_Time — время раскрутки пакета дисков из состояния покоя до рабочей скорости
Start_Stop_Count — полное число запусков/остановок шпинделя. Гарантировано мотор диска способен перенести лишь определенное число включений/выключений. Это значение выбирается в качестве Treshold.
Reallocated_Sector_Ct — число операций переназначения секторов. SMART в современных дисках способен произвести анализ сектора на стабильность работы «на лету» и в случае признания его сбойным, произвести его переназначение.
Seek_Error_Rate — частота ошибок при позиционировании блока головок. Высокое значение Raw свидетельствует о наличии проблем, которыми могут являться повреждение сервометок, чрезмерное термическое расширение дисков, механические проблемы в блоке позиционирования и др.
Power_On_Hours — число часов проведенных во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF).
Spin_Retry_Count — число повторных попыток раскрутки дисков до рабочей скорости, в случае если первая попытка была неудачной.
Calibration_Retry_Count — счетчик перекалибровки положения головок винта (тож штука не приятная, проявляется в виде постукивание при работе)
Power_Cycle_Count — Количество полных циклов запуска/останова жесткого диска.
Power-Off_Retract_Count — Количество повторов автоматической парковки блока магнитных головок в результате выключения питания.
Load_Cycle_Count — Количество циклов перемещения блока магнитных головок в парковочную область.
Temperature_Celsius — Здесь хранятся показания встроенного термодатчика. Температура имеет огромное влияние на срок службы диска (даже если она находится в допустимых пределах).
Reallocated_Event_Count — Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки.
Current_Pending_Sector — Число секторов, являющихся кандидатами на замену. Они не были еще определенны как плохие, но считывание их отличается от чтения стабильного сектора, так называемые подозрительные или нестабильные сектора.
Offline_Uncorrectable — означает то же самое, что и атрибут Current_Pending_Sector, но отличие в том, что данный атрибут содержит количество секторов-кандидатов, обнаруженных при одном из видов самотестирования диска — оффлайн-тестировании, которое диск запускает в простое в соответствии с параметрами, заданными прошивкой
UDMA_CRC_Error_Count — число ошибок, возникающих при передаче данных по внешнему интерфейсу.
Multi_Zone_Error_Rate — Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя.
Примеры применения команды smartctl:
Температура жесткого диска
smartctl -a /dev/ada0 | grep «Temperature»
Статус S.M.A.R.T.
smartctl -H /dev/sda
•PASSED — тест прошел, жив.
•FAILED — диск требует срочной замены
частично взято: http://xaxatyxa.ru/_freebsd/monitoring-diagnostika-hdd-smart-freebsd.html
Добавить комментарий