O mesmo disco ext4 pode ser montado a partir de dois hosts, um só para leitura?

17

Eu sei que montar o mesmo disco com um sistema de arquivos ext4 de dois servidores diferentes (é um vloume iSCSI) provavelmente corromperá os dados no disco. Minha pergunta é será que faz alguma diferença se um dos servidores monta o disco somente leitura enquanto o outro monta seu read-write?

Eu sei que o OCFS2 ou os likes poderiam ser usados para isso e que eu poderia exportar o disco com o NFS para ser acessado pelo outro servidor, mas eu gostaria de saber se a configuração que proponho funcionará.

    
por Fernando 22.03.2013 / 12:40

2 respostas

24

Não. Ele não fornecerá resultados consistentes no cliente somente leitura devido ao armazenamento em cache. Definitivamente não é projetado para isso. Você poderia esperar ver os erros de E / S retornados aos aplicativos. Provavelmente ainda há alguns descuidos no código, que podem causar uma falha no kernel ou uma memória corrompida usada por qualquer processo.

Mas o mais importante é que o ext4 reproduz a revista mesmo em montagens de leitura única. Portanto, uma montagem readonly ainda será gravada no dispositivo de bloco subjacente. Não seria seguro mesmo se ambos as montagens fossem somente para leitura:).

    
por 22.03.2013 / 13:52
0

Isso evitará corrupção de dados, mas provavelmente não será o que você deseja fazer. Eu nunca notei nenhum problema em montar o volume somente leitura em outro nó. Mesmo que algo não seja compatível com o nó ro, que geralmente lança um "inode livre inesperado, por favor execute o e2fsck" ou algo parecido em / var / log / messages. Se algo é terrivelmente inesperado em relação a um sistema de arquivos não crítico ("/ opt / mySpecialmount"), normalmente o Linux apenas montará o volume somente leitura (o que já existe). Se você está super preocupado com o efeito do cache, você pode tentar fazer algum tipo de regime drop_caches / vfs_cache_pressure.

Para evitar a repetição do diário, adicione "noload" aos argumentos de montagem, faça isso junto com errors = remount-ro (apenas para errar do lado do cuidado).

Dito isto, as chances são de que, se você estiver montado apenas para leitura, provavelmente seja apenas uma referência para o outro nó, caso em que o NFS ou o smbfs resolveria o problema e seria projetado para um pouco mais de simultaneidade do que ext3 / 4 seria. Se você precisa de desempenho, então você poderia olhar para um sistema de arquivos em cluster (um pouco mais de sobrecarga administrativa, mas está lá se o desempenho realmente é algo que você precisa).

    
por 22.03.2013 / 14:09