Por que meu disco rígido USB externo às vezes é completamente inacessível?

11

Eu tenho um disco rígido USB externo, consistindo em uma unidade SATA de 1 TB em um gabinete externo Rosewill RX35-AT-SU SLV alumínio 3,5 "prateado USB 2.0 prateado , conectado ao meu laptop SONY VAIO VGN-NS310F . Ele é conectado diretamente ao computador (não através de um hub). A unidade dentro do gabinete é uma Western Digital de 7200 rpm, mas não me lembro do modelo exato. Posso remover a unidade do gabinete (novamente), se as pessoas acharem necessário conhecer esses detalhes .

A unidade está formatada ext4. Eu o montei dinamicamente udisksno meu sistema Lubuntu 11.10, geralmente automaticamente via PCManFM. (Eu tive o Lubuntu 12.04 nesta máquina e também tive esse mesmo comportamento.) De vez em quando - uma ou duas vezes por dia - fica inacessível e difícil de desmontar. Tentar desmontá-lo sudo umount ...dá uma mensagem de erro informando que a unidade está em uso, sugerindo fusere lsofdescobrindo o que está sendo usado. Os processos de morte encontrados usando o drive fusere lsofàs vezes são suficientes para me permitir desmontá-lo, mas geralmente não o são.

Quando a unidade é desmontada ou a máquina é reinicializada, a unidade não será montada. Conectar a unidade e ligá-la não registra nada no computador. dmesgpermanece inalterado. A luz de acesso da unidade geralmente pisca vigorosamente, como se a unidade estivesse sendo acessada constantemente. Finalmente, depois de manter a unidade por um tempo (meia hora), consigo montá-la novamente.

Enquanto a unidade não funcionar nesta máquina por um tempo, ela funcionará imediatamente em outra máquina executando a mesma versão do Ubuntu. Às vezes, trazê-lo de volta da outra máquina parece "consertá-lo". Às vezes não.

A unidade nem sempre deixa de ser acessível enquanto montada , antes de se tornar desmontável. Às vezes, funciona bem, desligo o computador, ligo novamente o computador e não consigo montar a unidade.

Atualmente, esta é a única unidade com a qual tenho esse problema, mas tive problemas que considero iguais, com unidades diferentes, em máquinas Ubuntu diferentes. Este laptop tem outra unidade USB externa conectada regularmente, o que não tem esse problema. Desconectar a unidade antes de conectar a unidade "problem" não resolve o problema.

Abri a unidade e verifiquei se as conexões estavam firmes no passado, e isso não pareceu ajudar (mais do que esperar o mesmo tempo necessário para abrir e fechar a unidade, antes de tentar remontar isto).

Alguém tem alguma idéia sobre o que poderia estar causando isso, quais etapas da solução de problemas eu devo executar e / ou como eu poderia resolver esse problema completamente?

Atualização: tentei substituir o cabo de dados USB (do gabinete ao laptop), como sugeriu Merlin . Eu deveria ter tentado isso há muito tempo, já que se encaixa perfeitamente nos sintomas (a unidade funciona em outra máquina, o que faria sentido porque o cabo seria dobrado em um ângulo diferente, possivelmente completando um circuito de fios desgastados). Infelizmente, porém, isso não ajudou - eu tenho o mesmo problema com o novo cabo. Tentarei fornecer informações detalhadas adicionais sobre a unidade dentro do gabinete, da próxima vez que conseguir fazer com que a unidade funcione. (No momento, não tenho outra máquina disponível para conectá-la.)

Atualização importante (28 de junho de 2012)

A unidade parece ter se deteriorado consideravelmente. Acho que sim, porque o anexei a outra máquina e recebi muitos erros sobre caracteres inválidos ao copiar arquivos dela. Estou menos interessado em recuperar dados da unidade do que em descobrir o que há de errado com ela. Quero especificamente descobrir se o problema é a unidade ou o gabinete.

