O manual para a opção de montagem 'barreira' é:
barreira = 0 / barreira = 1
Isso desativa / ativa o uso de barreiras de gravação no código jbd.barrier = 0 desativa, barreira = 1 habilita (padrão). Isso também requer uma pilha de E / S que possa suportar barreiras e, se o jbd receber um erro em uma gravação de barreira, desabilitará as barreiras novamente com um aviso. As barreiras de gravação reforçam a ordenação adequada de confirmações de diário no disco, tornando os caches voláteis de gravação em disco seguros para uso, com alguma penalidade de desempenho. Se seus discos tiverem bateria de uma maneira ou de outra, desabilitar as barreiras poderá melhorar o desempenho com segurança.
Mas não sei o que significa a frase " ordenação adequada de diário de disco ".
Suponha ordem normal - diário 1, dados 1; diário 2, dados 2.
Quais dos seguintes resultados de pedidos ocorrerão se eu definir barrier=0
?
- diário 2, dados 2; diário 1, dados 1;
- dados 1, diário 1; dados 2, diário 2.
barrier=1
, e corre rápido o suficiente para mim. A menos que você esteja fazendo coisas realmente pesadas, eu deixaria. Você tem buffers ram, para que as coisas sejam gravadas quando possível, sem abrandar os aplicativos. E muito pouco atraso na gravação em disco. Se você quiser ver quanto os buffers ram aceleram, adicione sync = 1 ao seu diretório pessoal e tente usar o sistema por um dia ou dois.Respostas:
A maioria dos sistemas de arquivos modernos são sistemas de arquivos com registro em diário, o que significa que eles acompanham as alterações que ainda não foram gravadas no disco em uma estrutura de dados interna chamada de diário. No caso de uma falha, este diário será repetido, para garantir que todas as gravações tenham sido executadas com êxito, evitando a corrupção de arquivos.
Ao gravar os dados no disco, o cache de gravação reordena as gravações para tentar maximizar a taxa de transferência, mas deve garantir que os dados reais do arquivo sejam gravados no disco antes dos metadados, para garantir que, se houver uma falha ocorre que os metadados não estarão desatualizados com os dados.
O problema é que muitos discos têm caches próprios que também podem solicitar novamente as gravações. Alguns sistemas de arquivos assumem que isso acontecerá e forçará o disco a liberar o cache em determinados pontos para evitar isso, e é chamado,
write barriers
por exemplo, ext4 e Linux em geral.Para discos modernos, o sacrifício de desempenho para isso é insignificante, e você não deve desativar as barreiras de gravação, a menos que seja absolutamente necessário.
fonte
Deste artigo do LWN :
fonte