Estes dias me deparei com a seguinte situação, uma aplicação WAR que necessitava de um diretório compartilhado para armazenar arquivos. Um JBoss em cluster, então nada de diretório local, deste modo tinha duas soluções: NFS, GFS ou OCF2.
Bom, NFS não me pareceu uma boa solução, pois teria um ponto único de falha, no caso o servidor NFS. Restava então a solução GFS ou OCF2, GFS não era possível por causa do cluster estar em um Xen Server da Citrix que não suporta fencing device, logo estava eliminado, me restou o OCFS.
Só que como o cluster do JBoss tinha duas instâncias por VM, ou seja, 101 e 102 e 201 e 202, não era possível criar um ponto de montagem OCFS2 para ambas as instâncias sem reescrever a aplicação.
O ponto de montagem deveria ser por exemplo: /opt/jboss-eap-5.1/jboss-as/server/101/deploy/my.war/userfiles
Então teria que ter dois pontos de montagem:
/opt/jboss-eap-5.1/jboss-as/server/101/deploy/my.war/userfiles
/opt/jboss-eap-5.1/jboss-as/server/102/deploy/my.war/userfiles
E atualmente o ponto de montagem configurado era /dados e os arquivos necessários estavam em /dados/usersfiles
Tentei um link simbólico: ln -s /dados /opt/jboss-eap-5.1/jboss-as/server/101/deploy/my.war/userfiles
Não funcionou.
Solução: Movi a pasta deploy para /dados(OCF2) e o userfiles para /dados/deploy/my.war, ficando /dados/deploy/my.war/userfiles
Após criei os seguintes links simbólicos:
ln -s /dados/deploy /opt/jboss-eap-5.1/jboss-as/server/101/deploy
ln -s /dados/deploy /opt/jboss-eap-5.1/jboss-as/server/102/deploy
O JVMRoute deixei no arquivo de inicialização das instâncias, exemplo /etc/init.d/jboss-init-101
Pronto, o JBoss entendeu o link da pasta deploy e 100% funcionando.
É uma dificuldade peculiar, mas de peculiaridades é feita a vida.
Nenhum comentário:
Postar um comentário