Бортовой журнал Ктулху

Linux. Smart или сколько осталось жить диску?

Сколько осталось жить диску и не пора ли его заменить? 
Такой вопрос поднимается у всех администраторов и хорошо если им периодически задаваться, поскольку стоимость жесткого диска ничтожна, по сравнению со стоимостью информации на нем.

 

 

 

Smart (Self Monitoring Analysing and Reporting Technology) - это технология оценки состояния жестких дисков встроенной аппаратурой самодиагностики, а так же механизм предсказания времени выхода из строя жесткого диска.

Какие проблемы позволяет выявить эта технология:

  1. Проблемы блока магнитных головок
  2. Повреждения дисков (физичесские повреждения, логичесские ошибки и т.п.)
  3. Проблемы механики (Привода, системы позиционирования)
  4. Проблемы электронной части (платы)
  5. Температура


Первым делом нам необходимо установить инструмент smartmontools в Debian:

bash:
  1. aptitude install smartmontools


Для начала узнаем поддерживает наш диск SMART или нет:

bash:
  1. smartctl -i /dev/sda


Если SMART выключен, его необходимо включить:

bash:
  1. smartctl -s /dev/sda


Для получения всей доступной информации о диске необходимо запросить:

bash:
  1. smartctl --all /dev/sda


Если нас интересуют только параметры диска:

bash:
  1. smartctl -i /dev/sda


Поскольку нашей целью получить информацию о состоянии, то нам понадобится в основном только атрибуты SMART:

bash:
  1. smartctl -A /dev/sda



Учитывая данные из таблицы SMART атрибутов , можно без труда произвести анализ состояния дисков.


Атрибуты SMART

Таблица известных атрибутов SMART выглядит следующим образом:

P.S. Выделенные атрибуты - требуют особого внимания - на них строится основное состояние жесткого диска.

