Spin Up Time - Время раскрутки шпинделя. Среднее время раскрутки шпинделя диска от 0
RPM до рабочей скорости. Предположительно, в поле raw value содержится
время в миллисекундах/секундах.
Reallocated Sector Count
- Количество переназначенных секторов. Когда жесткий диск встречает
ошибку чтения/записи/верификации он пытается переместить данные из него в
специальную резервную область (spare area) и, в случае успеха, помечает
сектор как "переназначенный". Также, этот процесс называют remapping, а
переназначенный сектор - remap. Благодаря этой возможности, на
современных жестких дисках очень редко видны [при тестировании
поверхности] так называемые bad block. Однако, при большом количестве
ремапов, на графике чтения с поверхности будут заметны "провалы" -
резкое падение скорости чтения (до 10% и более). Поле raw value содержит
общее количество переназначенных секторов.
Seek Time Performance
- Средняя производительность операций позиционирования БМГ. Данный
параметр показывает среднюю скорость позиционирования привода БМГ на
указанный сектор. Снижение значения этого атрибута говорит о неполадках в
механике привода.
Spin Retry Count - Количество
повторов попыток старта шпинделя диска. Данный атрибут фиксирует общее
количество попыток раскрутки шпинделя и его выхода на рабочую скорость,
при условии, что первая попытка была неудачной. Снижение значения этого
атрибута говорит о неполадках в механике привода.
Recalibration Retries
- Количество повторов попыток рекалибровки накопителя. Данный атрибут
фиксирует общее количество попыток сброса состояния накопителя и
установки головок на нулевую дорожку, при условии, что первая попытка
была неудачной. Снижение значения этого атрибута говорит о неполадках в
механике привода.
Raw Read Error Rate - Частота
появления ошибок при чтении данных с диска. Данный параметр показывает
частоту появления ошибок при операциях чтения с поверхности диска по
вине аппаратной части накопителя.
Throughput Performance -
Средняя производительность (пропускная способность) диска. Уменьшение
значения value этого атрибута с большой вероятностью указывает на
проблемы в накопителе.
Start/Stop Count - Количество циклов запуск/останов шпинделя. Поле raw value хранит общее количество
включений/выключений диска.
Read Channel Margin - Запас канала чтения. Назначение этого атрибута не документировано и
в современных накопителях не используется.
Seek Error Rate - Частота появления ошибок позиционирования БМГ. В случае сбоя в
механической системе позиционирования, повреждения сервометок (servo),
сильного термического расширения дисков и т.п. возникают ошибки
позиционирования. Чем их больше, тем хуже механики и/или поверхности
жесткого диска.
Seek Time Performance - Средняя
производительность операций позиционирования БМГ. Данный параметр
показывает среднюю скорость позиционирования привода БМГ на указанный
сектор. Снижение значения этого атрибута говорит о неполадках в механике
привода.
Power-On Hours - Количество отработанных часов во
включенном состоянии. Поле raw value этого атрибута показывает
количество часов (минут, секунд - в зависимости от производителя),
отработанных жестким диском. Снижение значения (value) атрибута до
критического уровня (threshold) указывает на выработку диском ресурса
(MTBF - Mean Time Between Failures). На практике, даже падение этого
атрибута до нулевого значения не всегда указывает на реальное
исчерпывание ресурса и накопитель может продолжать нормально
функционировать.
Spin Retry Count - Количество повторов
попыток старта шпинделя диска. Данный атрибут фиксирует общее количество
попыток раскрутки шпинделя и его выхода на рабочую скорость, при
условии, что первая попытка была неудачной. Снижение значения этого
атрибута говорит о неполадках в механике привода.
Recalibration Retries - Количество повторов попыток рекалибровки накопителя. Данный атрибут
фиксирует общее количество попыток сброса состояния накопителя и
установки головок на нулевую дорожку, при условии, что первая попытка
была неудачной. Снижение значения этого атрибута говорит о неполадках в
механике привода.
Device Power Cycle Count - Количество полных циклов запуска/останова жесткого диска.
Soft Read Error Rate - Частота появления "программных" ошибок при чтении данных с диска.
Данный параметр показывает частоту появления ошибок при операциях чтения
с поверхности диска по вине программного обеспечения, а не аппаратной
части накопителя.
Load/Unload Cycle Count - Количество
циклов вывода БМГ в специальную парковочную зону/в рабочее положение.
Подробнее - см. описание технологии Head Load/Unload Technology.
Drive Temperature - Температура. Данный параметр отражает в поле raw value показание
встроенного температурного сенсора в градусах Цельсия.
Reallocation Event Count - Количество операций переназначения (ремаппинга). Поле raw value этого
атрибута показывает общее количество попыток переназначения сбойных
секторов в резервную область, предпринятых накопителем. При этом,
учитываются как успешные, так и неудачные операции.
Current Pending Sector Count - Текущее количество нестабильных секторов. Поле raw value этого
атрибута показывает общее количество секторов, которые накопитель в
данный момент считает претендентами на переназначение в резервную
область (remap). Если в дальнейшем какой-то из этих секторов будет
прочитан успешно, то он исключается из списка претендентов. Если же
чтение сектора будет сопровождаться ошибками, то накопитель попытается
восстановить данные и перенести их в резервную область, а сам сектор
пометить как переназначенный (remapped). Постоянно ненулевое значение
raw value этого атрибута говорит о низком качестве (отдельной зоны)
поверхности диска.
Uncorrectable Sector Count - Количество
нескорректированных ошибок. Атрибут показывает общее количество ошибок,
возникших при чтении/записи сектора и которые не удалось
скорректировать. Рост значения в поле raw value этого атрибута указывает
на явные дефекты поверхности и/или проблемы в работе механики
накопителя.
UltraDMA CRC Error Count - Общее количество
ошибок CRC в режиме UltraDMA. Поле raw value содержит количество ошибок,
возникших в режиме передачи данных UltraDMA в контрольной сумме (ICRC -
Interface CRC). Примечание автора. Практика, собранная статистика и
изучение журналов ошибок SMART показывают: в большинстве случаев ошибки
CRC возникают при сильном завышении частоты PCI (больше номинальных 33.6
MHz), сильно перекрученом кабеле, а также - по вине драйверов ОС,
которые не соблюдают требований к передачи/приему данных в режимах
UltraDMA.
Write Error Rate (Multi Zone Error Rate)- Частота
появления ошибок при записи данных. Показывает общее количество ошибок,
обнаруженных во время записи сектора. Чем больше значение в поле raw
value (и ниже значение value), тем хуже состояние поверхности диска
и/или механики привода.
Disk Shift - Сдвиг пакета дисков
относительно оси шпинделя. Актуальное значение атрибута содержится в
поле raw value. Единицы измерения - не известны. Подробности - см. в
описании технологии G-Force Protection. Примечание. Сдвиг пакета дисков
возможен в результате сильной ударной нагрузки на накопитель в
результате его падения или по иным причинам.
G-Sense Error Rate - Частота появления ошибок в результате ударных нагрузок. Данный
атрибут хранит показания ударочувствительного сенсора - общее количество
ошибок, возникших в результате полученных накопителем внешних ударных
нагрузок (при падении, неправильной установки, и т.п.). Подробнее - см.
описание технологии G-Force Protection.
Loaded Hours - Нагрузка на привод БМГ, вызванная общей наработкой часов накопителем.
Учитывается только период, в течении которого головки находились в
рабочем положении.
Load/Unload Retry Count - Нагрузка на
привод БМГ, вызванная многочисленными повторениями операций чтения,
записи, позиционирования головок и т.п. Учитывается только период, в
течении которого головки находились в рабочем положении.
Load Friction
- Нагрузка на привод БМГ, вызванная трением в механических частях
накопителя. Учитывается только период, в течении которого головки
находились в рабочем положении.
Load/Unload Cycle Count -
Общее количество циклов нагрузки на привод БМГ. Учитывается только
период, в течении которого головки находились в рабочем положении.
Load-in Time - Общее время нагрузки на привод БМГ. Предположительно, данный атрибут
показывает общее время работы накопителя под нагрузкой, при условии, что
головки находятся в рабочем состоянии (вне парковочной зоны).
Torque Amplification Count - Количество усилий вращающего момента привода.
Power-Off Retract Count - Количество зафиксированных повторов в(ы)ключения питания накопителя.
GMR Head Amplitude - Амплитуда дрожания ГМР-головок (GMR-Head) в рабочем состоянии.
Думаю все более-менее продвинутые пользователи ПК знают что такое SMART или по крайней мере хоть раз о нём слышали.
Вырезка из википедии: S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля,
анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а
также механизм предсказания времени выхода его из строя.
Так что попытками предсказания смерти жёстких дисков мы сегодня и будем учиться.
Я, уже достаточно давно, для работы со SMART использую утилиту smartmontools, она работает и под Linux
и под BSD и под Windows, под MacOS и Solaris. Т.к. у меня Gentoo, установка крайне проста:
#emerge smartmontools
У нас установится утилита smartctl, для работы со SMART и демон smartd, который можно будет настроить для
автоматического мониторинга ошибок дисков.
Первым делом нам необходимо проверить — поддерживает ли наш HDD SMART (ну всякое бывает…)
#smartctl -i /dev/sdb
В ответ, помимо данных о диске мы получаем: SMART support is: Available — device has SMART capability.
Далее нам необходимо включить (если при проверке поддержки SMART мы получили — SMART support is: Disabled)
#smartctl -s on /dev/sdb
В ответ получаем — SMART Enabled.
Теперь проверим, были ли какие-либо ошибки у нашего HDD за время его жизни:
#smartctl -l error /dev/sdb
мой хард уже порядком изношен и требует замены (я специально стал приводить примеры именно на нём) и кишит
ошибками (что бы не рвать страницу и мозг читателю, выложил выхлоп отдельно на pastebin.com). Ошибок много, жизнь этого харда была долгой и не лёгкой, по этому — ничего удивительного.
Ну а теперь мы получим полную информацию по этому HDD:
#smartctl --all /dev/sdb
Выхлоп опять-таки очень большой, по этому будет так же лежать на pastebin.com. Но здесь мы остановимся немного для того что бы разобраться со SMART Attributes:
Cуществует 2 типа атрибутов (TYPE):
Критичные атрибуты: (Pre-fail)
Некритичные атрибуты: (Old_age)
Если VALUE стало меньше THRESH в случае Pre-fail атрибута — существует большая вероятность, что диск
вылетит в ближайшие 24 часа.
Если VALUE стало меньше THRESH в случае Old_age атрибута — существует большая вероятность, что диск
вылетит т.к. выработан ресурс. А вот когда это случиться — предвидеть не получится, если только вы
не видите будущее (но тогда вам и показатели SMART`а в общем то не нужны :)). В общем во всех случаях
— это большой повод как минимум — забэкапить всю нужную информацию, и как максимум —
заменить жёсткий диск.
Теперь о том, какие есть атрибуты: Критичные атрибуты: 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 — технология
внутренней оценки состояния HDD на 3dnews.ru.
Ну а теперь перейдём к демону smartd. Его настройка достаточно проста, нам нужно отредактировать файл:
#nano /etc/smartd.conf
и вписать туда наши HDD таким образом:
/dev/sdb -d sat -H -S on -o on -I 194 -m mail@bk.ru
А теперь по пунктам — что есть что: -d — указывает тип устройства (по-умолчанию установлено — auto, этого достаточно
в большинстве случаев). -H — проверяет показания SMART и если кол-во Prefailure атрибутов меньше или равно
минимальному кол-ву — информация записывается в лог. -S — включает/выключает автосохранение атрибутов (может принимать значение on или off). -o — включает/выключает автоматические оффлайн тесты (может принимать значение on или off). -I — игнорировать атрибут ID (в моём примере игнорируется показание Temperature_Celsius). -m — адрес, куда направлять варнинги, в случае если такие вдруг появляются.
Более подробно о ключах, в офисиальном мане по smartd.conf. По аналогии мы добавляем все наши жёсткие диски для мониторига (лично у меня их аж 6 штук) и можем расслабиться, в случае появления проблем, мы получим соответствующее письмо и уже по обстановке будем действовать дальше.
Остаётся добавить демона в автозагрузку:
#rc-update add smartd default
Ну и напоследок, раз уж мы заговорили о тестировании жёстких дисков, оговорюсь о том, как можно просто быстро
проверить скорость чтения/записи диска. Для этого нам понадобиться утилита dd, которая идёт «из
коробки», и так:
#dd if=/dev/sdb1 of=/dev/null bs=16M count=256
О ключах: bs — указывыаем количество байт, которые будут записаны за раз (грубо говоря —
размер куска). count — сколько кусочков будет скопировано (кусочков, размером которых мы выставили
параметром bs).
т.е. у меня получается 256 кусочков по 16 мегабайт каждый. В итоге мы получаем строку: 4294967296 bytes (4.3 GB) copied, 39.1927 s, 110 MB/s и видим, что скорость чтения с диска у нас — 110 MB/s. К сожалению так же просто проверить скорость записи не получится, /dev/(u)random даёт слишком низкую скорость. По этому остаётся только протестировать на скорость чтения какой то другой HDD, если он имеется в системе, а потом копирование данных с одного диска на другой — посмотреть скорость копирования.
И видим, что скорость записи на диск, не уступает скорости чтения с этого же диска (/home/share/torrent/ это
смонтированный раздел на диске /dev/sdb1).
Пожалуй на этом всё. Теперь у нас под рукой есть достаточное количество средств для тестирования жёстких дисков
и выявления неисправностей.
SMART - технология внутренней оценки состояния HDD
Введение
Сегодня, хотелось бы чуточку подробнее поговорить о
критериях выбора винчестера технологии SMART, а также
выяснить вопрос о появлении плохих секторов при проверке поверхности специальными программами и
исчерпании резервной поверхности для их переназначения.
Для начала как всегда краткий исторический экскурс. Надежность жесткого диска (и любого устройства
хранения в самом общем случае) всегда придается огромное значение. И дело отнюдь не в его стоимости,
а в ценности той информации, которую он уносит с собой в мир иной, уходя из жизни сам, и в потерях
прибыли, связанных с простоями при выходе из строя винчестеров, если речь идет о бизнес-пользователях,
даже в том случае, если информация осталась. И вполне естественно, что о таких неприятных моментах хочется
знать заранее. Даже обычные рассуждения на бытовом уровне подсказывают, что наблюдение за состоянием прибора
в работе, может подсказать такие моменты. Осталось только каким-то образом реализовать это наблюдение в винчестере.
Впервые над этой задачей задумались инженеры голубого гиганта (IBM то бишь). И в 1995 году они
предложили технологию, отслеживающую несколько критически важных параметров накопителя, и делающую попытки
на основании собранных данных предсказать выход его из строя - Predictive Failure Analysis (PFA). Идею
подхватила Compaq, которая чуть позже создала свою технологию - IntelliSafe. В разработке Compaq также
поучаствовали Seagate, Quantum и Conner. Созданная ими технология также отслеживала ряд рабочих характеристик
диска, сравнивала их с допустимым значением и рапортовала хост-системе в случае наличия опасности. Это
был огромный шаг вперед если и не в повышении надежности винчестеров, то хотя бы в уменьшении риска
потери информации при их использовании. Первые попытки оказались удачными, и показали необходимость
дальнейшего развития технологии. Уже в объединении всех крупных производителей жестких дисков появилась
технология S.M.A.R.T (Self Monitoring Analysing and Reporting Technology), базирующаяся на технологиях
IntelliSafe и PFA (кстати говоря, PFA существует и поныне, как набор технологий для наблюдения и анализа
за различными подсистемами серверов IBM, в том числе и дисковой подсистемой, причем наблюдение за
последней базируется именно на технологии SMART).
Итак, SMART - это технология внутренней оценки состояния диска, и механизм предсказания возможного выхода
из строя жесткого диска. Важно отметить то, что технология в принципе не решает возникающих проблем
(основные из них показаны на рисунке чуть ниже), она способна лишь предупредить об уже возникшей проблеме
либо об ожидающейся в ближайшем времени.
При этом нужно также сказать, что технология не в состоянии предсказать абсолютно все возможные проблемы
и это логично: выход электроники в результате скачка напряжения, порча головок и поверхности в результате
удара и т.п. никакая технология предсказать не в силах. Предсказуемы лишь те проблемы, которые связаны
с постепенным ухудшением каких-либо характеристик, равномерной деградацией каких либо компонент.
Этапы развития технологии
В своем развитии технология SMART прошла три этапа. В первом поколении было реализовано наблюдение
небольшого числа параметров. Никаких самостоятельных действий накопителя не предусматривалось. Запуск
осуществлялся только командами по интерфейсу. Спецификации описывающей стандарт полностью нет, и,
следовательно, не было и нет и четкого предначертания, о том, какие именно параметры надлежит
контролировать. Более того, их определение и определение допустимого уровня их снижения целиком и
полностью предоставлялся производителям винчестеров (что естественно в силу того, что производителю виднее
что именно надлежит контролировать данном его винчестере, ибо все винчестеры слишком различны). И
программное обеспечение, по этой причине, написанное, как правило, сторонними фирмами, не было
универсальным, и могло ошибочно рапортовать о предстоящем сбое (путаница возникала из-за того,
что под одним и тем же идентификатором различные производители хранили значения различных параметров).
Имело место большое число жалоб на то, что число случаев обнаружения пред сбойного состояния чрезвычайно
мало (особенности человеческой природы: получать хочется все и сразу, жаловаться на внезапные отказы
дисков до внедрения SMART в голову как-то никому не приходило). Ситуация усугубилась еще и тем, что в
большинстве случаев не были выполнены минимально необходимые требования для функционирования
SMART (об этом поговорим позже). Статистика говорит о том, что число предсказываемых сбоев было
менее 20%. Технология на этом этапе была далека от совершенства, но являлась революционным шагом вперед.
О втором этапе развития SMART - SMART II известно также не много. В основном наблюдались те же
проблемы, что и с первой. Нововведениями являлись возможность фоновой проверки поверхности, выполняемая
диском в автоматическом режиме при простоях и ведение журналов ошибок, расширился список контролируемых
параметров (снова же в зависимости от модели и производителя). Статистика говорит о том, что число
предсказываемых сбоев достигло 50%.
Современный этап представлен технологией SMART III. На ней остановимся подробней, попытаемся
разобраться в общих чертах как она работает, что и зачем в ней нужно.
Нам уже известно, что SMART производит наблюдение за основными характеристиками накопителя. Эти
параметры называются атрибутами. Необходимые к мониторингу параметры определяются производителем. Каждый
атрибут имеет какую-то величину - Value. Обычно изменяется в диапазоне от 0 до 100 (хотя может
быть в диапазоне до 200 или до 255), ее величина - это надежность конкретного атрибута относительно
некоторого его эталонного значения (определяется производителем). Высокое значение говорит об отсутствии
изменений данного параметра или, в зависимости от значения, его медленном ухудшении. Низкое значение
говорит о быстрой деградации или о возможном скором сбое, т.е. чем выше значение Value атрибута, тем
лучше. Некоторыми программами мониторинга выводится значение Raw или Raw Value - это значение атрибута
во внутреннем формате (который так же различен у дисков разных моделей и разных производителей), в том,
в котором он хранится в накопителе. Для простого пользователя он малоинформативен, больший интерес
представляет посчитанное из него значение Value. Для каждого атрибута производителем определяется
минимальное возможное значение, при котором гарантируется безотказная работа накопителя - Threshold.
При значении атрибута ниже величины Threshold очень вероятен сбой в работе или полный отказ. Осталось
только добавить, что атрибуты бывают критически важными и некритически. Выход критически важного
параметра за пределы 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. Эта возможность
появилась уже в SMART II. Все параметры журналов - назначение, размер, их число определяются изготовителем
винчестера. Нас с вами в настоящий момент интересует только факт их наличия. Без подробностей. Информация
хранящаяся в журналах используется для анализа состояния и составления прогнозов.
Если не вдаваться в подробности, то работа SMART проста - при работе накопителя просто отслеживаются
все возникающие ошибки и подозрительные явления, которые находят отражение в соответствующих атрибутах.
Кроме того начиная так же со SMART II у многих накопителей появились функции самодиагностики. Запуск
тестов SMART возможен в двух режимах, off-line - тест выполняется фактически в фоновом режиме, так как
накопитель в любое время готов принять и выполнить команду, и монопольном при котором при поступлении
команды, выполнение теста завершается.
Документировано существует три типа тестов самодиагностики: фоновый сбор данных (Off-line collection),
сокращенный тест (Short Self-test), расширенный тест (Extended Self-test). Два последних способны выполняться
как в фоновом, так и в монопольном режимах. Набор тестов в них входящих не стандартизирован.
Продолжительность их выполнения может быть от секунд до минут и часов. Если вы вдруг не обращаетесь к
диску, а он при этом издатет звуки как и при рабочей нагрузке - он просто похоже занимается самоанализом.
Все данные собранне в результате таких тестов будут также сохранены в журналах и аттрибутах.
Ох уж эти плохие сектора...
Теперь вернемся к вопросу бэд-секторов, с которых все началось. В SMART III появилась функция,
позволяющая прозрачно для пользователя переназначать BAD-сектора. Работает механизм достаточно просто,
при неустойчивом чтении сектора, или же ошибки его чтения, SMART заносит его в список нестабильных и
увеличит их счетчик (Current Pending Sector Count). Если при повторном обращении сектор будет прочитан
без проблем, он будет выброшен из этого списка. Если же нет, то при предоставившейся возможности - при
отсутствии обращений к диску, диск начнет самостоятельную проверку поверхности, в первую очередь
подозрительных секторов. Если сектор будет признан сбойным, то он будет переназначен на сектор из
резервной поверхности (соответственно RSC увеличиться). Такое фоновое переназначение приводит к тому,
что на современных винчестерах сбойные секторы практически никогда не видны при проверке поверхности
сервисными программами. В тоже время, при большом числе плохих секторов их переназначение не может
происходить до бесконечности. Первый ограничитель очевиден - это объем резервной поверхности. Именно
этот случай я имел ввиду. Второй не столь очевиден - дело в том, что у современных винчестеров есть
два дефект-листа P-list (Primary, заводской) и G-list (Growth, формируется непосредственно во время
эксплуатации). И при большом числе переназначений может оказаться так, что в G-list не оказывается места
для записи о новом переназначении. Эта ситуация может быть выявлена по высокому показателю переназначенных
секторов в SMART. В этом случае еще не все потеряно, но это выходит за рамки данной статьи.
Итак, используя данные SMART даже не нося диск в мастерскую можно довольно точно сказать, что с
ним происходит. Существуют различные технологии-надстройки над SMART, которые позволяют определить
состояние диска еще более точно и практически достоверно причину его неисправности. Об этих технологиях
мы поговорим в отдельной статье.
Нужно знать, что приобретения накопителя со SMART не достаточно, для того, что бы быть в курсе всех
происходящих с диском проблем. Диск, конечно, может следить за своим состоянием и без посторонней помощи,
но он не сможет сам предупредить в случае приближающейся опасности. Нужно что-то, что позволит на основании
данных SMART выдать предупреждение. (обычная цепочка приведена на рисунке чуть ниже).
Как вариант возможен BIOS, который при загрузке при включенной соответствующей опции проверяет состояние
SMART накопителей. А если же вам хочется вести постоянный контроль за состоянием диска, необходимо
использовать какую-то программу мониторинга. Тогда вы сможете видеть информацию в подробном и удобном виде.
Об этих программах мы также поговорим в отдельной статье. Именно это я имел ввиду, когда говорил о том,
что по началу не выполнялись необходимые требования при эксплуатации жестких дисков с SMART.