S.M.A.R.T: проверка HDD — описание атрибутов, значение атрибутов, утилиты, параметры

Thank you for reading this post, don't forget to subscribe!

S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — тех­но­ло­гия само­кон­тро­ля, ана­ли­за и отчёт­но­сти) — тех­но­ло­гия оцен­ки состо­я­ния жёст­ко­го дис­ка встро­ен­ной аппа­ра­ту­рой само­ди­а­гно­сти­ки, а так­же меха­низм пред­ска­за­ния вре­ме­ни выхо­да его из строя.

smartctl — ути­ли­та для чте­ния инфор­ма­ции SMART;

smartd — демон SMART, посто­ян­но рабо­та­ю­щий в систе­ме (UNIX-систе­мы) и отсле­жи­ва­ю­щий изме­не­ния пара­мет­ров, уме­ет отправ­лять пись­мо в слу­чае про­блем. Про её уста­нов­ку и настрой­ку — в дру­гой статье.

Узнать все возможности:

smartctl -h | less

 

Если систе­ма сооб­ща­ет, что:

SMART Disabled. Use option -s with argument ‘on’ to enable it.

зна­чит SMART на этом устрой­стве отклю­чен. Что бы акти­ви­ро­вать его — выполните:

smartctl -s on /dev/sda

 

А если надо наобо­рот выклю­чить SMART — укажите:

smartctl -s off /dev/sda

 

Полу­чить все дис­ки в систе­ме мож­но с помо­щью lsblk:

lsblk
NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                8:0    0 223.6G  0 disk
|-sda1             8:1    0   499M  0 part
|-sda2             8:2    0   100M  0 part
|-sda3             8:3    0    16M  0 part
`-sda4             8:4    0   223G  0 part
sdb                8:16   0 931.5G  0 disk
|-sdb1             8:17   0   512M  0 part /boot/EFI
|-sdb2             8:18   0     1G  0 part /boot
|-sdb3             8:19   0    32G  0 part [SWAP]
`-sdb4             8:20   0   898G  0 part
|-vg_arch-root 254:0    0   100G  0 lvm /
`-vg_arch-home 254:1    0   798G  0 lvm  /run/timeshift/backup
sdc                8:32   0 931.5G  0 disk
`-sdc1             8:33   0 931.5G  0 part /backups

 

smartctl self-test

Ути­ли­та smartctl уме­ет про­во­дить соб­ствен­ное тести­ро­ва­ние дис­ка, для полу­че­ния более точ­ных дан­ных. Тесты быва­ют 3-х видов:

  • Short
  • Extended (Long)
  • Conveyance

Что бы узнать, сколь­ко вре­ме­ни зай­мёт каж­дый из них — исполь­зуй­те -c и путь к диску:

smartctl -c /dev/sda
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  78) minutes.
Conveyance self-test routine
recommended polling time:        (   5) minutes.

 

Что бы запу­стить про­вер­ку опре­де­лён­но­го типа — исполь­зу­ем -t и имя теста (или --test=имятеста):

smartctl -t short /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.5.11-arch1-1] (local build)
Copyright © 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon Mar 30 21:18:01 2020 EEST
Use smartctl -X to abort test.

 

Please wait 2 minutes for test to complete — через две мину­ты мож­но посмот­реть лог выпол­не­ния теста командой:

smartctl -l selftest /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-29-generic] (local build)
Copyright © 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
1  Short offline       Completed without error       00%         0 ---

 

Что бы оста­но­вить выпол­не­ние про­вер­ки — выполняем:

smartctl -X

 

Модель диска

Узнать модель жест­ко­го дис­ка и дру­гую инфор­ма­цию о нём:

smartctl -i /dev/sda
smartctl 5.43 2012-06-30 r3573 [i686-linux-3.5.3-pmagic] (local build)
Copyright © 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.12
Device Model: ST3750528AS
Serial Number: 6VP9QAXZ
LU WWN Device Id: 5 000c50 030b008b0
Firmware Version: CC44
User Capacity: 750,156,374,016 bytes [750 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Tue Feb 12 08:41:30 2013 UTC
SMART support is: Available --- device has SMART capability.
SMART support is: Enabled

 

Здоровье диска

Быст­ро полу­чить общую инфор­ма­цию о здо­ро­вье дис­ка мож­но с клю­чём -H:

smartctl -H /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-29-generic] (local build)
Copyright © 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

 

