Какие проблемы позволяет выявить эта технология:
- Проблемы блока магнитных головок
- Повреждения дисков (физические повреждения, логичесские ошибки и т.п.)
- Проблемы механики (привода или системы позиционирования)
- Проблемы электронной части (платы)
- Температура
Установка:
sudo apt-get install smartmontools
smartctl — Control and Monitor Utility for SMART Disks.
Поддерживает многие ATA-3 и более поздние ATA, IDE, SATA и SCSI-3 диски.
smartd — демон, пытается включить SMART monitoring на ATA-устройствах (аналогично smartctl -s on) и будет опрашивать устройства каждые 30 минут, фиксирует ошибки дисков и изменения атрибутов через syslog-интерфейс.
Логи по-умолчанию найти можно в /var/log/messages.
В дополнение к логированию в файл, smartd может быть сконфигурирован для отсылки предупреждений на email, в случае обнаружения проблемы.
Выясняем, поддерживает ли диск SMART.
# smartctl -i /dev/hda
Включаем SMART, если выключен.
# smartctl -s /dev/hda
Для получения всей информации о диске:
# smartctl --all /dev/hda
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Model Family: Seagate Barracuda 7200.9 family Device Model: ST3802110A Serial Number: 5LR3YW4N Firmware Version: 3.AAE User Capacity: 80,026,361,856 bytes 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: Thu Jul 1 02:58:14 2010 MSD SMART support is: Available - device has SMART capability. SMART support is: Enabled 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 119 097 006 Pre-fail Always - 207323748 3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 192 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 087 060 030 Pre-fail Always - 473627314 9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 19192 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 478 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 057 048 045 Old_age Always - 43 (Lifetime Min/Max 35/44) 194 Temperature_Celsius 0x0022 043 052 000 Old_age Always - 43 (0 14 0 0) 195 Hardware_ECC_Recovered 0x001a 053 046 000 Old_age Always - 173144036 197 Current_Pending_Sector 0x0012 001 001 000 Old_age Always - 4294967295 198 Offline_Uncorrectable 0x0010 001 001 000 Old_age Offline - 4294967295 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0000 100 253 000 Old_age Offline - 0 202 TA_Increase_Count 0x0032 100 253 000 Old_age Always - 0
Описание параметров таблицы smartctl:
RAW_VALUE — Каждый атрибут имеет raw value 6-ти байтовое значение
VALUE — одно байтовое значение усредненное.
Например в случае параметра «Temperature_Celsius» raw value хранит температуру диска (например 43 градуса)+ минимальную и максимальную температуру, при которой сохраняется работоспособность диска (например 33 и 45 градуса).
Формат raw data определяется производителем и не описан в стандарте. Firmware диска конвертирует raw value в normalized value в диапазоне от 1 до 253. Если это нормализованное значение меньше или равно threshold (THRESH), атрибут считается failed и отображается в столбце WHEN_FAILED. Если этот столбец пуст, все атрибуты в норме.
Минимальное (WORST) нормализованное значение тоже показано;
Это минимальное значение которое достигалось с момента включения SMART на диске.
TYPE — существует 2 типа атрибутов:
Критичные атрибуты: (Pre-fail)
Некритичные атрибуты: (Old_age) (величина value отведенная вендором до наработки на отказ (ресурс)).
Если VALUE стало меньше THRESH в случае Pre-fail атрибута — существует большая вероятность, что диск вылетит в ближайшие 24 часа.
Если VALUE стало меньше THRESH в случае Old_age атрибута — существует большая вероятность, что диск вылетит т.к. выработан ресурс. Вот только когда — науке это неизвестно.
Названия/значения атрибутов и интерпретация raw values не определена никаким стандартом. Иногда различные производители используют одинаковый Attribute ID для различных целей. Поэтому интерпретация специфических атрибутов smartctl может быть изменена опцией -v.
Уточнение: если возникли проблемы с SATA дисками — проверьте версию smartctl: для нормальной работы нужна последняя версия, например 5.38 или 5.39.
Демон smartd:
Редактируем /etc/smartd.conf
По-умолчанию там только одна опция DEVICESCAN
Рекомендуется закомментировать ее и просто перечислить список устройств, которые мы хотим мониторить.
# /etc/smartd.conf config file /dev/hda -S on -o on -a -I 194 -m 891rpm@gmailcom
| /dev/hda | устройство, которое мы собираемся мониторить |
| -o | включает автоматическое off-line тестирование |
| -S | включает автозапись атрибутов |
| -m | за которой следует e-mail указывает куда warning сообщения отсылать |
| -a | указывает smartd мониторить все SMART параметры диска |
smartd по умолчанию фиксирует изменение значений всех атрибутов.
Директива -I 194 означает игнорировать атрибут #194, (т.е. температуру), т.к. температура диска часто меняется и нет смысла ее логировать.
# /etc/init.d/smartd start # rc-update add smartd default
Описание параметров:
Каждый атрибут имеет величину — 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 — число часов проведенных во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF). Обычно величина MTBF огромна, и маловероятно, что этот параметр достигнет критического порога. Но даже в этом случае выход из строя диска совершенно не обязателен.
- 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.
Ссылки:
http://ksimute.trancom.ru/smart-hdd.shtml
http://www.linuxjournal.com/article/6983
http://smartmontools.sourceforge.net/
http://www.3dnews.ru/storage/smart/