On Thu, 5 Feb 2009 15:15:57 +0000 jumanjiman wrote: > A guiding principle for cluser suite is that an ha service (resource group) should be able to fail over w/o impacting any other RG. Ok, it does make sense. I would like to dig to dependencies a little more, to understand better the degree of flexibility and the correct approach. I take for example a DB as application, but I think the scenario could be similar for other apps. Tipically if the DB is Oracle you would spread datafiles and other structures on several different filesystems. Based on above considerations, if I have a 2-nodes cluster where I want to put 2 oracle instances on HA I should make something like service1 with resources ip1, fs1, fs2, fs3, orasid1 service2 with resources ip2, fs4, fs5, fs6, orasid2 This is the maximum flexibility so that at run-time I can get the two instances on different nodes and leverage the overall power available, keeping one node strong enough to be able to sustain the load of both the instances in case of failure/maintenance. But it could be a problem if I have not so many different LUNs available on the SAN for example. Or if I have problems to bind the two instances to different ip addresses. Some questions: 1) In this scenario is it correct to say that orasid1, being a script, is started as the latest resource, but if for example fs3 fails to mount, the RG attempts anyway to start the orasid1 instance, because there is not an explicit dependency upon other resources? Or is the script attempted to be run only if all the other fs resources have started ok, by default? If not so, I can put a dependency, but can it be on all the three filesystems reosurces and not only one of them? I see something such as this into the docs <service name="foo" ...> <fs name="myfs" ...> <script name="script_child"/> </fs> </service> Can I put more file systems directives in a single <fs> </fs> section? In this case I could set the oracle script a dependency of the success of all the three mount operations.... 2) Suppose a scenario where for some reason I want both the two instances to be kept together. In this case I would have <service autostart="1" name="sid1and2"> <ip ref="192.168.0.1"/> <fs ref="fs1"/> <fs ref="fs2"/> <fs ref="fs3"/> <script ref="sid1"/> <script ref="sid2"/> </service> A possible problem would arise if I want to do planned maintenance for sid1 and so shutdown this instance, but without interfering with sid2. RG will restart sid1 automagically... I can solve this step setting up the oracle scripts and let them use a sort of lock file (eg MAINTENANCE_SID1.lock) so that if the file exists it corresponds to an OK status for the resource. Anyway in this scenario, if an unplanned problem arises and sid2 fails, RG will try to restart it in place (can I set how many times and/or for how log RG tries this?) and then if it doesn't succeed, it will try to restart all the service's resources on the other node, so compromising sid1 too. Is this correct? Any bypass? thanks fro your comments Bye, Gianluca -- Linux-cluster mailing list Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster