NFS no topo do GFS2 - funciona?

1

Atualmente, estamos usando um derivativo NoSQL chamado Splunk para receber nossos dados. O software suporta algo chamado "search head pooling", no qual o mecanismo de dispatch de tarefas está alojado em vários servidores que compartilham um ponto de armazenamento comum. Originalmente, nossa intenção era usar um sistema de arquivos em cluster como o GFS2, devido à baixa latência, estabilidade e facilidade de configuração. Nós configuramos o GFS2, e ele está funcionando sem problemas.

No entanto, ao tentar executar o software, ele está tentando criar arquivos de bloqueio e várias outras coisas que a equipe de suporte não consegue explicar. O feedback final deles foi que eles só suportam NFS.

Nossa equipe de administração de rede está muito preocupada com o NFS (falta de estabilidade, problemas de bloqueio de arquivos, etc.).

Então, eu estava pensando sobre a possibilidade de configurar o NFS em cada servidor no cluster para atuar como uma camada entre o sistema de arquivos GFS2 e o software. Basicamente, configure cada servidor para exportar o ponto de montagem do sistema de arquivos GFS2 via NFS e, em seguida, diga a cada servidor para se conectar a esse compartilhamento NFS. Dessa forma, não estamos introduzindo nenhum ponto único de falha, caso um servidor NFS dedicado seja desativado, mas o fornecedor obtenha seu compartilhamento NFS "obrigatório".

Estou apenas pensando em maneiras, então, por favor, separe isso:)

    
por Matthew 10.09.2012 / 15:11

1 resposta

2

O o bloqueio do GFS2 funciona , você pode estar vendo sérios problemas de desempenho apontando cada nó para um servidor NFS diferente:

If another node requests a glock which cannot be granted immediately, then the DLM sends a message to the node or nodes which currently hold the glocks blocking the new request to ask them to drop their locks. Dropping glocks can be (by the standards of most file system operations) a long process. Dropping a shared glock requires only that the cache be invalidated, which is relatively quick and proportional to the amount of cached data.

Dropping an exclusive glock requires a log flush, and writing back any changed data to disk, followed by the invalidation as per the shared glock.

[...]

Due to the way in which GFS2's caching is implemented the best performance is obtained when either of the following takes place:

  • An inode is used in a read only fashion across all nodes.
  • An inode is written or modified from a single node only.

Além disso, documentos de suporte como os da Red Hat indicam que os bloqueios POSIX em compartilhamentos NFS seriam induzir problemas , portanto, somente configurações de cluster Ativo / Passivo nas quais o NFS é exportado de um único nó ativo a qualquer momento e nenhum acesso de arquivo ao sistema de arquivos GFS2 é executado, exceto que o configurado através do serviço NFS seria suportado. Obviamente, isso deve cuidar de qualquer tipo de interações de bloqueio imprevistas entre o NFS e o GFS2, mas provavelmente não é o que você queria ver.

    
por 10.09.2012 / 16:41

Tags