Como posso otimizar o ext4 para confiabilidade?

11

Como o ext4 foi introduzido como mais confiável que ext3 com diários de bloco, existe alguma chance de supor que seja 100% confiável? E se habilitar o registro em diário de bloco, que está desabilitado por padrão?

Como guia do amigo para explicar meu caso com mais detalhes: Eu tenho um dispositivo Linux embutido, após a instalação do teclado e monitor é desanexado e funciona de forma autônoma.

Meu dever é garantir que o sistema de arquivos seja confiável, assim, com os erros, não há nenhuma maneira de falhas manuais corretas no dispositivo. Não posso forçar meu cliente a usar ups em cada dispositivo para garantir que não haja falha por falta de energia.

O que mais o ext4 pode oferecer além do registro de bloco?

Obrigado antecipadamente.

    
por amin 07.03.2011 / 08:58

3 respostas

11

Não. Você nunca pode supor que algo seja 100% confiável.

Os sistemas de arquivos de registro no diário minimizam a perda de dados no caso de uma interrupção inesperada. Extensões e barreiras ajudam ainda mais, mas não podem eliminar todos os problemas associados. Pessoalmente, nunca experimentei perda de dados por causa da corrupção do sistema de arquivos ao usar sistemas de arquivos de registro no diário.

Além disso, o registro no diário não é desabilitado por padrão.

Aqui está uma boa visão geral do ext4 e suas melhorias: link

    
por djeikyb 08.03.2011 / 13:41
4

Um novo recurso adicionado ao ext4 e introduzido com o kernel 3.5 é o que é conhecido como 'checksums de metadados', que é outro recurso do ext4 que deve melhorar a confiabilidade e a integridade da estrutura do sistema de arquivos.

A implementação geral é bem explicada em Novatos do Kernel :

  

Sistemas de arquivos modernos como ZFS e Btrfs provaram que garantir a integridade do sistema de arquivos usando somas de verificação é um recurso valioso. O Ext4 adicionou a capacidade de armazenar somas de verificação de vários campos de metadados. Toda vez que um campo de metadados é lido, a soma de verificação dos dados lidos é comparada com as somas de verificação armazenadas; se forem diferentes, significa que a medata está corrompida (observe que esse recurso não cobre dados, apenas estruturas internas de metadados e ele não tem recursos de "autocura").

     

Qualquer sistema de arquivos ext4 pode ser atualizado para usar as somas de verificação usando o comando "tune2fs -O metadata_csum" ou "mkfs -O metadata_csum" no momento da criação. Uma vez que este recurso esteja habilitado em um sistema de arquivos, os kernels mais antigos, sem suporte a soma de verificação, só poderão montá-lo no modo somente leitura.

Artigos como este aqui no kernel.org discutem mais detalhadamente como usar checksums de metadados pode impedir que metadados corrompidos danifiquem a estrutura do sistema de arquivos.

No entanto, o artigo também alerta que:

  

O código de soma de verificação de metadados começou a entrar no mainline no Linux 3.5, e a partir do 3.7-rc1 ele está passando por algum teste de usuário. Este código ainda não é sólido.

Ele não está habilitado por padrão no Ubuntu 12.10, e provavelmente é melhor não habilitá-lo por um momento depois dos recentes problemas com o sistema de arquivos ext4, como foi observado aqui .

    
por user76204 17.09.2012 / 00:30
1

Você pode desabilitar a alocação atrasada no ext4 (nodelalloc), o que tornaria significativamente mais provável que você recuperasse mais dados se / quando você sofresse uma falta de energia durante uma gravação, mas isso aconteceria ao custo de mais fragmentação do sistema de arquivos ao longo do tempo.

    
por user3495444 07.04.2015 / 01:10