Sistema de arquivos de rede com failover

3

Basicamente estou procurando por "multipath nfs". Eu quero um sistema de arquivos de rede clássico, mas com vários servidores montados nos clientes para um único ponto de montagem e ele deve lidar com uma falha de servidor com failover transparente entre os servidores sem qualquer atraso. Balanceamento de carga e desempenho não são um problema. A sincronização entre os servidores pode ser feita fora desta solução, pode até ser somente leitura para os clientes normais através desta interface.

Eu prefiro evitar o GFS, o Lustre, o AFS, o IP Round Robin e coisas "complicadas" como essas.

Você conhece uma solução simples para esse problema?

    
por nightw 04.06.2011 / 19:48

5 respostas

1

EDIT: Acabei de ver que você quer evitar o Lustre. O GlusterFS não é (para mim) no mesmo espaço, já que não requer nenhum uso do kernel. É puramente o espaço do usuário.

O GlusterFS faz isso. É uma implementação do espaço do usuário, portanto, um pouco mais lenta. Mas, pessoalmente, acredito que a maioria dos sistemas de arquivos em rede tem a rede como o gargalo.

Coisas pessoais à parte:

Com um cluster GlusterFS você monta qualquer dos nós. Se esse nó for desativado, a implementação do cliente será inteligente o suficiente para detectar isso e continuará a trabalhar com outro nó no Cluster.

Eu não tenho certeza sobre a compatibilidade POSIX, então você pode não querer executar o PostgreSQL / MySQL / Oracle a partir disso. Mas servir arquivos estáticos de um GlusterFS está perfeitamente bem. Por favor, note: Servindo arquivos estáticos não significa necessariamente que tem que ser um servidor web. :)

    
por 05.06.2011 / 04:34
1

O truque será obter os clientes para suportar esse tipo de operação não-padrão. Dito isto, você pode tornar o servidor altamente disponível. Coloque dois servidores NFS em um cluster Heartbeat e você terá pelo menos um failover, embora o bloqueio não seja transferido. Você terá um tempo de inatividade algum , pois o cluster descobre que tudo está errado e inicia o failover, mas deve ser muito rápido; bem menos de 30 segundos.

    
por 05.06.2011 / 04:42
0

O que você está pedindo é tipicamente o que uma SAN (Storage Area Network) foi projetada para resolver.

    
por 04.06.2011 / 20:05
0

Sua solução pode estar usando o OCFS2: link

Você pode implantar LUNs iSCSI compartilhados em qualquer número de sistemas e configurar esses LUNs com o OCFS2. Você ganhará um sistema de arquivos compartilhável, quer você esteja usando para clustering, quer para outras finalidades que não sejam realmente relevantes. Com o NFS, você está limitado no que pode fazer. No entanto, com o NFS, você pode aumentar a disponibilidade gerenciando a redundância na camada de rede e implantando a agregação de links em combinação com o canal ether de pilha cruzada. Concedido você está vinculado por um único IP com NFS, mas com agregação em ambas as extremidades você pode, em teoria, ter uma solução bastante redundante. Muitos de nossos clientes na Nexenta utilizam soluções semelhantes a isso. Claramente, você pode ficar muito louco e construir múltiplos agregados para melhorar o rendimento geral, e você pode usar soluções semelhantes ao IPMP, que é o que oferecemos em nossos sistemas NexentaStor.

    
por 05.06.2011 / 05:36
0

Honestamente, você não encontrará uma solução "simples", porque isso não é um problema "simples". Dito isto, por robustez e simplicidade, a pior das hipóteses que eu encontrei é NFS sobre DRBD. Ainda não é simples, mas é muito melhor que o GFS / OCFS2 / Lustre. Dado que você já tem o equivalente de DRBD com sua SAN (supondo que você queira usá-lo), o NFS + heartbeat é realmente onde você vai acabar se quiser um failover.

    
por 27.08.2011 / 06:49