DRBD - Por que somente leitura em um recurso secundário causaria problema de coerência de cache

1

De acordo com a documentação do DRBD9 ( link ), lendo o dispositivo causaria problema de coerência de cache, mas não tenho certeza sobre o motivo. ( Eu sei que não consigo acessar um recurso em função secundária, mas quero entender as razões )

Minha hipótese é (assumindo que temos DRBD-1 primário e DRBD-2 secundário, sistema de arquivos ext4 e "file_a" é um arquivo no dispositivo drbd):

  1. Arquivo de acesso DRBD-2_a e coloca o arquivo_um deslocamento (ou algo parecido) em seu cache. (O DRBD-2 tem direitos de somente leitura, portanto, o sistema acha que o arquivo não pode ser modificado).
  2. O DRBD-1 grava o conteúdo file_b no antigo offset file_a.
  3. O DRBD-2 quer acessar file_a novamente, então o sistema usa o deslocamento que ele armazenou em seu cache, esperando encontrar dados file_a enquanto acessa dados file_b.
  4. Temos problema de coerência de cache .

Agradecemos antecipadamente por me esclarecer sobre este ponto.

    
por D.louis 13.04.2016 / 14:53

1 resposta

2

Sim, o que você descreveu é o cenário exato que pode levar a problemas de coerência do cache.

Para resolver esse problema, você precisou usar um sistema de arquivos projetado para revalidar quaisquer entradas armazenadas em cache acessadas por outros hosts. Estes são chamados de sistemas de arquivos em cluster , sendo o GFS2 e o OCFS exemplos principais.

Mas, por favor, note que, por essa mesma razão, os sistemas de arquivos em cluster são geralmente mais lentos que os tradicionais.

    
por 13.04.2016 / 17:30

Tags