Agora, quando conecto a unidade na máquina original em que estava tendo problemas, ela ainda não aparece (inclusive com sudo fdisk -l), mas é reconhecida pelo kernel e as mensagens são adicionadas dmesg. A maior parte da mensagem consiste em erros como esse, repetidos várias vezes:

[    7.707593] sd 5:0:0:0: [sdc] Unhandled sense code
[    7.707599] sd 5:0:0:0: [sdc]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[    7.707606] sd 5:0:0:0: [sdc]  Sense Key : Medium Error [current] 
[    7.707614] sd 5:0:0:0: [sdc]  Add. Sense: Unrecovered read error
[    7.707621] sd 5:0:0:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 08 00
[    7.707636] end_request: critical target error, dev sdc, sector 0
[    7.707641] Buffer I/O error on device sdc, logical block 0

Aqui estão todas as linhas desde dmesgo momento em que a unidade é reconhecida. Observe que:

  • Voltei a executar o Lubuntu 12.04 nesta máquina (e talvez isso seja um fator em melhores mensagens de erro).
  • Agora que a unidade foi conectada a outra máquina e de volta a esta, e também agora que esta máquina voltou à execução 12.04, a luz de acesso da unidade não pisca como eu havia descrito. Olhando para a unidade, parece que está funcionando normalmente, com pouco ou nenhum acesso.
  • Esse comportamento (os erros) ocorre ao reiniciar a máquina com a unidade conectada e também ao conectar manualmente a unidade.
  • Algumas das mensagens são sobre /dev/sdb. Essa unidade está funcionando bem. O disco ruim é /dev/sdc. Eu só não queria editar nada do meio.
Eliah Kagan
fonte
3
cabo quebrado / desonesto?
Moog
O drive é SATA II ou SATA III? Alguma atualização do BIOS ou do FIRMWARE?
Mitch
Você pode verificar o status SMART desse disco? Se puder ser reconhecido em qualquer lugar.
Samik
@ Samik Mesmo quando o dispositivo é reconhecido, não consigo fazer isso .
Eliah Kagan
2
@EliahKagan dos seus dmesglogs, pode ser visto que o sistema falha repetidamente em ler o primeiro setor, a instrução READ (10) está falhando. Portanto, pode ser um setor ruim crescendo lá.
Samik

Respostas:

2

Para determinar se o problema é a unidade ou o gabinete, remova a unidade do gabinete, instale-a em uma área de trabalho com energia suficiente e verifique o status inteligente.

Para um teste mais profundo, você pode verificar todos os setores da unidade utilizando ferramentas como ddrescue. ddrescueirá relatar o tamanho erro durante o processo e você pode tentar recuperação de dados ao mesmo tempo, como em: sudo ddrescue /dev/sdb2 /path/to/recovery.image logfile. Liste as partições com sudo lsblkou clássico fdisk -l.

Se você realmente não tem interesse nos dados, pode forçar o arquivo de saída para /dev/null:

sudo ddrescue --force /dev/sdc /dev/null logfile 

e você ainda receberá um relatório sobre qualquer tamanho de erro no stdout

Testado no Ubuntu 14.04 com GNU ddrescue 1.17 da seguinte maneira, neste pequeno exemplo usando / dev / sdb2 (uma partição de troca de 1 MB)

$ sudo ddrescue --force /dev/sdb2 /dev/null logfile


GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued:      1024 B,  errsize:       0 B,  current rate:     1024 B/s
   ipos:         0 B,   errors:       0,    average rate:     1024 B/s
   opos:         0 B,    time since last successful read:       0 s
