O que significa a bandeira de montagem 'barrier' no Linux?

15

O manual para a opção de montagem 'barreira' é:

barrier=0 / barrier=1

This disables / enables the use of write barriers in the jbd code.barrier=0 disables, barrier=1 enables (default). This also requires an IO stack which can support barriers, and if jbd gets an error on a barrier write, it will disable barriers again with a warning. Write barriers enforce proper on-disk ordering of journal commits, making volatile disk write caches safe to use, at some performance penalty. If your disks are battery-backed in one way or another, disabling barriers may safely improve performance.

Mas eu não sei o que significa a frase " ordenação correta dos registros no diário ".

Suponha ordem normal - diário 1, dados 1; journal 2, data 2.
Qual dos seguintes resultados de pedido ocorrerá se eu definir barrier=0 ?

  1. jornal 2, dados 2; revista 1, dados 1;
  2. dados 1, diário 1; dados 2, diário 2.
por leafonsword 21.07.2014 / 14:57

1 resposta

11

A maioria dos sistemas de arquivos modernos são sistemas de arquivos de registro no diário, o que significa que eles rastreiam alterações que ainda não foram gravadas no disco em uma estrutura de dados interna chamada diário. No caso de uma falha, esta revista será repetida para garantir que todas as gravações sejam executadas com êxito, evitando a corrupção de arquivos.

Quando os dados são gravados 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 ocorrer uma falha, os metadados não ficarão desatualizados com os dados.

O problema é que muitos discos têm caches próprios que também podem reordenar as gravações. Alguns sistemas de arquivos assumirão que isso acontecerá e forçará o disco a liberar o cache em certos pontos para evitar isso, e é chamado write barriers em, e. ext4 e Linux em geral.

Para discos modernos, o sacrifício de desempenho para fazer isso é insignificante, e você não deve desabilitar as barreiras de gravação, a menos que seja absolutamente necessário.

    
por 07.11.2016 / 15:14