A descrição do meu problema é muito grande, então primeiro vou dar um breve resumo, então descreverei precisamente a situação.
Breve resumo: as ferramentas de diagnóstico do fabricante encontraram e repararam alguns erros no meu disco rígido. Tanto quanto eu entendo manual da ferramenta, esses erros foram maus blocos. No entanto, smartctl (ferramenta Linux para fazer SMART no disco rígido) não mostra nenhum setor realocado e diz que o disco rígido é bom. Primeira pergunta: como isso é possível? Reparação de blocos ruins significa realocar setores, certo? Então, por que o smartctl não reporta nenhum setor realocado? Segunda pergunta: eu comprei este disco há alguns meses e ainda tenho garantia para ele. Devo exigir que o vendedor o substitua por um novo ou esse disco é bom e eu poderia continuar usando-o?
E agora descrição precisa:
Eu tenho disco rígido Western Digital, modelo WDC WD5000AAKX-001CA0. Recentemente notei que às vezes meu computador trava por alguns segundos (algo como até um minuto). Depois disso, o dmesg mostra erros como este:
knoppix@Microknoppix:~$ dmesg
(...)
[ 504.003363] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 504.003374] ata1.00: failed command: READ DMA EXT
[ 504.003383] ata1.00: cmd 25/00:00:80:07:01/00:02:00:00:00/e0 tag 0 dma 262144 in
[ 504.003385] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 504.003389] ata1.00: status: { DRDY }
[ 509.016652] ata1: link is slow to respond, please be patient (ready=0)
[ 514.030002] ata1: soft resetting link
[ 514.200386] ata1.00: configured for UDMA/133
[ 514.200420] ata1: EH complete
[ 546.003333] ata1: lost interrupt (Status 0x50)
[ 546.003364] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 546.003371] ata1.00: failed command: READ DMA EXT
[ 546.003380] ata1.00: cmd 25/00:00:80:15:06/00:02:00:00:00/e0 tag 0 dma 262144 in
[ 546.003381] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 546.003386] ata1.00: status: { DRDY }
[ 546.003401] ata1: soft resetting link
[ 546.181205] ata1.00: configured for UDMA/133
[ 546.181234] ata1: EH complete
No entanto, smartctl diz que "resultado do teste de autoavaliação de saúde geral SMART: PASSED" (vou colar a saída completa do smartctl alguns parágrafos depois). Sempre que tentei fazer o autoteste smartctl (com smartctl -t short ou smartctl -t long), esses testes foram relatados como abortados pelo host. Então eu baixei a ferramenta de diagnóstico de CD inicializável para o meu hd - este: link
Usando essa ferramenta primeiro, fiz um teste rápido e mostrei erro (infelizmente, não lembro qual era o código de erro). Tanto quanto eu entendo esta ferramenta realiza apenas auto-teste rápido SMART (http://wdc.custhelp.com/app/answers/detail/search/1/a_id/940/c/130/p/227,295 diz "TESTE RÁPIDO - executa o autoteste rápido da unidade SMART para reunir e verificar as informações do Data Lifeguard contidas na unidade. ") Depois fiz o teste estendido. Tanto quanto eu entendo, este teste estendido procura setores defeituosos (http://wdc.custhelp.com/app/answers/detail/search/1/a_id/940/c/130/p/227,295 diz "EXTENDED TEST - executa um Full Media Scan para detectar setores defeituosos "). Depois de algum tempo, a ferramenta informou que encontrou e reparou alguns erros.
Agora eu inicializei a máquina com knoppix e fiz "smartctl --all". Aqui está sua saída:
root@Microknoppix:/home/knoppix# smartctl --all /dev/sda
smartctl 5.43 2012-06-05 r3561 [i686-linux-3.4.9] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar Blue Serial ATA
Device Model: WDC WD5000AAKX-001CA0
Serial Number: WD-WMAYUW952768
LU WWN Device Id: 5 0014ee 6ad1d9ef1
Firmware Version: 15.01H15
User Capacity: 500,107,862,016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Wed Dec 12 03:34:39 2012 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 8160) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 83) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x3037) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 486
3 Spin_Up_Time 0x0027 189 141 021 Pre-fail Always - 1525
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 587
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 098 098 000 Old_age Always - 1553
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 578
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 173
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 413
194 Temperature_Celsius 0x0022 097 093 000 Old_age Always - 46
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 200 200 000 Old_age Offline - 5
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 5
SMART Error Log Version: 1
ATA Error Count: 2
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 2 occurred at disk power-on lifetime: 1548 hours (64 days + 12 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
-- -- -- -- -- -- --
04 51 01 30 4f c2 a0 Error: ABRT
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
b0 d6 01 be 4f c2 a0 02 00:02:58.316 SMART WRITE LOG
b0 da 01 00 4f c2 a0 02 00:02:58.259 SMART RETURN STATUS
80 44 00 00 44 57 a0 02 00:02:58.259 [VENDOR SPECIFIC]
b0 d6 01 be 4f c2 a0 02 00:02:58.241 SMART WRITE LOG
80 45 00 01 44 57 a0 02 00:02:58.241 [VENDOR SPECIFIC]
Error 1 occurred at disk power-on lifetime: 1515 hours (63 days + 3 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
-- -- -- -- -- -- --
04 51 01 30 4f c2 a0 Error: ABRT
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
b0 d6 01 be 4f c2 a0 02 00:02:21.841 SMART WRITE LOG
b0 da 01 00 4f c2 a0 02 00:02:21.784 SMART RETURN STATUS
80 44 00 00 44 57 a0 02 00:02:21.784 [VENDOR SPECIFIC]
b0 d6 01 be 4f c2 a0 02 00:02:21.768 SMART WRITE LOG
80 45 00 01 44 57 a0 02 00:02:21.768 [VENDOR SPECIFIC]
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Conveyance offline Completed without error 00% 1552 -
# 2 Conveyance offline Completed: read failure 90% 1548 787927349
# 3 Conveyance offline Completed: read failure 90% 1515 883391611
# 4 Short offline Completed without error 00% 1503 -
# 5 Short offline Completed without error 00% 1503 -
# 6 Short offline Aborted by host 80% 1502 -
# 7 Extended offline Completed without error 00% 9 -
# 8 Short offline Completed without error 00% 6 -
# 9 Short offline Aborted by host 90% 6 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Como você pode ver, por um lado, um transporte off-line foi concluído com falha de leitura. Mas, por outro lado, todos os atributos parecem bons - por exemplo, Reallocated_Sector_Ct é 0.
Eu também tentei mais uma vez catar todo o disco para / dev / null - e novamente eu tenho erros no dmesg:
root@Microknoppix:/home/knoppix# nice -n 20 ionice -c 3 cat /dev/sda > /dev/null
During this cat dmesg shows such errors:
knoppix@Microknoppix:~$ dmesg
(...)
[ 504.003363] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 504.003374] ata1.00: failed command: READ DMA EXT
[ 504.003383] ata1.00: cmd 25/00:00:80:07:01/00:02:00:00:00/e0 tag 0 dma 262144 in
[ 504.003385] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 504.003389] ata1.00: status: { DRDY }
[ 509.016652] ata1: link is slow to respond, please be patient (ready=0)
[ 514.030002] ata1: soft resetting link
[ 514.200386] ata1.00: configured for UDMA/133
[ 514.200420] ata1: EH complete
[ 546.003333] ata1: lost interrupt (Status 0x50)
[ 546.003364] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 546.003371] ata1.00: failed command: READ DMA EXT
[ 546.003380] ata1.00: cmd 25/00:00:80:15:06/00:02:00:00:00/e0 tag 0 dma 262144 in
[ 546.003381] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 546.003386] ata1.00: status: { DRDY }
[ 546.003401] ata1: soft resetting link
[ 546.181205] ata1.00: configured for UDMA/133
[ 546.181234] ata1: EH complete
Eu pensei que pode ser culpa da placa-mãe ou cabo de dados que conecta o disco para a placa-mãe. Então eu conectei outro disco à minha placa-mãe usando o mesmo cabo e slot e coloquei em / dev / null. Ele sucedeu sem dmesg mostrando quaisquer erros.