Como otimizar o ext4 para garantir a confiabilidade?

11

Como o ext4 foi introduzido como mais confiável que o ext3 com diários de blocos, existe alguma chance de supor que seja 100% confiável? E se a ativação do diário de bloco for desativada por padrão?

Como guia de um amigo para explicar meu caso com mais detalhes: Eu tenho um dispositivo linux incorporado, depois que o teclado e o monitor de instalação são desconectados e funcionam de forma independente.

Meu dever é garantir que ele tenha um sistema de arquivos confiável, para que, com erros, não haja como corrigir falhas manuais no dispositivo. Não posso forçar meu cliente a usar altos em cada dispositivo para garantir nenhuma falha por falta de energia.

O que mais o ext4 pode me oferecer além do bloco de registro no diário?

Desde já, obrigado.

amin
fonte
eu sei que tenho alguns trade off permitindo recursos como bloco diário, mas eu estou colada para confiabilidade e estou pronto para pagar por isso
Amin
Consulte também: serverfault.com/questions/244095/how-to-make-ext4-more-reliable , fechado por ser muito ambíguo.
Olli
sim, eu fiz a minha pergunta lá e não havia ajuda apenas fechada! meu sistema linux é um sistema embutido sem monitor ou teclado conectado. então eu quero que seja mais confiável em caso de falta de energia, etc ... eu sei que o bloco de registro em diário é uma maneira, mas eu quero saber se há mais alguma opção. não posso oferecer ao meu cliente um ups para cada dispositivo.
7111
1
@amin As informações sobre o seu caso de uso seriam mais úteis na sua pergunta, provavelmente por isso foram fechadas por serem ambíguas; adicione mais informações à sua pergunta!
Jorge Castro
2
A pergunta é muito vaga. O que significa "100% confiável"? Supondo que por "bloco de anotações" você quer dizer data = diário, isso é apenas uma gigantesca perda de tempo. O FS é inerentemente confiável; um diário apenas garante que você não precise esperar por um longo fsck após uma falha.
31511 psusi

Respostas:

11

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

Os sistemas de arquivos com registro em 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 devido à corrupção do sistema de arquivos ao usar sistemas de arquivos com diário.

Além disso, o diário não está desativado por padrão.

Aqui está uma boa visão geral do ext4 e suas melhorias: http://kernelnewbies.org/Ext4

djeikyb
fonte
1
+1 para "você nunca pode supor algo a ser 100% confiável"
Lekensteyn
como Comparison_of_file_systems bloco journaling é desligado enquanto journaling metadados está ligada, desse trade-off entre a confiabilidade e velocidade
Amin
Acabei de reiniciar o servidor para encontrar uma enorme corrupção de dados no ext4, onde os arquivos contêm dados inválidos. Isso não poderia ter acontecido no zfs ou no btrfs porque os dados possuem somas de verificação.
user239558
5

Um novo recurso adicionado ao ext4 e introduzido no kernel 3.5 é conhecido como 'somas de verificação 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 nos iniciantes 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. Sempre 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 os dados estão corrompidos (observe que esse recurso não cobre dados, apenas as estruturas internas de metadados e não possui recursos de "auto-recuperação").

Qualquer sistema de arquivos ext4 pode ser atualizado para usar somas de verificação usando o comando "tune2fs -O metadata_csum" ou "mkfs -O metadata_csum" no momento da criação. Depois que esse recurso é ativado em um sistema de arquivos, os kernels antigos sem suporte à soma de verificação só poderão montá-lo no modo somente leitura.

Artigos como este no kernel.org discutem mais detalhadamente em detalhes técnicos como o uso de somas de verificação de metadados pode impedir que metadados corrompidos danifiquem a estrutura do sistema de arquivos.

No entanto, o artigo também adverte que:

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

Ele não está ativado por padrão no Ubuntu 12.10 e provavelmente é melhor não ativá-lo no momento após os problemas recentes com o sistema de arquivos ext4, conforme observado aqui .


fonte
1

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

user3495444
fonte