Failover automático ou NFS com balanceamento de carga ou clustering automático do NFS?

11

Estou usando NFS (e é o único que conheço bem em arquivos de rede) há alguns anos. Mas ainda não é capaz de descobrir ..

  • Como criar NFSservidores com design em cluster (ou com balanceamento de carga?)
  • Ou pelo menos para implantá-lo no servidor MORE-THEN-ONE e no "Failover automático".

O principal objetivo é NÃO deixar meu servidor NFS em execução único ser um ponto único de falha.


Desde que eu não sei como fazê-lo corretamente, até agora eu inventei por conta própria é:

  1. NFS em 2 servidores.
  2. RSYNC do 1º servidor (assumido mestre) para outro 2º servidor.
  3. Em servidores de aplicativos (Web, etc), coloque a Shell Scriptpara verificar o estado íntegro do NSF-Master Server Mount Point. E, se necessário, desmonte automaticamente (saindo) e monte automaticamente a partir da 2ª.
  4. A principal função que usei no meu Shell Script automático é nfsstat -m.. verificar a integridade do ponto de montagem.

(Estou usando o Redhat )

Mas de qualquer forma, eu ainda não acho que é a maneira segura e padrão.

夏 期 劇場
fonte

Respostas:

8

Este tutorial, intitulado: Cluster NFS de alta disponibilidade: Configurar o Corosync & Pacemaker mostra como configurar um NFS ativo / ativo usando NFS, Corosync e Pacemaker. Como alternativa, você pode seguir este guia intitulado: Armazenamento NFS de alta disponibilidade com DRBD e pacemaker, que mostra a configuração de um ativo / ativo usando DRDB & Pacemaker.

Você provavelmente também desejará dar uma olhada nesses outros links para se familiarizar com as várias tecnologias e terminologias.

As perguntas e respostas da ServerFault também devem ser úteis, sistema de arquivos em cluster Linux .

Referências adicionais

slm
fonte
@AndrewSavinykh - esse link mostra o ativo / passivo que você compartilhou, se é isso que você está procurando.
Slm
5

Essa é apenas uma das muitas maneiras pelas quais o NFS é péssimo.

Não há como fazer isso apenas com o NFS até a versão 3. Você precisará adicionar a funcionalidade manualmente.

Isso provavelmente significa:

  • replicação de dados ou algum armazenamento compartilhado
  • Aquisição de IP
  • Algum tipo de monitoramento de batimentos cardíacos
  • Gerenciamento de cluster

Existem pacotes disponíveis para fazer tudo isso, mas você precisará integrá-los à sua organização.

O projeto de alta disponibilidade do Linux foi criado há muitos anos para implementar algumas dessas coisas. http://www.linux-ha.org/

Você deve encontrar a maior parte do que eles já fizeram em qualquer distribuição popular que esteja usando.

Vale a pena notar ... A maior causa de falha de um sistema (de longe) é o erro administrativo e os clusters de alta disponibilidade são, por definição, um sistema complexo e mais propenso a erros de administração.

OK, além do NFS v4, o NFS v4 começa a implementar algumas das funcionalidades de escalabilidade, segurança e disponibilidade que o AFS possui há 20 anos. Não é de forma alguma implementado total ou amplamente, nem totalmente compatível com vários clientes e servidores, mas se você estiver usando o NFS, comece na v4 e confira o que já foi implementado na sua plataforma.

Colin
fonte
AFS foi incrível, e é em grande parte esquecido ... +1 para ele é menção honrosa
glallen
2

Você não pode ter o NFS como cluster ativo-ativo, tanto quanto eu sei. Agora, para o Active-Passive, existem certas ferramentas que ajudam você a conseguir isso. Estou mais familiarizado com o Solaris OS e o Solaris Cluster, que oferecem a possibilidade de criar compartilhamentos / compartilhamentos NFS de alta disponibilidade, dependendo do seu objetivo.

Uma coisa que você precisará é de um armazenamento compartilhado que possa ser movido do Servidor A para o Servidor B e vice-versa em caso de necessidade. Idealmente, armazenamento iSCSI ou SAN. E um IP associado ao compartilhamento NFS.

O cluster funcionará assim. Em caso de falha do Servidor A, o Servidor B habilitará o IP associado ao servidor NFS e assumirá a propriedade do disco compartilhado, montará e iniciará o servidor NFS. O mesmo acontece caso o servidor B falhe e o servidor A esteja ativo.

Se você desejar fazer isso manualmente, em seguida, como etapas básicas, precisará monitorar scripts e scripts para ativar e desativar os serviços automaticamente.

Dê uma olhada aqui para Redhat

BitsOfNix
fonte
Configurei um cluster NFS ativo / ativo usando um balanceador de carga, CentOS, DRBD, GFS2 e Pacemaker. Veja minha resposta para mais informações.
Doublesharp
2

Eu configurei um par redundante de servidores de arquivos NFS em uma configuração ativo / ativo "primário primário" usando um balanceador de carga, CentOS, NFS, DRBD (replicação), GFS2 (sistema de arquivos em cluster) e Pacemaker (gerenciamento de cluster).

Aqui está um guia para esta implementação no RackSpace, mas seria semelhante em qualquer outro ambiente.

Como configurar o DRBD Primário Duplo no CentOS 6: GFS2 e Marcapasso .

doublesharp
fonte
2

O produto Red Hat RHSS / RHGS (Red Hat Storage / Gluster Server) faz isso perfeitamente, usando um cliente GlusterFS baseado em FUSE para proxy de conexões NFS a um servidor back-end em execução, mantendo vários armazenamentos espelhados back-end no nó do servidor, tudo transparente para o lado do cliente. Esta é uma solução muito eficiente que funcionará para você. Você pode instalar a solução do EPEL / Extra RPM ou comprá-la na Red Hat. No lado do cliente, você simplesmente usa FUSE / glusterfs ou NFS como o tipo de montagem no fstab. Sem problemas confusos de quarum / esgrima.

Joe
fonte
Concordo, funciona bem e configuração é simples
elbarna
1

Este é um tutorial simples e agradável, experimentado e funciona bem.

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

Pessoalmente, prefiro o lvs porque combina ha com equilíbrio de carga, mas tentei com o nfs + gfs2 + drbd e funciona muito mal. Talvez eu precise de um pouco de como, mas não consigo encontrar nada sobre lvs + nfs ha

elbarna
fonte
Mas como eu Virtual IPmencionei lá, sobre os servidores? (Eu não sei)
期 劇場
Estou configurando no servidor lvs, para criar um virtualip, você precisa do lvs e, se quiser, existe uma boa interface da web chamada pirahna gui para criar o virtualip.Leia este pdf, por exemplo, guug.de/lokal/hamburg/talks/Linux -Terminal-Cluster-UNIHH.pdf
elbarna
Agora estou tentando configurar lvs, virtualip..é quase impossível, quando o nfs é montado a partir de um controle remoto e um servidor está inoperante, o nfs é bloqueado mesmo no último servidor e no cliente remoto.
elbarna
De jeito nenhum, é impossível cluster ativo / ativo com NFS
elbarna
Mas, felizmente, podemos ter o pnfs #
1100 elbarna