HexИмя атрибутаЛучше если…Описание
0101Raw Read Error Rate
Меньше
Частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска.
Для всех дисков Seagate, Samsung (семейства F1 и более новые) и Fujitsu 2,5″ это — число внутренних коррекций данных, проведенных до выдачи в интерфейс, следовательно на пугающе огромные цифры можно реагировать спокойно.
0202Throughput Performance
Больше
Общая производительность диска. Если значение атрибута уменьшается, то велика вероятность, что с диском есть проблемы.
0303Spin-Up Time
Меньше
Время раскрутки пакета дисков из состояния покоя до рабочей скорости.
Растет при износе механики (повышенное трение в подшипнике и т.п.), также может свидетельствовать о некачественном питании (например, просадке напряжения при старте диска).
0404Start/Stop Count Полное число циклов запуск-остановка шпинделя. У дисков некоторых производителей (например, Seagate) — счётчик включения режима энергосбережения. В поле raw value хранится общее количество запусков/остановок диска.
0505Reallocated Sectors Count
Меньше
Число операций переназначения секторов. Когда диск обнаруживает ошибку чтения/записи, он помечает сектор «переназначенным» и переносит данные в специально отведённую резервную область. Вот почему на современных жёстких дисках нельзя увидеть bad-блоки — все они спрятаны в переназначенных секторах. Этот процесс называют remapping, а переназначенный сектор — remap. Чем больше значение, тем хуже состояние поверхности дисков. Поле raw value содержит общее количество переназначенных секторов.
Рост значения этого атрибута может свидетельствовать об ухудшении состояния поверхности блинов диска.
0606Read Channel Margin Запас канала чтения. Назначение этого атрибута не документировано. В современных накопителях не используется.
0707Seek Error Rate
Меньше
Частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики и/или поверхности жёсткого диска. Также на значение параметра может повлиять перегрев и внешние вибрации (например, от соседних дисков в корзине).
0808Seek Time Performance
Больше
Средняя производительность операции позиционирования магнитными головками. Если значение атрибута уменьшается (замедление позиционирования), то велика вероятность проблем с механической частью привода головок.
0909Power-On Hours (POH)
Меньше
Число часов (минут, секунд — в зависимости от производителя), проведённых во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF — mean time between failure).
100ASpin-Up Retry Count
Меньше
Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность неполадок с механической частью.
110BRecalibration Retries
Меньше
Количество повторов запросов рекалибровки в случае, если первая попытка была неудачной. Если значение атрибута увеличивается, то велика вероятность проблем с механической частью.
120CDevice Power Cycle Count Количество полных циклов включения-выключения диска.
130DSoft Read Error Rate
Меньше
Число ошибок при чтении, по вине программного обеспечения, которые не поддались исправлению. Все ошибки имеют не механическую природу и указывают лишь на неправильную размётку/взаимодействие с диском программ или операционной системы.
184B8End-to-End error
Меньше
Данный атрибут — часть технологии HP SMART IV, это означает, что после передачи через кэш памяти буфера данных паритет данных между хостом и жестким диском не совпадают.[2]
187BBReported UNC Errors
Меньше
Ошибки, которые не могли быть восстановлены, используя методы устранения ошибки аппаратными средствами.
190BEAirflow Temperature (WDC)
Меньше
Температура воздуха внутри корпуса жёсткого диска. Для дисков Seagate рассчитывается по формуле (100 — HDA temperature). Для дисков Western Digital - (125- HDA).
191BFG-sense error rate
Меньше
Количество ошибок, возникающих в результате ударных нагрузок. Атрибут хранит показания встроенного акселерометра, который фиксирует все удары, толчки, падения и даже неаккуратную установку диска в корпус компьютера.
192C0Power-off retract count
Меньше
Число циклов выключений или аварийных отказов (включений/выключений питания накопителя).
193C1Load/Unload Cycle
Меньше
Количество циклов перемещения блока магнитных головок в парковочную зону / в рабочее положение.
194C2HDA temperature
Меньше
Здесь хранятся показания встроенного термодатчика для механической части диска - банки (HDA — Hard Disk Assembly). Информация снимается со встроенного термодатчика, которым служит одна из магнитных головок, обычно нижняя в банке. В битовых полях атрибута фиксируются текущая, минимальная и максимальная температура. Не все программы, работающие со SMART, правильно разбирают эти поля, так что к их показаниям стоит относиться критично.
195C3Hardware ECC Recovered
Меньше
Число коррекции ошибок аппаратной частью диска (чтение, позиционирование,передача по внешнему интерфейсу). На дисках с SATA-интерфейсом значение нередко ухудшается при повышении частоты системной шины — SATA очень чувствителен к разгону.
196C4Reallocation Event Count
Меньше
Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки.
197C5Current Pending Sector Count
Меньше
Число секторов, являющихся кандидатами на замену. Они не были ещё определены как плохие, но считывание с них отличается от чтения стабильного сектора, это так называемые подозрительные или нестабильные сектора. В случае успешного последующего прочтения сектора он исключается из числа кандидатов. В случае повторных ошибочных чтений накопитель пытается восстановить его и выполняет операцию переназначения (remaping).
Рост значения этого атрибута может свидетельствовать о физической деградации жёсткого диска.
198C6Uncorrectable Sector Count
Меньше
Число неисправимых ошибок при обращении к сектору. {Возможно, имелось в виду «число некорректируемых (средствами диска) секторов», но никак не число самих ошибок!} В случае увеличения числа ошибок велика вероятность критических дефектов поверхности и/или механики накопителя.
199C7UltraDMA CRC Error Count
Меньше
Число ошибок, возникающих при передаче данных по внешнему интерфейсу в режиме UltraDMA (нарушения целостности пакетов и т.п.). Рост этого атрибута свидетельствует о плохом (мятом, перекрученном) кабеле и плохих контактах. Также подобные ошибки появляются при разгоне шины PCI, сбоях питания, сильных электромагнитных наводках, а иногда и по вине драйвера.
Возможно причина в некачественном шлейфе. Для исправления попробуйте использовать SATA шлейф без защёлок, имеющий плотное соединение с контактами диска.
200C8Write Error Rate /
Multi-Zone Error Rate
Меньше
Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя.
201C9Soft read error rate
Меньше
Частота появления «программных» ошибок при чтении данных с диска.

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

202CaData Address Mark errors
Меньше
Number of Data Address Mark (DAM) errors (or) vendor-specific.
203CBRun out cancel
Меньше
Количество ошибок ECC.
204CCSoft ECC correction
Меньше
Количество ошибок ECC, скорректированных программным способом.
205CDThermal asperity rate (TAR)
Меньше
Number of thermal asperity errors.
206CEFlying height Высота между головкой и поверхностью диска.
207CFSpin high current
Меньше
Amount of high current used to spin up the drive.
208D0Spin buzz Number of buzz routines to spin up the drive.
209D1Offline seek performance Drive’s seek performance during offline operations.
220DCDisk Shift
Меньше
Дистанция смещения блока дисков относительно шпинделя. В основном возникает из-за удара или падения. Единица измерения неизвестна. При увеличении атрибута диск быстро становится неработоспособным.
221DDG-Sense Error Rate
Меньше
Число ошибок, возникших из-за внешних нагрузок и ударов. Атрибут хранит показания встроенного датчика удара.
222DELoaded Hours Время, проведённое блоком магнитных головок между выгрузкой из парковочной области в рабочую область диска и загрузкой блока обратно в парковочную область.
223DFLoad/Unload Retry Count Количество новых попыток выгрузок/загрузок блока магнитных головок в/из парковочной области после неудачной попытки.
224E0Load Friction
Меньше
Величина силы трения блока магнитных головок при его выгрузке из парковочной области.
225E1Load Cycle Count
Меньше
Количество циклов перемещения блока магнитных головок в парковочную область.
226E2Load Load "In"-time Время, за которое привод выгружает магнитные головки из парковочной области на рабочую поверхность диска.
227E3Torque Amplification Count
Меньше
Количество попыток скомпенсировать вращающий момент.
228E4Power-Off Retract Cycle
Меньше
Количество повторов автоматической парковки блока магнитных головок в результате выключения питания.
230E6GMR Head Amplitude Амплитуда «дрожания» (расстояние повторяющегося перемещения блока магнитных головок).
231E7Temperature
Меньше
Температура жёсткого диска.
240F0Head flying hours Время позиционирования головки.
250FARead error retry rate
Меньше
Число ошибок во время чтения жёсткого диска.



