I've been running large clustered mod_perl applications for a few
years and now am about to be deploying a cluster of jboss application
servers for the first time. I've read through the general and clustering docs on labs.jboss.com.
1. With our mod_perl applications we mount a shared filesystem with apache and our mod_perl application code. Individual nodes write to individual filesystem locations for logs and that type of thing but the app code is shared. Is it possible or useful to use this model with jboss? Farm deployment seems great for tossing out new EAR files in a running cluster, but the nodes have to have a basic jboss install up and running for that to work. I'd like a way to not have to configure jboss separately for each node in the cluster. Can anyone describe a solution like this?
2. Can anyone verify what directories in the <jboss_home>/server// directory that jboss needs write access to to run the server instance? Obviously the log directory and likely the work directory. Anything else? All? Can the things that need to be written to be moved outside this tree?
3. Is there a way to relocate the server directory outside the <JBOSS_HOME> dir? Do the other directories besides server need to be writable to the running server? I would like to place <JBOSS_HOME> on a volume mounted read-only by all nodes in a cluster, but I don't know if this will work. If not, it could be installed locally in /usr/local/. Either way, I'd still need a way to move the server directory outside that tree to another shared NFS mount, but one that is writable obviously as this directory is
clearly written to during server operation. I'm hoping the server directory can be moved with something more graceful than replacing it with a symlink after install.
4. Taking suggestions or examples for how to plan for deployment of
code (is it really just new EAR files via deploy or farm deploy as our
dev claims or are the other server bits twiddled often?) as well as
configuration changes and other maintenance of a cluster of many nodes
to minimize administrative effort.
5. It looks like the JMX console provides a lot of data about the
state of a running cluster though I haven't gotten into all its
support uses yet. Any good docs for utilizing built in jboss features
for operations support of webapps? Is it advisable to run this console
on all nodes? Would it be better to use HA Singleton to run it on one
node only? Or potentially even run it only on a specific node that
does not serve customer traffic due to security or performance