Por que um Disco Rígido externo pode funcionar super lento?

3

Eu tenho um Western Digital HDD (1gig) que está rodando muito devagar, 0,5 - 1mb por segundo. Isso está em um Mac Pro executando o sistema operacional mais recente com todos os patches. O HDD é conectado via USB diretamente ao computador (ou seja, sem hub ou qualquer coisa.) Também eu corri um diagnóstico de disco nele que vem limpo. O diagnóstico mais profundo demora muito para terminar.

  • poderia ser um problema de hardware no HDD?
  • eu poderia precisar de um cabo diferente?
  • quaisquer outras etapas de diagnóstico que você possa sugerir?
Informações adicionais que recebi do sistema operacional. Isso te diz alguma coisa (eu não)
ext HDD 1021:

  Product ID:   0x1021
  Vendor ID:    0x1058  (Western Digital Technologies, Inc.)
  Version:  20.21
  Serial Number:    888881563550353537363230
  Speed:    Up to 480 Mb/sec
  Manufacturer: Western Digital
  Location ID:  0xfa200000 / 2
  Current Available (mA):   500
  Current Required (mA):    2
  Capacity: 1 TB (1,000,202,043,392 bytes)
  Removable Media:  Yes
  Detachable Drive: Yes
  BSD Name: disk2
  Partition Map Type:   GPT (GUID Partition Table)
  S.M.A.R.T. status:    Not Supported
  Volumes:
EFI:
  Capacity: 209.7 MB (209,715,200 bytes)
  BSD Name: disk2s1
  Content:  EFI
ExternalHD:
  Capacity: 999.86 GB (999,858,069,504 bytes)
  File System:  HFS+
  BSD Name: disk2s2
  Content:  Apple_HFS
  Volume UUID:  FFFFFEB2-42F8-3510-85F4-12632D99D19B
    
por pitosalas 12.01.2014 / 23:49

2 respostas

3

soa como velocidade USB 1.x:)

Especificação USB 1.x:
 - a velocidade máxima de 12 Mbit / s = 1,5 MB / s
 - a baixa velocidade 1,5 Mbit / s = 0,1875 MB / s

Talvez não seja possível drenar energia suficiente do soquete USB e esteja funcionando na velocidade mais baixa possível.

tente "lsusb -v" talvez Você receberá alguns detalhes sobre o poder.

    
por 13.01.2014 / 00:11
1

A unidade pode ficar lenta devido a setores instáveis (que são setores que a unidade não pode ler no momento, mas podem se tornar legíveis após serem sobrescritos ou realocados). Eu observei isso em uma unidade externa eu mesmo. No meu caso, os setores instáveis causaram erros de E / S em uma parte freqüentemente usada do sistema de arquivos. Embora nenhum arquivo parecesse falhar, a taxa de transferência caiu espantosamente para cerca de 100 kB / s.

Uma tentativa difícil mas fácil de consertar isso seria apagar o disco com Disk Utility usando a opção de apagar seguro Zero Out Data . Isso pode corrigir os setores instáveis ou realocá-los para uma pequena seção sobressalente da unidade.

Vou instruir você aqui sobre como localizar e possivelmente corrigir erros de leitura na linha de comando ( Terminal application). Você deve ter direitos de administrador e fornecer a senha da sua conta para fazer isso. Antes de começar, você deve fazer backup de seus dados. E em ambos os casos, você deve inspecionar a saúde da unidade com um S.M.A.R.T. ferramenta depois de terminar.

Primeiro, identifique o dispositivo correspondente à sua unidade com diskutil :

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Internal HD             255.7 GB   disk0s2
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *3.0 TB     disk1
   1:                  Apple_HFS External HD             3.0 TB     disk1s1
$

Nesse caso, a unidade externa é /dev/disk1 . Agora faça uma cópia bruta desta unidade para 'nowhere', usando o comando dd .

$ sudo dd if=/dev/rdisk1 of=/dev/null bs=65536
Password: 

(observe o uso de rdisk1 em vez de disk1 aqui, isso desativa o buffer e acelera dd ).

Mesmo para um disco saudável conectado via USB2, esse comando leva aproximadamente 9 h / TB. Para verificar seu progresso, pressione ctrl-t enquanto estiver sendo executado.

Em caso de erro de leitura, dd sairá com uma notificação como esta:

dd: reading '/dev/rdisk1': Input/output error
11233976+0 records in
11233976+0 records out
736229851136 bytes transferred in 23179.173766 seconds (3176255 bytes/sec)

Os números records in/out indicam onde no disco o erro ocorreu. Multiplique por 128 para obter o endereço LBA ofensivo (isso porque escolhi bs=65536 para dd , blocos 65536 bytes, que são 128 setores).

Você deve fazer backup de seus dados agora, se ainda não tiver feito isso.

Tente sobrescrever o segmento ofensivo com zeros (use o records in/out number como o argumento skip ). Observe que esta etapa pode destruir dados que ainda estão intactos.

$ sudo dd if=/dev/zero of=/dev/rdisk1 bs=65536 skip=11233976 count=1
Password:
1+0 records in
1+0 records out
65536 bytes transferred in 0.001996 secs (32833004 bytes/sec)

Continue lendo, começando com o segmento recém-escrito (novamente, use o records in/out number como o argumento skip ).

$ sudo dd if=/dev/rdisk1 of=/dev/null bs=65536 skip=11233976

Depois que você não encontrar mais erros de leitura, a unidade estará pronta para ser apagada. Como você substituiu os segmentos errados manualmente, não é necessário escolher Zero Out Data agora.

Lembre-se de inspecionar a saúde da unidade com um S.M.A.R.T. pedágio depois de terminar.

    
por 17.08.2014 / 03:35

Tags