Очень полез­ный ключ -x, кото­рый выво­дит всю име­ю­щу­ю­ся инфор­ма­цию, в том чис­ле — о воз­мож­ных проблемах:

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
IDATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR--- 117 099 006 --- 151585789
3 Spin_Up_Time PO---- 098 095 000 --- 0
4 Start_Stop_Count -O---CK 100 100 020 --- 994
5 Reallocated_Sector_Ct PO---CK 100 100 036 --- 0
7 Seek_Error_Rate POSR--- 086 060 030 --- 427014129
9 Power_On_Hours -O---CK 089 089 000 --- 10425
10 Spin_Retry_Count PO---C- 100 100 097 --- 0
12 Power_Cycle_Count -O---CK 100 100 020 --- 994
183 Runtime_Bad_Block -O---CK 100 100 000 --- 0
184 End-to-End_Error -O---CK 100 100 099 --- 0
187 Reported_Uncorrect -O---CK 098 098 000 --- 2
188 Command_Timeout -O---CK 100 097 000 --- 12885098553
189 High_Fly_Writes -O-RCK 100 100 000 --- 0
190 Airflow_Temperature_Cel -O---K 067 057 045 --- 33 (Min/Max 22/33)
194 Temperature_Celsius -O---K 033 043 000 --- 33 (0 12 0 0 0)
195 Hardware_ECC_Recovered -O-RC- 041 029 000 --- 151585789
197 Current_Pending_Sector -O---C- 100 100 000 --- 0
198 Offline_Uncorrectable ----C- 100 100 000 --- 0
199 UDMA_CRC_Error_Count -OSRCK 200 200 000 --- 0
240 Head_Flying_Hours ------ 100 253 000 --- 192212671410811
241 Total_LBAs_Written ------ 100 253 000 --- 243267056
242 Total_LBAs_Read ------ 100 253 000 --- 1655697341
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning

 

Так же, полез­но исполь­зо­вать ключ -a, кото­рый выво­дит всю име­ю­щу­ю­ся в SMART-кон­трол­ле­ре инфор­ма­цию, сре­ди про­че­го в ней име­ют­ся такие дан­ные, кото­рые помо­гут опре­де­лить состо­я­ние диска:

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
IDATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 117 099 006 Pre-fail Always --- 151585789
3 Spin_Up_Time 0x0003 098 095 000 Pre-fail Always --- 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always --- 994
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always --- 0
7 Seek_Error_Rate 0x000f 086 060 030 Pre-fail Always --- 427014129
9 Power_On_Hours 0x0032 089 089 000 Old_age Always --- 10425
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always --- 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always --- 994
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always --- 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always --- 0
187 Reported_Uncorrect 0x0032 098 098 000 Old_age Always --- 2
188 Command_Timeout 0x0032 100 097 000 Old_age Always --- 12885098553
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always --- 0
190 Airflow_Temperature_Cel 0x0022 067 057 045 Old_age Always --- 33 (Min/Max 22/33)
194 Temperature_Celsius 0x0022 033 043 000 Old_age Always --- 33 (0 12 0 0 0)
195 Hardware_ECC_Recovered 0x001a 041 029 000 Old_age Always --- 151585789
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always --- 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline --- 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always --- 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline --- 118962004177531
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline --- 243267056
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline --- 1655697341

 

Так же, име­ет­ся инфор­ма­ция об ошиб­ках на ста­ром дис­ке, с кото­ро­го взя­ты при­ме­ры (кста­ти, он вско­ре умер):

