[Linux-cluster] Question regarding typed resources´ parent child vs. sibling ordering

Ralph.Grothe at itdz-berlin.de Ralph.Grothe at itdz-berlin.de
Tue Feb 11 10:17:17 UTC 2014


Hello,


My actions and questions relate to a RHEL 5 RHCS cluster.

Though I studied carefully the official RHEL 5 Cluster Admin
Guide with special emphasis on the chapter "HA Resource Behavior"
there remain certain things unclear to me.

First of all, I have to mention that my cluster.conf´s
parent-child-sibling hierarchies whithin the service scopes could
successfully be checked in as valid cluster configuration (i.e.
"ccs_tool update /etc/cluster/cluster.conf" succeeded).


My first question is whether it is feasible to use the
<resources> tag, which originally is meant to map inheritance,
and populate such a block although I don't make any use of
inheritance in my configuration?
I simply find that its use makes the appearance of the <rm> block
much more readable an tidier.


Now to my main concern.

Would such a <service> block be valid and start and stop
resources in the proper order (i.e. according to my intention)?

e.g.


<rm>
  <failoverdomains>
    ...
  </failoverdomains>
  <resources>
    ...
  </resources>
  <service name="srv-a" ...>
     <ip ref="10.20.30.40">
       <lvm ref="vg-a" ...>
          <fs ref="fs_srv-a_vg-a_lv-a"/>
          <fs ref="fs_srv-a_vg-a_lv-b"/>
          <fs ref="fs_srv-a_vg-a_lv-c"/>
       </lvm>
       <lvm ref="vg_b" ...>
          <fs ref="fs_srv-a_vg-b_lv-a"/>
          <fs ref="fs_srv-a_vg-b_lv-b"/>
          <fs ref="fs_srv-a_vg-b_lv-c"/>      
       </lvm>
     </ip>
     <oracledb ref="SID-A">
       <script ref="oracle_em" __independent_subtree="1"
__max_restarts="2" __restart_expire_time="0"/>
     </oracledb>
     </script ref="sid-a_statechg_notify"
__independent_subtree="1" __max_restarts="2"
__restart_expire_time="0"/>
  </service>
  <service name="srv-b" ...>
     ...
  </service>
</rm>
 


I am asking because I read in the mentioned doc above that for a
typed resource (such as ip, lvm, fs,...) there exists a strict
start and stop sequence for siblings.
In my parent-child hierarchy above I am reversing this start
order by making the ip resource a parent of the lvm resource
which in sibling context would have a higher starting precedence
than the ip resource.

Of course I had a second thought in mind when rigging up this
seemingly oblique hierarchy of typed resources.

Because there are scheduled maintenance downtimes I wanted to
ease the activation of a whole bunch of a service's resources
like LVM LVs, mountpoints and IP addresses with a single rg_test
invocation when a service has previously been disabled.
I then could issue according to the above config snippet just a

e.g.  rg_test test /etc/cluster/cluster.conf start ip 10.20.30.40


and have all resources activated apart from the Oracle DB
instance.


There is yet another issue that puzzles me.
If I look at the starting sequence by issuing

rg_test noop /etc/cluster/cluster.conf start service srv-a

then the resource script:sid-a_statechg_notify gets executed
before the resources oracledb:SID-A and script:oracle_em.

This would imply to me that any resource of type script has a
higher starting precedence than any resource of type oracledb
because in my config above they are siblings.
I actually would have thought it to be the other way round, i.e.
that script resources have the lowest starting precedence of all.

Unfortunately, in  Table D.1. "Child Resource Type Start and Stop
Order" on page 112 of the cluster administration guide the typed
resource oracledb does not appear.


Many thanks for your patience having read this far.

Regards,
Ralph




More information about the Linux-cluster mailing list