Minimizando as gravações “ociosas” em um sistema de arquivos

2

Deixando de fora muitos detalhes, preciso criar um sistema de arquivos de leitura / gravação em um dispositivo com as seguintes metas principais:

  • Elimine todas as gravações enquanto os dados não estão sendo explicitamente gravados.
  • Reduza todas as gravações indiretas quando os dados são escritos.
  • Execute fsck na inicialização após desmontar não limpo.

Atualmente estou usando o ext3, montado com noatime. Eu não estou familiarizado com os detalhes do ext3. Em particular, os dados são gravados em um sistema ext3 durante o tempo "inativo" quando nenhum programa está gravando dados explicitamente (especificamente, estou pensando no kjournald e na opção commit = mount)?

Se eu mudar para ext2, isso atenderá a todos os requisitos acima? Em particular, tenho que configurar alguma coisa para forçar um fsck após um corte de energia repentino?

Minhas opções são fat32, ext, ext2 e ext3, além de todas as configurações disponíveis via mount. O desempenho não é crítico, nem a robustez de setores defeituosos que se desenvolvem com o tempo.

    
por Jason C 17.10.2013 / 20:35

1 resposta

2

Você não precisa mudar para ext2, você pode ajustar o ext3.

  • Você pode alterar os requisitos do fsck de um sistema de arquivos usando tune2fs . Uma rápida olhada me diz que o comando correto é tune2fs -c <mount-count> , mas veja a man page para detalhes.
  • Você pode alterar como os dados serão gravados no sistema de arquivos ext3 durante a montagem. Você quer data=journal ou data=ordered . Você pode otimizar ainda mais os commits de periódicos através de outras opções. Por favor, veja esta página .

Por último, mas não menos importante, em grandes unidades, fsck pode levar muito tempo usando ext3 . Por que você não considera ext4 como uma opção?

Por favor, comente esta resposta se eu deixar alguma coisa no escuro.

    
por 17.10.2013 / 22:13