Recuperar-se da corrupção do sistema de arquivos ext2

Recuperar-se da corrupção do sistema de arquivos ext2

Eu tenho uma distribuição Linux TinyCore (3.6) em um dispositivo meu, que usa disco no módulo ou armazenamento compact flash.

O sistema de arquivos é ext2.

Tenho uma pilha LAMP neste dispositivo e estou brincando com um banco de dados MySQL contendo mais de 400 tabelas (myisam). As operações de gravação ocorrem sistematicamente a cada 15 minutos.

Essas tabelas são geradas pela minha aplicação web, de acordo com minhas necessidades de configuração.

Agora, acontece que este aparelho pode ser desligado abruptamente, por falta de energia.

O que acontece é que, se o MySQL estiver realizando alguma operação de gravação (isto é update, delete, insert), alguns dos dados, bem como os arquivos de índice, podem ser corrompidos.

Com certeza não é grande coisa, mas realizar uma repair tableoperação não é tão ruim assim; as tabelas são reparadas e os aplicativos podem continuar em execução, mesmo que, infelizmente, alguns dados sejam perdidos (o que no meu caso pode ser aceitável).

O problema é que, muitas vezes, quando ocorre um desligamento abrupto, vários arquivos de tabela mysql (FRM ou MYI ou MYD) ficam no status "Erro de entrada/saída" e meu front-end MySQL relata um "erro de mecanismo de armazenamento 5" (I/ Ó erro) para essas tabelas. Os aplicativos que usam o banco de dados obviamente não conseguem executar corretamente.

Em vez de evitar eventos como esses (que considero inevitáveis ​​até certo ponto), gostaria de pensar em algo para recuperar correta e possivelmente automaticamente de situações de erro de E/S de arquivo decorrentes dos cenários descritos acima.

Alguma ideia?

EDITAR: Infelizmente não posso mudar para o ext3, devo ficar com o ext2, também devido ao fato de que o ext3 afetaria fortemente os ciclos de gravação da memória de estado sólido.

Responder1

Eu acho que se você estiver usando CF, sem possibilidade de usarDM-MultiPathou outros recursos de maior disponibilidade, então você deve pelo menos montar esses sistemas de arquivos com a opção "noatime", para prolongar a vida (onde você não depende de atimes para seus próprios scripts, etc...).

Fora isso, não parece a plataforma mais robusta.

informação relacionada