Elder Geek
fonte
Embora eu não tenha conseguido seguir essas etapas exatamente, acredito que essa resposta seja correta e melhor capture a natureza do problema que eu estava tendo (embora outras também tenham valor, para diferentes cenários que se manifestam da mesma forma). Eventualmente, a unidade parou de funcionar completamente, eu a removi do gabinete (energizado), descobri que também não funcionava (em várias máquinas) quando estava em outro gabinete (energizado) e encontrei outra unidade funcionando (em várias máquinas) no original gabinete. Como não consegui reconhecer novamente a unidade problemática, não tentei executar ddrescueou verificar o status SMART.
Eliah Kagan 11/04
@EliahKagan foi uma falha mecânica ou elétrica? Você podia ouvir o drive girar? Apenas curioso.
Elder Geek
A última vez que liguei a unidade, ainda era capaz de ouvi-la girar, sim.
Elias Kagan
1

Tive experiências semelhantes quando rodava o desktop Ubuntu 12.04. Meu gabinete de disco rígido tinha duas opções de energia, eu poderia comprar um adaptador de ar condicionado ou usar 1 mini usb para cabo usb normal ou usar um mini cabo usb em dois cabos usb. Idealmente, ele precisava estar conectado às duas portas USB para fornecer ampla energia. Pode transferir dados através do cabo USB ou através do eSata.

Ao usar a conexão eSata, eu precisava primeiro fornecer a energia da unidade para que o disco estivesse girando e depois inicializar o sistema para que a BIOS reconhecesse o disco que já estava girando. Caso contrário, não veria o disco a tempo. Acredito que isso tenha algo a ver com o controlador do gabinete.

Quando montei o USB, obtive resultados muito variados ao conectar o cabo primeiro ao gabinete e depois às portas USB. Talvez na metade do tempo ele fosse montado corretamente. Se eu conectasse os cabos USB primeiro às portas do PC e depois ao gabinete, obteria resultados muito melhores em cerca de 70%. Os melhores resultados obtidos com as opções USB foram o uso de uma fonte de energia externa (adaptador a / c) para o gabinete, para garantir que o disco estivesse girando e estável antes de conectá-lo à máquina. Funcionou praticamente 100%

Não estou dizendo que esse é exatamente o seu problema, mas, para mim, ajudou a fornecer a energia do gabinete e a girar o disco antes de conectá-lo para que ele fosse lido como o sistema. Talvez a velocidade da bios ou do barramento em um sistema seja melhor que a outra e dê tempo para o controlador de gabinetes começar a funcionar antes de tentar ler o disco? E talvez algum tempo após o gabinete ser desconectado, o controlador se redefine?

Talvez o controlador precise de tempo para decidir se está apenas obtendo energia do USB ou de energia e dados. Talvez seja uma questão de tensão ou amperagem? De qualquer forma, os controladores de gabinete parecem complicados.

Travis Clark
fonte
0

Para a sua unidade USB, tente as seguintes etapas (se você ainda não o fez):

  1. sudo fdisk -l #obter informação
  2. sudo mkdir /media/external #create ponto de montagem
  3. sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137 #mount.

Ou tente usar pmountpara montar seu USB.

Vahni
fonte
5
Obrigado pelas sugestões. Infelizmente: [1] sudo fdisk -l não revela nada sobre a unidade. Eu não esperaria, pois dmesgnão muda de recolocar a unidade. [2] Não consigo montar manualmente um dispositivo que o Ubuntu não reconheça estar conectado. (Mais uma vez, dmesgnão diz nada.) (Isso se aplica a udiskse pmounttambém.) Lembre-se, não é que as partições da unidade não estejam sendo vistas. A unidade não está sendo vista. [3] Por que eu montaria um volume ext4 como vfat?
Eliah Kagan
0

Eu sugeriria que também poderia haver um problema com o seu chip de driver de barramento USB ou similar. Você tem alguma ferramenta para listar todos os dispositivos USB? Tente executar essas ferramentas quando a unidade estiver funcionando corretamente e quando a unidade estiver inacessível. Você vê alguma diferença?

As unidades mais antigas (e mais baratas) passam por um processo chamado "Recalibração térmica" (TACL), que ocorre a cada hora, aproximadamente, e podem ficar inacessíveis por vários segundos enquanto a unidade estima o quanto a cabeça do disco está sendo dobrada pela acumulação de calor. na unidade. Durante o TCL, o motor de passo e a bobina procuram todas as faixas, a cabeça é alinhada em todas as faixas e os resultados são armazenados. Esse é um recurso interno do firmware. Parece que esse processo está travando ou está produzindo respostas erradas, impossibilitando o acesso ao inversor após a recalibração térmica.