Пример вывода smartctl --all /dev/sda:

bash:
  1. server:~# smartctl --all /dev/sda
  2. smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
  3. Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
  4.  
  5. === START OF INFORMATION SECTION ===
  6. Model Family: Western Digital RE3 Serial ATA family
  7. Device Model: WDC WD5002ABYS-01B1B0
  8. Serial Number: WD-WCASY4014638
  9. Firmware Version: 02.03B02
  10. User Capacity: 500 107 862 016 bytes
  11. Device is: In smartctl database [for details use: -P show]
  12. ATA Version is: 8
  13. ATA Standard is: Exact ATA specification draft version not indicated
  14. Local Time is: Sun Apr 29 15:18:16 2012 MSK
  15. SMART support is: Available - device has SMART capability.
  16. SMART support is: Enabled
  17.  
  18. === START OF READ SMART DATA SECTION ===
  19. SMART overall-health self-assessment test result: PASSED
  20.  
  21. General SMART Values:
  22. Offline data collection status: (0x84) Offline data collection activity
  23. was suspended by an interrupting command from host.
  24. Auto Offline Data Collection: Enabled.
  25. Self-test execution status: ( 0) The previous self-test routine completed
  26. without error or no self-test has ever
  27. been run.
  28. Total time to complete Offline
  29. data collection: (9480) seconds.
  30. Offline data collection
  31. capabilities: (0x7b) SMART execute Offline immediate.
  32. Auto Offline data collection on/off support.
  33. Suspend Offline collection upon new
  34. command.
  35. Offline surface scan supported.
  36. Self-test supported.
  37. Conveyance Self-test supported.
  38. Selective Self-test supported.
  39. SMART capabilities: (0x0003) Saves SMART data before entering
  40. power-saving mode.
  41. Supports SMART auto save timer.
  42. Error logging capability: (0x01) Error logging supported.
  43. General Purpose Logging supported.
  44. Short self-test routine
  45. recommended polling time: ( 2) minutes.
  46. Extended self-test routine
  47. recommended polling time: ( 112) minutes.
  48. Conveyance self-test routine
  49. recommended polling time: ( 5) minutes.
  50. SCT capabilities: (0x303f) SCT Status supported.
  51. SCT Error Recovery Control supported.
  52. SCT Feature Control supported.
  53. SCT Data Table supported.
  54.  
  55. SMART Attributes Data Structure revision number: 16
  56. Vendor Specific SMART Attributes with Thresholds:
  57. ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
  58. 1 Raw_Read_Error_Rate 0x002f 198 198 051 Pre-fail Always - 250919
  59. 3 Spin_Up_Time 0x0027 239 238 021 Pre-fail Always - 1033
  60. 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 166
  61. 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
  62. 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
  63. 9 Power_On_Hours 0x0032 064 064 000 Old_age Always - 26914
  64. 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
  65. 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
  66. 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 164
  67. 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 157
  68. 193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 166
  69. 194 Temperature_Celsius 0x0022 114 099 000 Old_age Always - 33
  70. 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
  71. 197 Current_Pending_Sector 0x0032 183 183 000 Old_age Always - 1465
  72. 198 Offline_Uncorrectable 0x0030 199 199 000 Old_age Offline - 89
  73. 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
  74. 200 Multi_Zone_Error_Rate 0x0008 200 199 000 Old_age Offline - 94
  75.  
  76. SMART Error Log Version: 1
  77. No Errors Logged
  78.  
  79. SMART Self-test log structure revision number 1
  80. Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
  81. # 1 Extended offline Completed: read failure 60% 21177 37484977
  82. # 2 Short offline Completed: read failure 10% 21157 37484977
  83. # 3 Extended offline Aborted by host 90% 21156 -
  84.  
  85. SMART Selective self-test log data structure revision number 1
  86. SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
  87. 1 0 0 Not_testing
  88. 2 0 0 Not_testing
  89. 3 0 0 Not_testing
  90. 4 0 0 Not_testing
  91. 5 0 0 Not_testing
  92. Selective self-test flags (0x0):
  93. After scanning selected spans, do NOT read-scan remainder of disk.
  94. If Selective self-test is pending on power-up, resume after 0 minute delay.
  95.  
  96. server:~#



Атрибуты Атрибуты бывают критически важными (Pre-fail) и некритически важными (Old_age).