Arquivos corrompidos do Seagate Momentus XT (Linux e Mac)

10

Meu disco rígido híbrido Seagate Momentus XT está corrompendo arquivos no Linux. Gostaria de receber ajuda de qualquer pessoa, mas gostaria de saber se outros usuários do Momentus XT podem reproduzir esse problema; Forneci instruções passo a passo para reproduzir esse problema nos fóruns da comunidade da Seagate .

Até o momento, quatro usuários reproduziram esse problema nos seguintes laptops e distribuições de SO /:

  • Cinco laptops: Lenovo Thinkpad T60, T61, T510, MSI MS-1656-ID1 e MacBook Pro (15 "no final de 2009).
  • Quatro sistemas operacionais / distribuições: Ubuntu 11.04, Fedora 15, openSUSE e Mac OS X.

As instruções para reproduzir o problema são simples. Aqui está uma breve descrição verbal:

  1. Crie um arquivo de teste grande, salve-o em outro dispositivo de armazenamento ( não no Momentus XT) e calcule a soma de verificação SHA-1.
  2. Escreva o arquivo de teste no Momentus XT.
  3. Leia o arquivo de teste do Momentus XT, calcule o SHA-1 e compare essa soma de verificação com a soma de verificação do original. Deveríamos ter uma partida. Provavelmente, reproduzimos o problema se eles não corresponderem. (Somente 'provavelmente', porque é possível que outros problemas causem uma incompatibilidade. Consulte o tópico da Seagate sobre como identificar esse problema específico, comparando os arquivos com cmp -l.)
  4. Repita do passo (2).

O segmento da Seagate tem mais detalhes. Aqui estão algumas anotações dos meus testes (consegui reproduzir esse problema em três unidades Momentus XT consecutivas; fiz RMA duas vezes e agora estou no terceiro):

  • O que parece estar acontecendo é que o Momentus XT às vezes esquece de gravar dados na unidade, de modo que quando eu leio a unidade, obtenho o que estava originalmente no setor, e não os dados corretos. Isso ocorre em blocos de tamanhos diferentes; tamanhos típicos são 1 MiB e 512 KiB.
  • Problema ocorre no ext2, ext4, Btrfs, NTFS e FAT32. Estranhamente, não consegui reproduzir esse problema no ext3.
  • A gravação com o oflag=directsinalizador de saída ddevita esse problema. A confirmação rápida de dados em disco while true; do sync; sleep 0.01; donetambém evita o problema.
  • Eu só consegui reproduzir esse problema por meio de uma interface SATA e eSATA. Uma conexão USB parece evitar o problema. (Não tenho certeza se isso se deve à velocidade de transferência.)
  • Os problemas ocorrem com mais frequência com arquivos grandes (> 2 GB). Não consegui produzir problemas com arquivos menores que 85 MB.
  • Não consegui reproduzir o problema no Windows XP com NTFS.
  • Gazoi nos fóruns da Seagate não conseguiu reproduzir o problema no FreeBSD 8.2 com o UFS2.
  • O Momentus XT passa no teste SMART estendido e badblocks -wsem problemas.
  • Meu laptop (MS-1656-ID1) passou com sucesso por 24 horas cada um dos aplicativos Memtest86 +, Memtest86, memtester e MPrime.
  • Testei dois outros dispositivos de armazenamento (um Seagate Momentus 7200.4 e um SSD Intel 320 series) com o mesmo procedimento, e ambos passam sem problemas.

Se você possui um Momentus XT, tente reproduzir esse problema e deixe-me saber o que acontece.

O que mais posso fazer para diagnosticar o problema?

Vincent Yu
fonte
1
Você está reiniciando entre a gravação e a leitura? Você está liberando o cache para garantir que ele seja realmente lido de volta no disco, em vez de no cache? Se não, que pode ser por isso que você não pode reproduzi-lo com arquivos menores, uma vez que são mais susceptíveis de ainda estar no cache
psusi
Estou ignorando o cache da página lendo com o iflag=directsinalizador de entrada com dd. Quando eu não estou usando dd, eu liberar o cache comsudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"
Acabei de perceber que você pode estar falando sobre o buffer de disco que está fisicamente no Momentus XT, em vez do cache da página do Linux. Você tem razão neste caso - em geral não tomo nenhuma precaução contra a leitura do buffer de disco e também estou imediatamente lendo o arquivo após gravá-lo. Talvez eu deva confirmar gravações em vários arquivos e depois lê-los em uma base FIFO. Dito isso, o cache de disco do Momentus XT tem apenas 32 MB e também fiz alguns testes no passado em que escrevi> 10 GB de arquivos pequenos (~ 64 MB) e os li depois, sem encontrar corrupção.
Talvez haja um bug no firmware da unidade (excesso de número inteiro?) Que faz com que ela perca o controle de blocos não escritos sob gravação em alta velocidade. Ou existem alguns blocos defeituosos no flash que o firmware não conseguiu detectar. O NTFS verifica gravações (e o NTFS-3G é muito lento), portanto, é improvável que o problema apareça. Se não conseguir encontrar uma correção, convém usar o ZFS e ativar a soma de verificação.
billc.cn
@ billc.cn, reproduzi o problema com o NTFS. Btrfs e ZFS com somas de verificação de dados falharão conspicuamente na leitura de arquivos corrompidos, mas os dados corrompidos serão irrecuperáveis. Mais redundância (por exemplo, espelhamento no nível FS ou espelhamento RAID) será necessária para recuperar esses arquivos. De qualquer forma, é claro que não vou usar o Momentus XT até descobrir o que está acontecendo.
Vincent Yu

Respostas:

6

A atualização do firmware para o SD26 corrige esse problema com a corrupção de arquivos no Linux. Infelizmente, o SD26 não foi lançado publicamente.

A melhor maneira de obter o firmware SD26 é solicitar à Seagate uma cópia do CD de atualização inicializável ou do utilitário de atualização do Windows.

Enviei um e-mail para o Suporte Técnico da Seagate em 20 de agosto para perguntar sobre o SD26, depois que descobri que ele resolveu meu problema com a corrupção de arquivos. Aqui estão as duas respostas que recebi do Seagate Global Customer Support em 23 de agosto:

Obrigado por entrar em contato com a Seagate hoje. Dê-me algum tempo para conversar com os desenvolvedores para que eu possa ver o que está acontecendo com o firmware SD26. Por causa de suas descobertas, precisamos investigar um pouco. Fazemos muito pouco teste com o Linux. Deixe-me ver o que posso descobrir e se são necessários mais testes e uma versão pública do firmware. Estou anexando o arquivo ISO. Voltarei com você assim que ouvir. A Seagate é muito orientada para o cliente e agradecemos que você leve isso à nossa atenção.


Geralmente, não disponibilizamos firmware publicamente. Pode causar mais danos do que benefícios nas mãos erradas. Recebemos muitas unidades em blocos de atualizações incorretas. Gostamos que os consumidores entrem em contato conosco, para que possamos verificar se uma atualização de firmware é necessária e benéfica. Alan M. é nosso moderador nos fóruns e fará um anúncio em seu tópico. Mais uma vez, obrigado por trazer isso à nossa atenção. Nossos clientes são os melhores e uma ótima fonte de informações e, geralmente, os primeiros a nos informar quando as coisas não estão funcionando como deveriam. Permita-nos a chance de corrigir o problema.

Como já afirmei, acho melhor obter o SD26 diretamente da Seagate. No entanto, também existem cópias vazadas do ISO inicializável e do utilitário do Windows que são facilmente encontradas pesquisando no Google. A soma de verificação SHA-1 do CD de atualização inicializável SD26 (* .iso) que recebi da Seagate é b7b0c7e1b9529925b0364b2cf19a62d608b58082.

Publiquei as informações nesta resposta e outros detalhes diversos no segmento da Seagate .

Vincent Yu
fonte
3
Firmware SD28 está agora disponível: seagate.custkb.com/seagate/crm/selfservice/...
Madh
4

Todas as menções desse problema foram removidas dos fóruns da Seagate. Provavelmente, eles acham que a discussão é desnecessária agora que se pode corrigir o problema atualizando para o SD28.

O único problema é que as pessoas não têm mais meios de obter informações autorizadas descrevendo o problema e / ou como corrigi-lo, pois todas as referências a qualquer correlação entre o problema e sua solução foram removidas do site da Seagate. O download da atualização do firmware ainda está disponível, mas não há menção sobre o que o firmware faz, portanto, os usuários afetados podem ter dificuldade em tentar encontrar uma solução.

Portanto, para ajudar os googlers: O download do firmware SD28 em http://knowledge.seagate.com/articles/en_US/FAQ/215451en?language=en_US É uma solução para o bug de corrupção de dados que ocorre com esses modelos de unidade do Seagate Momentus XT:

  • ST92505610AS

  • ST93205620AS

  • ST95005620AS

Michael
fonte
2

Acabei de verificar o que está acontecendo no OS X também. : o (

Eu suspeitava de corrupção de dados por dois motivos:

1) o momentus XT foi projetado para armazenar em cache arquivos freqüentemente usados ​​nos 4 GB de RAM flash, e esses arquivos geralmente são pequenos arquivos necessários para carregar programas durante a inicialização (arquivos de configuração, etc.). Com uma frequência cada vez maior, meus programas configurados para carregar no login repentinamente surgiam com as configurações padrão ou me davam o 'tutorial de boas-vindas' e não tinham configurações programadas. Isso incluía mail.app (nenhuma informação da conta armazenada), pouco snitch (monitor de porta sem regras), mercúrio (bem-vindo) e outros. Isso me levou a acreditar que pequenos arquivos no cache estão corrompidos.

2) A unidade sofria como causa de 'cata-ventos giratórios' onde parecia ter girado, e quando o sistema operacional precisava acessá-la, tive que esperar a unidade girar novamente. A espera tornou-se mais frequente e durou mais. Em várias ocasiões, eu simplesmente limpava a unidade e usava o clonador de cópia carbono para copiar tudo o que foi feito anteriormente. No entanto, após copiar os arquivos para o momento xt, muitos dos arquivos maiores (filmes, imagens ISO, arquivos zip) estavam corrompidos e não eram carregados ou abertos. Eu pensei que o problema com as bolas de praia e spin-downs seria resolvido quando eu atualizasse o Snow Leopard para o Lion, como alguns usuários postaram recentemente, mas o arquivo ISO de pré-visualização de 3,46Gb copiei para o momento XT de uma unidade USB foi corrompido, então eu não conseguia nem instalar o Lion.

