S.M.A.R.T – Self-Monitoring, Analysis and Reporting Tool. Насколько он полезен?

Являющиеся частью стандарта ATA, средства мониторинга и предсказания ошибок, носящие название S.M.A.R.T - Self-Monitoring, Analysis and Reporting Tool присутствуют в контроллерах всех дисков ATA (как PATA, так и SATA) с 90-х годов. По мысли разработчиков этих средств, они должны предотвратить неожиданные выходы из строя, так как SMART оценивает ряд критичных параметров диска, и пытается предсказать вероятность таких сбоев, а также ожидаемое время до сбоя.

Группа исследователей Google на протяжении 9 месяцев анализировала данные S.M.A.R.T. в 100 тысячах дисков, расположенных в его датацентрах, выявляя взаимосвязи между отказами дисков, и показаниями этой службы. Было выявлено несколько критичных параметров, события которых чаще других вызывали впоследствии отказы таких дисков.

Scan Errors

Жесткий диск обычно постоянно проверяет чтение с поверхности физических дисков, и, в случае каких-либо затруднений в этом уведомляет S.M.A.R.T. В рассматриваемой популяции примерно 2% дисков на момент начала исследования имело ненулевые показатели Scan Errors, причем такие диски достаточно равномерно распределились между различными производителями и их моделями, то есть не шла речь о заведомо дефектных партиях. На графике ниже приведены показатели вероятности отказов для дисков, имевших ошибки Scan Error, и не имевших таких, по всем рассмотренным возрастным группам.

image

Также рассматривались вероятности отказа в зависимости от времени, прошедшего с момента регистрации ошибки, и анализировался характер и время сбоев для различных "возрастных групп" дисков и количества таких ошибок.

Вероятность отказа диска резко вырастала в несколько дней, следующих после регистрации ошибки, и продолжала непрерывно расти на протяжении всех наблюдаемых месяцев.

image

Вероятность отказа по всей наблюдаемой группе, после возникновения первого Scan Error. Пунктиром показаны границы статистически погрешностей.
Видно, что наибольший риск выхода из строя приходится на первые несколько дней после возникновения ошибки Scan Error.

image

Вероятность отказа после возникновения первого Scan Error, в зависимости от возраста диска.

В случае "нового" диска (с возрастом до 8 месяцев), если диск пережил первые несколько дней после регистрации Scan Error без сбоя, то вероятность его сбоя в дальнейшем относительно невелика и практически не возрастает. Однако чем "старше" диск на момент возникновения Scan Error, тем выше вероятность того, что на протяжении ближайших месяцев после Scan Error случится отказ. Для дисков возраста от года и старше, прирост такой вероятности за наблюдаемые 8 месяцев близок к линейному, что означает практическую неизбежность отказа, рано или поздно (к концу 8 месяца она дошла до 40%).

image

Вероятность отказа в зависимости от количества ошибок Scan Error. Рассмотрены варианты 1-2 ошибки и больше 2 зарегистрированных S.M.A.R.T. ошибок Scan Error. Множественные Scan Errors сильно увеличивают вероятность отказа, даже по сравнению с относительно высоким уровнем отказов после единичного Scan Error.

Таким образом, следует считать "пороговым" (threshold) значением для "scan error" - единицу. После первого же зарегистрированного scan error, вероятность отказа диска в следующие 60 дней становится выше в 39 раз!

Рассмотрим другой характерный параметр - Reallocation Counts - число реаллокаций, то есть логических перемещений неустойчиво читающихся блоков. Обнаружив такой блок на диске, контроллер диска производит "ремаппинг", переназначение адреса этого блока со старого, проблемного, на новый, находящийся в специально зарезервированной области блоков для реаллокации.

В рассматриваемой популяции дисков ненулевое значение reallocation count имело примерно 9% дисков. Хотя некоторые диски имели значительно более высокие значения reallocation count чем другие, но, по утверждениям авторов, наблюдавшийся и описанный тренд был примерно равен для всех рассмотренных моделей и не зависел от производителя и марки дисков.

Также, как и в случае со scan error, рост этого параметра прямо связан с повышенной вероятностью отказа диска в самое ближайшее время. В среднем зарегистрированное повышение вероятности отказа составляло 3-6 раз. Эффект влияния этого параметра S.M.A.R.T. на вероятность выхода из строя хотя и был значительно менее выраженным, чем в случае scan error, но также явно фиксировался.

image

Графики роста уровней ежегодных отказов, в зависимости от возраста дисков, и наличия или отсутствия у них ошибок Reallocate.

image

Влияние reallocation на вероятность отказа в ближайшие 8 месяцев (пунктиром показаны статистические отклонения). По горизонтали - месяцы, прошедшие с момента регистрации reallocaion, по вертикали - вероятность отказа (survival probability - "вероятность выживания" - величина обратная вероятности отказа). Через 8 месяцев из популяции, имевшей хотя бы один reallocaton, остаются в строю примерно 85% дисков.