O erro que você publicou no dmesg indica que há problemas no sdc, setor 0, bloco lógico 0. Esses blocos de número baixo geralmente contêm a geometria da unidade (ou seja, a formatação física ou física). Se esses blocos estiverem com problemas, toda a unidade poderá ficar inacessível, permanentemente. A falha na mídia pode estar relacionada ao calor, o que pode explicar por que um período de inatividade (mover a unidade para outra máquina) às vezes o corrige, às vezes não o corrige.

Para descobrir se o problema está relacionado à temperatura, ligue o computador e inicie um cronômetro, mas não use a unidade - apenas espere a falha e registre quanto tempo leva para falhar. Em seguida, desligue-o e deixe-o esfriar por várias horas, em seguida, execute novamente o teste, ligue o computador e a unidade, mas inicie uma cópia enorme da unidade de unidade de uso intensivo de dados (mesma unidade). Fazer mais trabalho com o motor de passo presumivelmente fará com que o inversor aqueça mais rapidamente e com falha mais cedo. Se houver uma grande mudança no atraso da falha, a unidade está pronta e eu pegaria outra. Boa sorte!

systemBuilder
fonte
0

Muitas vezes, esse tipo de problema é causado pela falta de energia suficiente descendo o cabo USB para a unidade, e isso é particularmente provável quando a unidade externa não foi comprada de prateleira, mas montada automaticamente. (Você esperaria que um fabricante de uma unidade externa tivesse certeza de que as portas USB pudessem suportá-la.)

Um dispositivo pode extrair até 500 mA de uma porta na especificação USB 2.0 e até 900 mA no USB 3.0. Ao verificar as especificações do fabricante da unidade externa, você poderá confirmar os requisitos máximos de energia da sua unidade.

O problema geralmente pode ser resolvido ao tentar uma porta USB3 (se você tiver uma e ainda não a tiver experimentado), porque elas fornecem mais energia que a USB2 ou obtêm um cabo USB Y para que a unidade possa obter energia da 2 portas em vez de 1. Elas estão disponíveis de forma barata no eBay ou Amazon.

scoobydoo
fonte
0

Embora a causa real do problema já tenha sido apontada, quero adicionar a mesma resposta, pois tenho cerca de 4 HDDs externos.

Qualquer computador fabricado assume que a fonte de energia será usada de acordo com as especificações da configuração e, no máximo, uma sobrecarga de 20%

Qualquer dispositivo USB externo deve ser alimentado por um hub externo, a fim de proteger a fonte de energia do computador. O comportamento descrito é um comportamento típico para sobrecarga de energia. Supondo que você também tenha um DVD externo, isso também falhará nas suas gravações e poderá tornar irrecuperável o (s) seu (s) dispositivo (s) e ainda mais, até o seu computador. Os laptops geralmente freiam dessa maneira, já que os usuários tendem a usar hubs USB passivos ou dispositivos alimentados por computador, incluindo HDDs, DVDs e similares.

Compre um hub USB com alimentação externa e conecte os dispositivos USB ATRAVÉS DE UMA PORTA USB ALIMENTADA , em vez de esgotar a energia da fonte do computador, pois essa abordagem danificará mais o seu HDD. Um aumento de energia é basicamente o mesmo que um computador ou dispositivo externo com pouca potência. O padrão USB não tem nada a ver com o dispositivo com pouca energia. Pense assim: se você deseja energia do seu carro, que combustível você usaria? Algo que queima ou o combustível especificado pelo fabricante? É exatamente o mesmo aqui. Usando dispositivos USB sem energia, drena a energia da fonte de energia interna do computador. Ele já possui dispositivos suficientes!

Serban Stănescu
fonte