É possível corromper HDDs externos clonando grandes repositórios git?

0

Comprei um disco rígido externo Seagate Expansion 5TB e comecei a clonar os repositórios git para os quais contribuí.

Existe um grande repositório git (~ 16GB, 1GB é apenas o diretório .git ): depois de cloná-lo no meu disco rígido, o disco rígido começou a ficar muito lento. Primeiro, pensei que era apenas um problema de formatação.

Graças aos serviços de garantia, recebi um novo HDD, exatamente do mesmo modelo.

Agora repito todo o processo e tudo estava funcionando perfeitamente ( ~300MB/sec ). Então eu clonei este grande repositório e agora todos os meus dados no meu HDD estão potencialmente perdidos. Eu comecei a copiá-lo para o meu computador, mas é muito lento ( ~18kB/sec ):

Assegurei-me de cuidar do HDD para não quebrá-lo, mas parece que esse repositório tem o potencial de corrompê-lo.

Eu estou querendo saber se é um problema de hardware ou não. Os caras do serviço de garantia não me disseram nada sobre qual era o problema. Eles acabaram de me enviar um novo HDD.

Estou executando o Ubuntu 15.10. Aqui o HDD está funcionando, mas é muito lento. Em máquinas Windows, não funciona de todo. O explorador de arquivos inteiro falha.

Como posso resolver o problema? Um repositório git pode corromper esse disco rígido?

Por que é tão lento somente após clonar este repositório específico? Copiei muitos GB de dados antes e foi rápido.

    
por Ionică Bizău 28.02.2016 / 11:28

1 resposta

2

Não saber qual sistema operacional você tem faz com que este seja um jogo de adivinhação, mas em certos casos e sistemas de arquivos existe a possibilidade de uma leitura da unidade causando uma gravação simultânea na unidade enquanto o sistema atualiza o "acessado" hora do arquivo.

Se a unidade tiver setores 4k e seu sistema de arquivos estiver usando setores de 512 bytes, haverá um desempenho sempre que uma pequena gravação for feita nos outros 7 blocos de 512 bytes desse setor "real". Essencialmente toda vez que qualquer um desses 8 setores lógicos (do sistema de arquivos) tiver que ser mudado, a unidade deve primeiro ler o bloco inteiro de 4kb, modificá-lo e depois gravá-lo de volta.

Combine isso com o último tempo acessado e você pode acabar com muito tempo modificando blocos com dados contábeis sem sentido em vez de ler ou gravar dados.

No Linux, você pode desativar este último tempo acessado especificando a opção noatime mount ao montar o disco.

Exemplo fstab :

/dev/sda7          /chroot          ext2          defaults,noatime          1  2

De link

    
por 28.02.2016 / 12:23