ATA Error Count: 2
Error 2 occurred at disk power-on lifetime: 9578 hours (399 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
--- --- --- --- --- --- ---
40 51 00 da e4 3a 07 Error: UNC at LBA = 0x073ae4da = 121300186
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
--- --- --- --- --- --- --- --- ---------------- ---------------------
25 00 08 d8 e4 3a e7 00 00:00:42.136 READ DMA EXT
25 00 08 d8 e4 3a e7 00 00:00:39.524 READ DMA EXT
25 00 08 d0 f9 0a e0 00 00:00:39.511 READ DMA EXT
25 00 08 a8 d5 60 e0 00 00:00:39.511 READ DMA EXT
25 00 08 c0 17 92 e0 00 00:00:39.505 READ DMA EXT
Error 1 occurred at disk power-on lifetime: 9578 hours (399 days + 2 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
--- --- --- --- --- --- ---
40 51 00 da e4 3a 07 Error: UNC at LBA = 0x073ae4da = 121300186
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
--- --- --- --- --- --- --- --- ---------------- ---------------------
25 00 08 d8 e4 3a e7 00 00:00:39.524 READ DMA EXT
25 00 08 d0 f9 0a e0 00 00:00:39.511 READ DMA EXT
25 00 08 a8 d5 60 e0 00 00:00:39.511 READ DMA EXT
25 00 08 c0 17 92 e0 00 00:00:39.505 READ DMA EXT
25 00 08 a0 d5 60 e0 00 00:00:39.505 READ DMA EXT

 

Нали­цо про­бле­мы с LBA:

LBA (англ. Logical block addressing) — меха­низм адре­са­ции и досту­па к бло­ку дан­ных на жёст­ком дис­ке, при кото­ром систем­но­му кон­трол­ле­ру нет необ­хо­ди­мо­сти учи­ты­вать гео­мет­рию само­го жест­ко­го дис­ка (коли­че­ство цилин­дров, сто­рон, сек­то­ров на цилин­дре). Кон­трол­ле­ры совре­мен­ных IDE-дис­ков в каче­стве основ­но­го режи­ма транс­ля­ции адре­са исполь­зу­ют LBA.

Далее этот диск пошёл под тести­ро­ва­ние Victoria — но это уже тема дру­гой ста­тьи, хотя лог Victoria може­те оце­нить тут>>> (UPD март 2020: оно того сто­ит ? ).

Вер­нём­ся к SMART.

Интерпретация результатов тестов

Резуль­та­ты SMART пред­став­ле­ны в виде атри­бу­тов (пер­вая часть таб­ли­цы SMART Attributes Data Structure) и их зна­че­ний — колон­ки VALUE, WORST, THRESH, TYPE и других.

Послед­ние две колон­ки — WHEN_FAILED и RAW_VALUE обо­зна­ча­ют «Когда вый­дет из строя» и «Теку­щее зна­че­ние«.

Наи­бо­лее важ­ным для нас явля­ют­ся колон­ки «VALUE» («Normalized Value»), «RAW» («Raw Value»)  и «THRESH» («Threshold»).

Если зна­че­ние атри­бу­та Normalized Value мень­ше или рав­но зна­че­ния Threshold — то у дис­ка уже есть или ско­ро будут боль­шие про­бле­мы в рабо­те и исполь­зо­вать его неже­ла­тель­но. Мак­си­маль­ное зна­че­ние (от 1 до 100) атри­бу­та озна­ча­ет мак­си­маль­ную ста­биль­ность. Чем зна­че­ние ниже, тем быст­рее теку­щий пара­метр деградирует.

Аттрибуты SMART

Threshold — зна­че­ние, кото­ро­го дол­жен достиг­нуть Normalized Value это­го же атри­бу­та, что­бы состо­я­ние атри­бу­та было при­зна­но кри­ти­че­ским. Про­ще гово­ря, Threshold — это порог: если Normalized Value боль­ше Threshold — атри­бут в поряд­ке; если мень­ше либо равен — с атри­бу­том про­бле­мы. Имен­но по тако­му кри­те­рию ути­ли­ты, чита­ю­щие SMART, выда­ют отчёт о состо­я­нии дис­ка либо отдель­но­го атри­бу­та вро­де «Good» или «Bad». При этом они не учи­ты­ва­ют, что даже при Normalized Value, боль­шем Threshold, диск на самом деле уже может быть уми­ра­ю­щим с точ­ки зре­ния поль­зо­ва­те­ля, а то и вовсе ходя­чим мерт­ве­цом, поэто­му при оцен­ке здо­ро­вья дис­ка смот­реть сто­ит всё-таки на дру­гой класс атри­бу­та, а имен­но — RAW. Одна­ко имен­но зна­че­ние Value, опу­стив­ше­е­ся ниже Threshold, может стать леги­тим­ным пово­дом для заме­ны дис­ка по гаран­тии. Т. е. при зна­че­нии Normalized Value, боль­шем Threshold, сам диск счи­та­ет, что атри­бут здо­ров, а при мень­шем либо рав­ном — что болен.  Threshold — посто­ян­ный пара­метр, заши­тый про­из­во­ди­те­лем в диске.

Каж­дый про­из­во­ди­тель исполь­зу­ет соб­ствен­ные алго­рит­мы для вычис­ле­ния пара­мет­ра Normalized Value исхо­дя из зна­че­ния Raw Value.

Это отно­сит­ся и к дру­гим атри­бу­там. К при­ме­ру, про­из­во­ди­тель Hitachi выво­дит инфор­ма­цию атри­бу­та Power-on hours в мину­тах, а не часах.

Пара­метр «WORST» — наи­мень­шее (наи­бо­лее близ­кое к пока­за­те­лю выхо­да из строя) зна­че­ние. Мож­но исполь­зо­вать про­сто для ознакомления.

Колон­ка «TYPE» содер­жит, как пра­ви­ло, два пара­мет­ра — Pre-fail или Old-age. Ни тот, ни дру­гой не озна­ча­ют что диск ско­ро «умрёт. Когда пара­мет­ры дей­стви­тель­но опас­ны — зна­че­ние колон­ки «WHEN_FAILED» изме­нит­ся на «FAILING_NOW».

Если зна­че­ние «WHEN_FAILED» тире (‘-‘) это озна­ча­ет что с дан­ным атри­бу­том всё в порядке.

Пара­метр Raw Value — это теку­щее зна­че­ние атри­бу­та. Напри­мер, зна­че­ние Raw Value 365 для Power-cycled зна­чит, что диск вклю­чал­ся каж­дый день в тече­нии послед­не­го года. Вооб­ще — это самый инте­рес­ный, важ­ный и нуж­ный для оцен­ки пока­за­тель. В боль­шин­стве слу­ча­ев он содер­жит в себе реаль­ные зна­че­ния, выра­жа­е­мые в раз­лич­ных еди­ни­цах изме­ре­ния, напря­мую гово­ря­щие о теку­щем состо­я­нии дис­ка. Осно­вы­ва­ясь имен­но на этом пока­за­те­ле, фор­ми­ру­ет­ся зна­че­ние Normalized Value. Имен­но уме­ние читать и ана­ли­зи­ро­вать поле Raw Value даёт воз­мож­ность объ­ек­тив­но оце­нить состо­я­ние винчестера.

Зна­че­ния атрибутов:

При­ме­ча­ние: БМГ — блок маг­нит­ных голо­вок, кото­рые про­из­во­дят непо­сред­ствен­но чте­ние инфор­ма­ции с поверх­но­сти «бли­нов» жест­ко­го диска.

Raw Read Error Rate — часто­та появ­ле­ния оши­бок при чте­нии дан­ных с дис­ка. Дан­ный пара­метр пока­зы­ва­ет часто­ту появ­ле­ния оши­бок при опе­ра­ци­ях чте­ния с поверх­но­сти дис­ка по вине аппа­рат­ной части накопителя;

Spin Up Time — вре­мя рас­крут­ки шпин­де­ля. Сред­нее вре­мя рас­крут­ки шпин­де­ля дис­ка от 0 до рабо­чей ско­ро­сти (как пра­ви­ло — 7200 об/мин, RPM — Revolution Per Minute). Пред­по­ло­жи­тель­но, в поле Raw Value содер­жит­ся вре­мя в миллисекундах/секундах;

Reallocated Sector Count — коли­че­ство пере­на­зна­чен­ных сек­то­ров. Когда жест­кий диск встре­ча­ет ошиб­ку чтения/записи/верификации — он пыта­ет­ся пере­ме­стить дан­ные из него в спе­ци­аль­ную резерв­ную область (Spare Area) и, в слу­чае успе­ха, поме­ча­ет сек­тор как «пере­на­зна­чен­ный». Так­же, этот про­цесс назы­ва­ют Remapping, а пере­на­зна­чен­ный сек­тор — Remap. Бла­го­да­ря этой воз­мож­но­сти, на совре­мен­ных жест­ких дис­ках очень ред­ко вид­ны (при тести­ро­ва­нии поверх­но­сти) так назы­ва­е­мые Bad Block. Одна­ко, при боль­шом коли­че­стве Remaps, на гра­фи­ке чте­ния с поверх­но­сти будут замет­ны «про­ва­лы» — рез­кое паде­ние ско­ро­сти чте­ния (до 10% и более). Поле Raw Value содер­жит общее коли­че­ство пере­на­зна­чен­ных секторов;

Throughput Performance — сред­няя про­из­во­ди­тель­ность (про­пуск­ная спо­соб­ность) дис­ка. Умень­ше­ние зна­че­ния Normalized Value это­го атри­бу­та с боль­шой веро­ят­но­стью ука­зы­ва­ет на про­бле­мы в накопителе;

Start/Stop Count — коли­че­ство цик­лов запуск/останов шпин­де­ля. Поле Raw Value хра­нит общее коли­че­ство включений/выключений диска;

Read Channel Margin — запас кана­ла чте­ния. Назна­че­ние это­го атри­бу­та не доку­мен­ти­ро­ва­но и в совре­мен­ных нако­пи­те­лях не используется;

Seek Error Rate — часто­та появ­ле­ния оши­бок пози­ци­о­ни­ро­ва­ния БМГ. В слу­чае сбоя в меха­ни­че­ской систе­ме пози­ци­о­ни­ро­ва­ния, повре­жде­ния сер­во­ме­ток (Servo), силь­но­го тер­ми­че­ско­го рас­ши­ре­ния дис­ков и т.п. воз­ни­ка­ют ошиб­ки пози­ци­о­ни­ро­ва­ния. Чем их боль­ше — тем хуже меха­ни­ка и/или поверх­но­сти жест­ко­го диска;

Seek Time Performance — сред­няя про­из­во­ди­тель­ность опе­ра­ций пози­ци­о­ни­ро­ва­ния БМГ. Дан­ный пара­метр пока­зы­ва­ет сред­нюю ско­рость пози­ци­о­ни­ро­ва­ния при­во­да БМГ на ука­зан­ный сек­тор. Сни­же­ние зна­че­ния это­го атри­бу­та гово­рит о непо­лад­ках в меха­ни­ке привода;

Power-On Hours — коли­че­ство отра­бо­тан­ных часов во вклю­чен­ном состо­я­нии. Поле Raw Value это­го атри­бу­та пока­зы­ва­ет коли­че­ство часов (минут, секунд — в зави­си­мо­сти от про­из­во­ди­те­ля), отра­бо­тан­ных жест­ким дис­ком. Сни­же­ние зна­че­ния (Normalized Value) атри­бу­та до кри­ти­че­ско­го уров­ня (Threshold) ука­зы­ва­ет на выра­бот­ку дис­ком ресур­са (MTBF — Mean Time Between Failures). На прак­ти­ке, даже паде­ние это­го атри­бу­та до нуле­во­го зна­че­ния не все­гда ука­зы­ва­ет на реаль­ное исчер­пы­ва­ние ресур­са и нако­пи­тель может про­дол­жать нор­маль­но функционировать;

Spin Retry Count — коли­че­ство повто­ров попы­ток стар­та шпин­де­ля дис­ка. Дан­ный атри­бут фик­си­ру­ет общее коли­че­ство попы­ток рас­крут­ки шпин­де­ля и его выхо­да на рабо­чую ско­рость, при усло­вии, что пер­вая попыт­ка была неудач­ной. Сни­же­ние зна­че­ния это­го атри­бу­та гово­рит о непо­лад­ках в меха­ни­ке привода;

Recalibration Retries — коли­че­ство повто­ров попы­ток река­либ­ров­ки нако­пи­те­ля. Дан­ный атри­бут фик­си­ру­ет общее коли­че­ство попы­ток сбро­са состо­я­ния нако­пи­те­ля и уста­нов­ки голо­вок на нуле­вую дорож­ку, при усло­вии, что пер­вая попыт­ка была неудач­ной. Сни­же­ние зна­че­ния это­го атри­бу­та гово­рит о непо­лад­ках в меха­ни­ке привода;

Device Power Cycle Count — коли­че­ство пол­ных цик­лов запуска/остановки жест­ко­го диска;

Soft Read Error Rate — часто­та появ­ле­ния «про­грамм­ных» оши­бок при чте­нии дан­ных с дис­ка. Дан­ный пара­метр пока­зы­ва­ет часто­ту появ­ле­ния оши­бок при опе­ра­ци­ях чте­ния с поверх­но­сти дис­ка по вине про­грамм­но­го обес­пе­че­ния, а не аппа­рат­ной части накопителя;

End-to-End error — дан­ный атри­бут-часть тех­но­ло­гии HP SMART IV, это озна­ча­ет, что после пере­да­чи через кэш памя­ти буфе­ра дан­ных пари­тет дан­ных меж­ду хостом и жест­ким дис­ком не совпадают;

Reported UNC Errors — ошиб­ки, кото­рые не мог­ли быть вос­ста­нов­ле­ны, исполь­зуя мето­ды устра­не­ния ошиб­ки аппа­рат­ны­ми средствами;

Load/Unload cycle count — коли­че­ство цик­лов выво­да БМГ в спе­ци­аль­ную пар­ко­воч­ную зону/в рабо­чее поло­же­ние. Подроб­нее — см. опи­са­ние тех­но­ло­гии Head Load/Unload Technology тут>>>;

Drive Temperature — тем­пе­ра­ту­ра. Дан­ный пара­метр отра­жа­ет в поле Raw Value пока­за­ние встро­ен­но­го тем­пе­ра­тур­но­го сен­со­ра в гра­ду­сах Цельсия;

Reallocation Event Count — коли­че­ство опе­ра­ций пере­на­зна­че­ния (Remapping). Поле 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 (и ниже зна­че­ние Normalized 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-голо­вок (GMR-Head) в рабо­чем состоянии.

ВАЖНО: для всех атри­бу­тов луч­ше мень­шее (или умень­ша­ю­ще­е­ся) зна­че­ние, что мож­но опре­де­лить пери­о­ди­че­ски про­во­дя про­вер­ки. Исклю­че­ние — сле­ду­ю­щие атрибуты:

Throughput Performance — общая про­из­во­ди­тель­ность дис­ка. Если зна­че­ние атри­бу­та умень­ша­ет­ся, то вели­ка веро­ят­ность, что с дис­ком есть проблемы.

и:

Seek Time Performance — сред­няя про­из­во­ди­тель­ность опе­ра­ции пози­ци­о­ни­ро­ва­ния маг­нит­ны­ми голов­ка­ми. Если зна­че­ние атри­бу­та умень­ша­ет­ся (замед­ле­ние пози­ци­о­ни­ро­ва­ния), то вели­ка веро­ят­ность про­блем с меха­ни­че­ской частью при­во­да головок.

Критичные атрибуты

Кри­тич­ные атри­бу­ты, на кото­рые необ­хо­ди­мо обра­щать осо­бое внимание:

* Raw Read Error Rate
* Spin Up Time
* Spin Up Retry Count
* Seek Error Rate
* Reallocated Sector Coun

Для срав­не­ния с резуль­та­та­ми SMART, при­ве­дён­ны­ми в ста­тье выше — резуль­тат с дис­ка, кото­рый был толь­ко что распечатан:

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
IDATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate     0x002f   100   253   051    Pre-fail  Always       ---       0
3 Spin_Up_Time            0x0027   100   253   021    Pre-fail  Always       ---       0
4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       ---       1
5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       ---       0
7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       ---       0
9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       ---       0
10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       ---       0
11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       ---       0
12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       ---       1
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       ---       1
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       ---       3
194 Temperature_Celsius     0x0022   118   116   000    Old_age   Always       ---       25
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       ---       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       ---       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      ---       0
199 UDMA_CRC_Error_Count    0x0032   200   253   000    Old_age   Always       ---       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      ---       0
SMART Error Log Version: 1
No Errors Logged

 

Про­вер­ка дис­ка на bad-blocks с dd 

И пара полез­ных при­ме­ров рабо­ты ути­ли­ты dd.

Быст­рый спо­соб про­ве­рить HDD на нали­чие bad-blocks («битых» блоков):

dd if=/dev/sda of=/dev/null bs=512

 

Ино­гда тре­бу­ет­ся уда­лить все дан­ные с дис­ка, для это­го — «забьём» диск нуля­ми — напри­мер, во вре­мя выпол­не­ния тестов на нём, или — что бы скрыть информацию:

dd if=/dev/zero of=/dev/sda