Compartilhe um sistema de arquivos ext4 entre dois servidores RHEL, mas apenas um será montado por vez

3

Eu tenho dois servidores RHEL 6 que compartilham uma conexão física com um armazenamento SAN (ou seja, para que ambos os servidores possam ver isso /dev/sdb ao executar fdisk -l ).

Meu objetivo não é ter os dois servidores acessando o ext4 ao mesmo tempo. Na verdade, um dos servidores o montará na maior parte do tempo. Somente quando o primeiro servidor falhar, eu quero que o outro servidor monte este sistema de arquivos ext4.

Eu já criei volumes lógicos e testei que ambos os servidores podem montar esse sistema de arquivos com êxito. Vou escrever scripts que vão verificar e garantir que o volume não esteja montado no outro servidor antes da montagem.

A minha pergunta é, quando os servidores se revezam para montar um sistema de arquivos ext4 como este, haverá problemas subjacentes que estão faltando? Eu temo que o sistema operacional possa ter alguns cheques ou "notas" nos volumes ...

    
por Lok.K. 13.07.2016 / 06:56

3 respostas

0

Na verdade, há um cenário comum que fiz muitas vezes quando você desmontava o sistema de arquivos e o montava de outra instalação do sistema operacional. É chamado de "recuperação".

Sempre que você fizer a recuperação, inicialize, por exemplo, a partir do sistema operacional em seu CD ou de outra instalação do computador e faça alterações no sistema de arquivos. Você desmonta e inicializa a partir do sistema operacional original e tudo funciona corretamente.

Este cenário é algo como a tarefa de manutenção padrão que eu (e provavelmente todo administrador de Linux experiente) fez dezenas de vezes sem problemas.

Além disso, você pode, por exemplo, montar uma unidade USB em um computador, desmontá-lo e montá-lo em outro computador sem problemas também.

Claro que também há algumas notas no sistema de arquivos. Não depende de uma instalação específica, mas armazena atributos importantes do FS como "opções de montagem, estado do sistema de arquivos - clean, etc ...".

Você pode ler sobre esses atributos quando ligar

man tune2fs

Eu não ficaria muito preocupado com a situação quando você desmontar corretamente o sistema de arquivos e montá-lo em SO diferente, tanto quanto eu estaria preocupado com o mecanismo de bloqueio correto, etc ... Sistema de arquivos Ext3 / 4 não é criado para uso de clustering e Eu não entendo porque você está tentando fazer isso.

Existe alternativa OCFS2 (Oracle Cluster File System 2) que é livre, de código aberto e no kernel do Linux especificamente criado para este tipo de situações. Eu não vejo razões para não usar o OCFS2 e em vez disso, faça um sistema de bloqueio self-made (leia-se "com bugs desconhecidos") quando puder usar uma solução testada e livre.

    
por 14.07.2016 / 01:26
0

Desde que o sistema de arquivos seja desmontado de forma limpa, não há razão para que esses dois hosts não compartilhem o dispositivo da maneira que você acabou de descrever, desde que haja um userId (UID.) . ID do usuário 1001 no host A, e Bob é o ID do usuário 1001 no host B, então um diretório em / dev / sdb montado em / mnt / yourshareddevice / algumediretório de propriedade de Alice no host A será de propriedade de Bob no host B.

Pessoalmente, considero mais conveniente compartilhar esse dispositivo por meio de uma solução de armazenamento de arquivos de rede mais tradicional (NFS, SMB, Gluster etc.), mas o que você está descrevendo é viável e funcional.

    
por 29.09.2016 / 20:23
0

Não há problema em usar o ext4 dessa maneira e, na verdade, isso é feito normalmente com servidores de arquivos (por exemplo, servidores NFS de hospedagem dupla ou sistemas de arquivos de cluster grandes como o Lustre) em uma configuração de alta disponibilidade (HA). Existe até mesmo um recurso ext4 - Proteção Multi-Mount ( mmp ) que deve ser usado em conjunto com o software HA para reduzir o risco de corromper seu sistema de arquivos de ser montado em dois nós no mesmo tempo.

Dito isso, você definitivamente deve usar o software HA existente, como o Corosync / Pacemaker (incluído por padrão com RHEL / CentOS) para gerenciar o armazenamento, em vez de escrever o seu próprio (que é uma receita para perder todos os seus dados). Juntamente com o controle de energia do hardware (por exemplo, powerman ) para STONITH e mmp (para backup no caso raro de falha do Corosync / Pacemaker) você pode montar com segurança um único sistema de arquivos ext4 em dois ou mais servidores - em um servidor em-a- tempo.

Não ficou claro na sua pergunta, mas observe que o compartilhamento de LVs / partições em um disco único entre os servidores ao mesmo tempo NÃO é muito seguro. Você deve acessar somente discos inteiros de qualquer um dos servidores de uma só vez.

    
por 18.04.2018 / 01:29