Acabei de encontrar o seu tópico nos fóruns da Seagate e vim aqui para postar:

Eu usei um programa chamado 'utilitário inteligente' no OS X, que dizia que a unidade estava falhando. Eu acho que o erro foi para o código 184, que eram erros "de ponta a ponta". Fiquei alarmado com o fato de a unidade estar "falhando", mas li que outras pessoas estavam recebendo esse erro ao atualizar seu firmware (como fiz do SD23 para o SD25) e que a Seagate consideraria uma unidade apenas como falha se falhasse no SeaTools .

Coloquei meu momentus xt em um gabinete USB e executei o SeaTools na unidade pelas janelas de outro computador. O SMART Check não foi um teste permitido. Executando 'teste de unidade curta' e 'teste genérico longo', nenhum erro foi relatado? Agora, tentei duplicar seus métodos no OS X e também descobri que os arquivos estão sendo corrompidos. Estou usando um Macbook Pro 15 "de final de 2009 e tenho um Momentus XT de 500 GB no SD25.

Fred

Fred
fonte
Obrigado por denunciar isso! Você pode executar o seguinte comando para comparar um arquivo incorrupto com sua cópia corrompida? cmp -l <uncorrupted file> <corrupted copy> | headSe estivermos tendo o mesmo problema, você verá três colunas de números e a coluna mais à esquerda deverá ter dez números consecutivos. (Detalhes: coluna mais à esquerda mostra o número de bytes dos bytes diferentes, e as outras duas colunas mostram os valores reais dos bytes diferentes.)
Vincent Yu