
Há alguns dias, meu Seagate Momentus 7200.4 tem falhado cada vez mais, possivelmente por causa de uma queda de energia. Depois do "AVISO: Seu disco rígido está falhando" (estou usando o fedora), o principal sintoma foi a lentidão: espera constante de 100% da CPU por horas, quase impossível de fazer qualquer coisa. Fiz um backup, reiniciei e tive que fazer um e2fsck -y (muita saída), que tive que repetir depois (nem inicializei em algum momento, kernel panic), fiz alguns testes de smartctl longos e resumindo, deixei-o sozinho por uma noite para corrigir seu setor ou algo assim.
Agora o número de erros acumulados parece menor e o computador está praticamente utilizável, mas o que devo fazer: existe algum comando fsck com efeitos melhores, ou alguma outra maneira de fazê-lo pular os setores defeituosos e continuar funcionando, além de consertar os setores um por um com hdparm? Ou a unidade certamente será destruída?
Trechos de smartctl -x /dev/sda :
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-- 085 074 006 - 243348742
5 Reallocated_Sector_Ct PO--CK 100 100 036 - 0
7 Seek_Error_Rate POSR-- 084 060 030 - 238612361
9 Power_On_Hours -O--CK 087 087 000 - 11535
198 Offline_Uncorrectable ----C- 100 100 000 - 8
199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
240 Head_Flying_Hours ------ 100 253 000 - 132680129719553
241 Total_LBAs_Written ------ 100 253 000 - 2525013242
242 Total_LBAs_Read ------ 100 253 000 - 2162196433
Error 3759 [18] occurred at disk power-on lifetime: 11535 hours (480 days + 15 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER -- ST COUNT LBA_48 LH LM LL DV DC
-- -- -- == -- == == == -- -- -- -- --
40 -- 51 00 00 00 22 7e 00 3d 2a 00 00 Error: UNC at LBA = 0x227e003d2a = 148142832938
Commands leading to the command that caused the error were:
CR FEATR COUNT LBA_48 LH LM LL DV DC Powered_Up_Time Command/Feature_Name
-- == -- == -- == == == -- -- -- -- -- --------------- --------------------
60 00 00 00 08 00 22 7e 00 3d 28 40 00 18:38:24.892 READ FPDMA QUEUED
27 00 00 00 00 00 00 00 00 00 00 e0 00 18:38:24.891 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 00 00 00 00 00 a0 00 18:38:24.889 IDENTIFY DEVICE
ef 00 03 00 46 00 00 00 00 00 00 a0 00 18:38:24.889 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 00 00 00 00 00 e0 00 18:38:24.889 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
SMART Extended Self-test Log Version: 1 (1 sectors)
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 11528 574443398
Mais: http://p.defau.lt/?DTSGCmr7mb_anDD3IQ9Bgg http://p.defau.lt/?hNM7_BusGyz4DYLi9XX0Kg http://p.defau.lt/?wQArANAXPLnpyD87xUY6CA http://p.defau.lt/?hXbtLh27yFZhySu0y9axJw
Atualizar: como você disse que o disco já deve ser descartado, eu fiz dmesg | grep -oE "setor.+$" | sort -u e eu sudo hdparm --write-sector --yes-i-sei-o-que-estou-fazendo 'uma dúzia de setores. Agora executando outro teste, vamos ver o que sai dele.
Atualização 2:Tive que consertar mais alguns setores defeituosos com hdparm manualmentemas, uma noite depois, todos os erros que encontro no log do sistema parecem ter sido corrigidos automaticamente com êxito, como deveriam normalmente. Enquanto isso, encontrei alguns erros engraçados, como som distorcido à la techno music e grep enlouquecendo, mas uma atualização do yum pode ter sido suficiente para repará-los. O último smartctl -a /dev/sda foi concluído sem erros; Agora tenho "Contagem de erros ATA: 5004", 2 para 197 Current_Pending_Sector e 198 Offline_Uncorrectable.
Atualização 3: o sistema está praticamente utilizável, mas os problemas persistem: "ATA Error Count: 9484". Às vezes tenho que usar o truque do hdparm, mas acho que não está funcionando corretamente porque o problema aparece posteriormente no setor seguinte. Offline_Uncorrectable não está crescendo, então suspeito que o disco não esteja conseguindo desativar setores defeituosos. Acho que vou ter que desistir e comprar um novo...
Responder1
Esperançosamente, todos os seus dados foram salvos em backup.
Caso contrário, obtenha um novo disco o mais rápido possível, pelo menos tão grande quanto o antigo e inicie um backup local.
Na minha experiência, é muito mais fácil substituir o disco mais cedo ou mais tarde.
No entanto, se você tiver dinheiro, talvez queira investir em uma cópia doSpinrite. Faça isso funcionar no disco - pode levar dias ou até semanas em casos extremos. Nem sempre é possível recuperar o disco, mas o faz com uma frequência surpreendente. Na verdade, ele regularmente trará os discos de volta ao limite. Já o fiz ressuscitar alguns laptops. Num caso, recuperou o disco a um ponto em que ainda está em uso 12 meses depois. No outro caso, recuperou a maior parte dos dados, o suficiente para poder fazer uma reconstrução mais tranquila. Custa cerca de US$ 90, mas não é barato. Se os erros foram causados por uma queda de energia da sua máquina, o Spinrite provavelmente consertará as coisas sem problemas. Caso contrário, ele mostrará como as coisas estão ruins e poderá lhe dar tempo suficiente para copiar para outro disco.
A propósito, setores defeituosos devem ser marcados automaticamente pelo firmware no disco, você não deveria mexer com eles. Curiosamente, o exercício pelo qual o Spinrite realiza um disco muitas vezes redefinirá setores defeituosos, pois eles podem ter sido marcados devido ao movimento inconsistente da cabeça, e não à falha do disco.
A propósito, como vários pesquisadores descobriram, os avisos SMART são bastante inúteis, pois não são um bom preditor de falha no disco. O Google fez um grande estudo sobre o assunto.