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.