44pin ide flash industrial em debian congela congela após um período indefinido de tempo [fechado]

2

Em um sistema embarcado, usando um flash industrial de transcendência de 44 pinos, depois de algum tempo, notarei que não consigo ler nenhum arquivo ou gravar no disco. Eu estou usando o kernel 3.2.0. * BPO i686 SMP PAE. Isso às vezes é acompanhado por um congelamento no kernel do backport, mas sempre causou um congelamento completo do sistema no kernel padrão do Debian 6. Quando eu tento reinicializar neste ponto, ele sempre congela, se eu ligar e desligar (algo que normalmente é bom, já que é um sistema de raiz somente leitura) eu costumo obter uma inicialização presa no fsck reclamando que uma das partições graváveis não era limpo desmontado. fsck / dev / ... -y sempre corrige isso.

Quando notei isso, alterei nosso aplicativo principal para ler apenas o ide na inicialização e apenas gravar nos arquivos de configuração quando o cliente chama uma função WriteConfigurationToDisk. Isso melhorou drasticamente as coisas, no entanto, depois de um tempo a mesma coisa começa a acontecer. Isso não parece acontecer universalmente, apenas em cerca de 10% do produto.

Este é um sistema de raiz somente leitura. Cada partição é um sistema de arquivos ext3 com registro no diário. Além disso, apenas o sistema operacional está gravando qualquer coisa no disco - e a maior parte disso é na inicialização. Alguma idéia sobre o que devo verificar?

Atualizar Eu tenho feito mais pesquisas e parece que o ext3 talvez esteja matando meu flash drive, por isso as leituras / gravações congeladas são resultado de um flash ruim. Devo talvez mudar para o JFSS2?

    
por Jonathan Henson 22.08.2012 / 04:59

1 resposta

3

Em SSDs, você pode tentar usar o sistema de arquivos ext4 e montá-lo usando a opção de descarte. Na fstab:

UUID=XXXXXXXXXXXX       /            ext4     discard         0       1

Adicione as outras opções desejadas, como noatime ou errors = remount-ro.

A opção de descarte potencialmente habilita o TRIM no SSD, o que pode aumentar sua vida útil, link

No entanto, isso só funcionará se outros sistemas (subjacentes) o suportarem também.

Não tenho certeza se o seu disco flash suporta TRIM, já que ele não faz parte dos chips em si, mas faz parte da lógica da unidade que contém os chips. Eu preciso saber exatamente que tipo de dispositivo é.

Mas apenas mudar o sistema de arquivos pode aliviar as coisas, eu prefiro o xfs. O sistema de arquivos ext3 é bom o suficiente para muitos propósitos, mas tem mais problemas de recuperação (exigindo fsck -y) do que outros como o xfs que eu nunca encontrei para me salvar.

Configurar isso em / etc / default / rcS ativa o reparo automático do sistema de arquivos (ext3) na inicialização, sem necessidade de pressionar "y":

FSCKFIX=yes

Atualização: Eu verifiquei as especificações do dispositivo e parece que ele não suporta TRIM, mas é um ótimo dispositivo. Você está certo sobre o registro no diário e, se TRIM não for suportado, você poderá ter uma confiabilidade melhor usando o sistema de arquivos ext2 ou outro sistema de arquivos sem registro no diário.

    
por 23.08.2012 / 10:17