Qualquer forma de ser notificado de erros EXT4 quando montado com “errors = continue”

1
Estou prototipando um novo sistema embarcado que usa ext4 na memória Flash. Esses sistemas serão implantados remotamente sem nenhum administrador de sistema local, portanto, qualquer diagnóstico também deve ser feito remotamente por meio de uma rede.

A opção de montagem padrão para o ext4 é definir o FS para somente leitura quando encontrar um erro. Eu acho que isso é muito grave para o meu caso, pois pode fazer com que muitas operações parem de funcionar e impedir logins remotos.

Eu preferiria manter o sistema funcionando (e tolerar alguns erros do FS). Então, no meu caso, a opção de montagem "errors = continue" parece mais apropriada. No entanto, eu gostaria que meu aplicativo fosse notificado quando algum erro FS ocorresse para que ele pudesse registrá-los como problemas de alta prioridade e enviar essas informações. de volta aos nossos servidores.

Alguém sabe se isso pode ser feito com o kernel Linux padrão (4.8.1 em x86_64)?

    
por SeanLabs 17.12.2016 / 18:46

1 resposta

2

I would prefer to keep the system running (and tolerate some FS errors)

Esta é uma contradição em termos. Quando você obtiver erros de FS, seu sistema não estará em execução por muito tempo. De fato, rodar com errors=continue é muito mais provável de danificar ainda mais um sistema de arquivos corrompido até que não haja nenhuma esperança de recuperação sensata.

Se você quiser que seu aplicativo faça uma melhor tentativa de continuar a operação mesmo se houver erros de FS, ele deverá ter um script que detecte quando / foi somente leitura e reinicialize com um fsck forçado.

Em algum momento, tudo acaba. É a lei do aumento da entropia. Não há nada que você possa fazer a respeito, além de aderir a princípios sólidos de engenharia e obter peças de alta qualidade para casos de uso crítico.

    
por 17.12.2016 / 19:44