1 of 1 people found this helpful
There is no JBoss solution for this.
The host controllers are running without a connection to a DC but log warnings.
You might use a DNS or virtual IP addresses to switch the DC.
What I know is that the filesystem is often a shared one, i.e. managed by a SunSolaris cluster software (do not mix the words with a JBoss cluster ).
So the complete filesystem is switched to a hot-standby machine and here the DC (or even a JBoss instance) will be started with exact the same bits.
Pretty much like httpd HA i guess... Red Hat Cluster Suite should do it too
But is it safe to have two (or N) Domain Controllers running and holding the shared domain.xml over NFS?
No because the domain.xml is rewritten in case of any change. Other DC will not reload the configuration based on the XML.
But this is different from what I meant.
The backup DC is only started in case of a crash from the server, with this approach the config will be read at this startup and that should be save.
As a 'normal' JVM crash is handled by the DC itselve, there is a process-controller (different JVM) which restart the DC if necessary. But yes it might happen that this will not work under any circumstances.
I'm sorry for openining an answered topic. Is the domain.xml the only file which must be shared between DC instances(installations?) ?
yes, you might copy the domain.xml.
But what is better in my opinion is to use the start options --backup and --cached-dc during start In this case JBoss will keep care of what to do.
You can use domain.sh --help to see a description for both.
That's true, but I hope that it will be possible to have a solution where it is detected automaticaly.
For the moment I would start the controller with --backup to duplicate the config and use other mechanism to start the instance as DC with --cached-dc if needed.
This should possible if you have the (standby)DC without any server. You need to restart the backup DC in case of emergency anyway as there is no 'hotstandby' feature and you need to switch IP address also.
That's an interesting option. I'm planning to have a domain.xml on a clustered filesystem (GPFS) + use RHEL Clustering to:
1. ensure that exactly 1 instance of DC is running
2. assign the virtual IP to a box with an active DC
This (hopefully) should make the failover fully automatic. I need to prototype it 1st anyway. Do you see this as a feasable solution?
As far as I see this will be feasable, the (slave)HC's should warn if the DC is dead but should reconnect to the (new) DC as soon as it is available.
If you share the domain.xml you have th share the content folder of the domain also as there are the deployments and other stuff located.
Also I would use the DC without any 'productive' application server instance.