image

Влияние возраста диска в месяцах, на вероятность отказа после reallocation. В зависимости от общего возраста диска, меняется вероятность его отказа после возникновения reallocate.

 image

Влияние единичных реаллокаций (от 1 до 4), множественных (выше 4) и сравнение с "контрольной группой". Множественные реаллокации, по сравнению с первой же обнаруженной, уже сравнительно мало влияют на вероятность отказа в целом, в отличие от ситуации с Scan Error.

В оригинальной работе также рассмотрены влияния на вероятность отказов таких параметров, как Offline Reallocation (вероятность отказа после такого события в 21 раз выше нормы в следующие 60 дней), Probational Counts (в 16 раз выше нормы, в следующие 60 дней) и ряда других.

image

Сводный график зарегистрированных S.M.A.R.T. событий в наблюдаемой группе. Суммарное количество превышает 100%, так как возможно возникновение нескольких ошибок одновременно.

Таким образом, очевидно, что, на сегодня, S.M.A.R.T., как средство Self-Monitoring, Analysis and Reporting, выполняет свою работу неудовлетворительно. Около трети сбоев (36%) в рассматриваемой дисковой популяции в 100 тысяч дисков не было никак диагностировано его средствами, и произошло внезапно для S.M.A.R.T. Анализ, проведенный группой инженеров Google, также выявил недостатки в текущей, общепринятой настройке "порогов" (threshold) срабатывания средств уведомления о предстоящей аварии, во многих случаях эти пороги следовало бы значительно поднять.

Бесспорны перспективы средств автоматического мониторинга и предсказания, встроенные в диски, однако, на сегодня, доверять безоглядно нынешним средствам, какими являются S.M.A.R.T. и системы, построенные на его базе, и строить оценку вероятности отказов жестких дисков исключительно на оценке S.M.A.R.T. не следует.

Продолжение следует.

Ранее: О надежности жестких дисков: MTBF – что это?

Приводит ли большая нагрузка к увеличению вероятности выхода дисков из строя?

Комментарии (4)

  1. Alex:

    romx, у вас нет мыслей, что гугл имел в виду под параметрами “Scan Errors” и “Reallocation Counts”? вот вывод smartctl - 1-й найти вообще не смог, а второй - неясно какое из двух:
    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0×000f 100 100 051 Pre-fail Always - 9
    3 Spin_Up_Time 0×0007 100 100 025 Pre-fail Always - 5888
    4 Start_Stop_Count 0×0032 100 100 000 Old_age Always - 53
    5 Reallocated_Sector_Ct 0×0033 253 253 010 Pre-fail Always - 0
    7 Seek_Error_Rate 0×000f 253 253 051 Pre-fail Always - 0
    8 Seek_Time_Performance 0×0025 253 253 015 Pre-fail Offline - 0
    9 Power_On_Hours 0×0032 100 100 000 Old_age Always - 26160
    10 Spin_Retry_Count 0×0033 253 253 051 Pre-fail Always - 0
    11 Calibration_Retry_Count 0×0012 253 253 000 Old_age Always - 0
    12 Power_Cycle_Count 0×0032 100 100 000 Old_age Always - 53
    187 Unknown_Attribute 0×0032 253 253 000 Old_age Always - 0
    190 Unknown_Attribute 0×0022 169 145 000 Old_age Always - 23
    194 Temperature_Celsius 0×0022 169 145 000 Old_age Always - 23
    195 Hardware_ECC_Recovered 0×001a 100 100 000 Old_age Always - 101407516
    196 Reallocated_Event_Count 0×0032 253 253 000 Old_age Always - 0
    197 Current_Pending_Sector 0×0012 253 253 000 Old_age Always - 0
    198 Offline_Uncorrectable 0×0030 253 253 000 Old_age Offline - 0
    199 UDMA_CRC_Error_Count 0×003e 200 200 000 Old_age Always - 0
    200 Multi_Zone_Error_Rate 0×000a 100 100 000 Old_age Always - 0
    201 Soft_Read_Error_Rate 0×000a 100 100 000 Old_age Always - 0
    202 TA_Increase_Count 0×0032 100 100 000 Old_age Always - 2

  2. Я тоже обратил на это внимание. Судя по описанию того, за что отвечает это параметр, имелся ввиду ID01 Read Error Rate
    http://en.wikipedia.org/wiki/S.M.A.R.T.

  3. alex nop:

    Если я правильно помню этот отчет, то Google упоминал еще один параметр “Spin up time” и его корреляции. ??ли это будет в “следующей серии”?

  4. Я не ставил себе целью сделать полный перевод, скорее заинтересовать возможных читателей, тем более сама работа относительно невелика и достаточно просто читается.

Оставить комментарий