Оригинал статьи находится здесь: http://ksimute.trancom.ru/smart-hdd.shtml
Сколько жить осталось диску, и не пора ли его заменить?...
Этот вопрос рано или поздно (лучше рано чем поздно) задает себе каждый
сисадмин и "продвинутый" пользователь ПК.
К моему удивлению, многие про SMART вообще никогда не слышали.
Рассмотрим атрибуты SMART и как мониторить cостояние жестких дисков.
Smart - Self Monitoring Analysing and Reporting Technology.
Уже давно Смарт поддерживают жесткие диски практически всех производителей .
Какие проблемы позволяет выявить эта технология:
1. Проблемы блока магнитных головок
2. Повреждения дисков (физичесские повреждения, логичесские ошибки и т.п.)
3. Проблемы механики (Привода, системы позиционирования)
4. Проблемы электронной части (платы)
5. Температура
Сейчас дисками поддерживается smart 3-го поколения.
Но мониторинг не панацея про Raid забывать нельзя.
Вероятность предсказания выхода из строя дисков:
Smart I- 20% (древняя сильно)
Smart II - 50%
Smart III - не знаю :) думаю около 50 %
Лучше перестраховаться, и если начались сбои в работе заменить диск.
Стоимость накопителей сейчас копейки. А информация зачастую бесценна.
Приступим к установке и настройке.
Я использую дистрибутив linux - gentoo, что не критично.
ставим пакет smartmontools ( поддерживаемые ОС
Linux/Solaris/FreeBSD/NetBSD/OpenBSD/Cygwin, и Windows )
Компилируются 2 приложения:
smartctl - Control and Monitor Utility for SMART Disks.
Поддерживает многие ATA-3 и более поздние ATA, IDE, SATA и SCSI-3 диски.
И демон smartd.
smartd - пытается включить SMART monitoring на ATA устройствах
(аналогично smartctl -s on) и будет опрашивать устройства каждые 30
минут (это конфигурируемо), логирует ошибки дисков и изменения атрибутов
через SYSLOG интерфейс.
Лог по-умолчанию /var/log/messages.
В дополнение к логированию в файл, smartd может быть сконфигурирован для
отсылки предупреждений на email в случае обнаружения проблемы.
Если вы пошлете USR1 сигнал smartd (для тех, кто в танке - команда kill)
он немедленно проверит статус диска и вернется к состоянию "опроса диска
каждые 30 минут"
Читаем дальше: man smartctl, man smartd, man smartd.conf
Выясняем, поддерживает ли диск SMART.
smartctl -i /dev/hda
Включаем SMART, если выключен.
smartctl -s /dev/hda
Для получения всей информации о диске:
smartctl --all /dev/hda
=== START OF INFORMATION SECTION ===
Device Model: SAMSUNG SP0802N
Serial Number: S00JJ10X732974
Firmware Version: TK200-04
User Capacity: 80,060,424,192 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 0
Local Time is: Fri Dec 7 22:45:11 2007 MSK
==> WARNING: May need -F samsung or -F samsung2 enabled; see manual for details.
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
Жить этому самсунгу еще и жить... Вот только был сбой Spin_Up_Time
(время раскрутки пакета дисков из состояния покоя до рабочей скорости.)
что может быть вызвано рядом причин. И, если текущее значение велико -
Единичный сбой не повод для беспокойства.
Разберем детально вывод smartctl:
RAW_VALUE - Каждый атрибут имеет raw value 6-ти байтовое значение
VALUE - одно байтовое значение "нормализованное" :).
Например в случае параметра "температура" raw value хранит температуру
диска (например 29 градусов)+ минимальную и максимальную температуру,
при которой сохраняется работоспособность диска (например 23 и 33
градуса).
Формат raw data определяется производителем и не описан в стандарте.
firmware диска конвертирует raw value в normalized value в диапазоне от
1 до 253. Если это нормализованное значение меньше или равно threshold
(THRESH), Атрибут считается failed и отображается в столбце WHEN_FAILED.
В нашем случае был сбой Spin_Up_Time. Если этот столбец пуст, все
атрибуты в норме.
Минимальное (WORST) нормализованное значение тоже показано;
Это минимальное значение которое достигалось с момента включения SMART на диске.
TYPE - существует 2 типа атрибутов:
Критичные атрибуты: (Pre-fail)
Некритичные атрибуты: (Old_age) (величина value отведенная вендором до
наработки на отказ (ресурс)).
Если VALUE стало меньше THRESH в случае Pre-fail атрибута - существует
большая вероятность, что диск вылетит в ближайшие 24 часа.
Если VALUE стало меньше THRESH в случае Old_age атрибута - существует
большая вероятность, что диск вылетит т.к. выработан ресурс. Вот только
когда - науке это неизвестно.
Названия/значения атрибутов и интерпретация raw values не определена
никаким стандартом. Иногда различные производители используют одинаковый
Attribute ID для различных целей. Поэтому интерпретация специфических
атрибутов smartctl может быть изменена опцией -v.
Итак просветились, и смотрим параметры второго диска:
smartctl -i /dev/hdd
smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.7 and 7200.7 Plus family
Device Model: ST3160021A
Serial Number: 5JS1W1TZ
Firmware Version: 3.04
User Capacity: 160,041,885,696 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 2
Local Time is: Fri Dec 7 22:55:55 2007 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Raw_Read_Error_Rate (частота ошибок при чтении данных с диска,
происхождение которых обусловлено аппаратной частью диска) - 049
Seek_Error_Rate (частота ошибок при позиционировании блока головок.) -
060 И температура не радует совсем, хотя проверка overall-health - PASSED
smartctl -H /dev/hdd
Уточнение: если возникли проблемы с SATA дисками - проверьте версию
smartctl: smartctl version 5.37 нормально работает с SATA дисками. А
версия 5.36 писала, что ST3160815AS Device does not support SMART.
Кстати, не рекомендую пользовать ST3160815AS летят часто...
smartd
Теперь займемся демоном:
Редактируем /etc/smartd.conf
По-умолчанию там только одна опция DEVICESCAN
Рекомендуется закомментировать ее и просто перечислить список устройств,
которые мы хотим мониторить.
/etc/smartd.conf config file
/dev/hda -S on -o on -a -I 194 -m mon@host123.ru
/dev/hdc -S on -o on -a -I 194 -m mon@host123.ru
Первая колонка - устройство, которое мы собираемся мониторить.
Директива -o включает автоматическое off-line тестирование.
Директива -S включает автозапись атрибутов.
Директива -m за которой следует e-mail указывает куда warning сообщения отсылать.
Директива -a указывает smartd мониторить все SMART параметры диска
smartd по умолчанию логирует изменение значений всех атрибутов.
Директива -I 194 означает игнорировать атрибут #194, (т.е. температуру),
т.к. температура диска часто меняется и нет смысла ее логировать.
Каждый атрибут имеет величину - Value.
Value Изменяется в диапазоне от 0 до 255 (задается производителем).
Низкое значение говорит о быстрой деградации диска или о возможном
скором сбое. т.е. чем выше значение Value атрибута, тем лучше.
Raw Value - это значение атрибута во внутреннем формате производителя
значение малоинформативно для всех кроме сервисманов.
Threshold. - минимальное возможное значение атрибута, при котором
гарантируется безотказная работа накопителя.
При Значении атрибута меньше Threshold очень вероятен сбой в работе или полный отказ.
Атрибуты бывают критически важными (Pre-fail) и некритически важными (Old_age).
Выход критически важного параметра за пределы Threshold фактический
означает выход диска из строя, выход за переделы допустимых значений
некритически важного параметра свидетельствует о наличии проблемы, но
диск может сохранять свою работоспособность.
Критичные атрибуты:
* Raw Read Error Rate - частота ошибок при чтении данных с диска,
происхождение которых обусловлено аппаратной частью диска.
* Spin Up Time - время раскрутки пакета дисков из состояния покоя до
рабочей скорости. При расчете нормализованного значения (Value)
практическое время сравнивается с некоторой эталонной величиной,
установленной на заводе. Не ухудшающееся немаксимальное значение при
Spin Up Retry Count Value = max (Raw равном 0) не говорит ни о чем
плохом. Отличие времени от эталонного может быть вызвано рядом
причин, например просадка по вольтажу блока питания.
* Spin Up Retry Count - число повторных попыток раскрутки дисков до
рабочей скорости, в случае если первая попытка была неудачной.
Ненулевое значение Raw (соответственно немаксимальное Value)
свидетельствует о проблемах в механической части накопителя.
* Seek Error Rate - частота ошибок при позиционировании блока
головок. Высокое значение Raw свидетельствует о наличии проблем,
которыми могут являться повреждение сервометок, чрезмерное
термическое расширение дисков, механические проблемы в блоке
позиционирования и др. Постоянное высокое значение Value говорит о
том, что все хорошо.
* Reallocated Sector Count - число операций переназначения секторов.
SMART в современных дисках способен произвести анализ сектора на
стабильность работы "на лету" и в случае признания его сбойным,
произвести его переназначение.
Некритичные атрибуты:
* Start/Stop Count - полное число запусков/остановов шпинделя.
Гарантировано мотор диска способен перенести лишь определенное число
включений/выключений. Это значение выбирается в качестве Treshold.
Первые модели дисков со скоростью вращения 7200 оборотов/мин имели
ненадежный двигатель, могли перенести лишь небольшое их число и
быстро выходили из строя.
* Power On Hours - число часов проведенных во включенном состоянии.
В качестве порогового значения для него выбирается паспортное время
наработки на отказ (MBTF). Обычно величина MBTF огромна, и
маловероятно, что этот параметр достигнет критического порога. Но
даже в этом случае выход из строя диска совершенно не обязателен.
* Drive Power Cycle Count - количество полных циклов
включения-выключения диска. По этому и предыдущему атрибуту можно
оценить, например, сколько использовался диск до покупки.
* Temperatue - Здесь хранятся показания встроенного термодатчика.
Температура имеет огромное влияние на срок службы диска (даже если
она находится в допустимых пределах). Вернее имеет влияние не на
срок службы диска а на частоту возникновения некоторых типов ошибок,
которые влияют на срок службы.
* Current Pending Sector Count - Число секторов, являющихся
кандидатами на замену. Они не были еще определенны как плохие, но
считывание их отличается от чтения стабильного сектора, так
называемые подозрительные или нестабильные сектора.
* Uncorrectable Sector Count - число ошибок при обращении к сектору,
которые не были скорректированы. Возможными причинами возникновения
могут быть сбои механики или порча поверхности.
* UDMA CRC Error Rate - число ошибок, возникающих при передаче
данных по внешнему интерфейсу. Могут быть вызваны некачественными
кабелями, нештатными режимами работы.
* Write Error Rate - показывает частоту ошибок происходящих при
записи на диск. Может служить показателем качества поверхности и
механики накопителя.
В SMART III появилась функция, позволяющая прозрачно для пользователя
переназначать BAD сектора.
Работает механизм следующим образом: при неустойчивом чтении сектора,
или же ошибки его чтения, SMART заносит его в список нестабильных и
увеличит их счетчик (Current Pending Sector Count). Если при повторном
обращении сектор будет прочитан без проблем, он будет выброшен из этого
списка. Если же нет, то при представившейся возможности - при отсутствии
обращений к диску, диск начнет самостоятельную проверку поверхности, в
первую очередь подозрительных секторов. Если сектор будет признан
сбойным, то он будет переназначен на сектор из резервной поверхности
(соответственно RSC увеличиться). Такое фоновое переназначение приводит
к тому, что на современных винчестерах сбойные секторы практически
никогда не видны при проверке поверхности сервисными программами. В тоже
время, при большом числе плохих секторов их переназначение не может
происходить до бесконечности. Первый ограничитель очевиден - это объем
резервной поверхности.
У современных винчестеров есть два дефект-листа P-list (Primary,
заводской) и G-list (Growth, формируется непосредственно во время
эксплуатации). И при большом числе переназначений может оказаться так,
что в G-list не оказывается места для записи о новом переназначении. Эта
ситуация может быть выявлена по высокому показателю переназначенных
секторов в SMART.
Замечания и неточности:
пожалуйста присылайте на ksi_korobanov@mail.ru