Appendix D. HA Resource Behavior
This appendix describes common behavior of HA resources. It is meant to provide ancillary information that may be helpful in configuring HA services. You can configure the parameters with Luci,
system-config-cluster
, or by editing etc/cluster/cluster.conf
. For descriptions of HA resource parameters, refer to Appendix C, HA Resource Parameters. To understand resource agents in more detail you can view them in /usr/share/cluster
of any cluster node.
Note
To fully comprehend the information in this appendix, you may require detailed understanding of resource agents and the cluster configuration file,
/etc/cluster/cluster.conf
.
An HA service is a group of cluster resources
configured into a coherent entity that provides specialized services
to clients. An HA service is represented as a resource tree in the
cluster configuration file,
/etc/cluster/cluster.conf
(in each cluster
node). In the cluster configuration file, each resource tree is an XML
representation that specifies each resource, its attributes, and its
relationship among other resources in the resource tree (parent,
child, and sibling relationships).Note
Because an HA service consists of resources organized into a
hierarchical tree, a service is sometimes referred to as a
resource tree or resource
group. Both phrases are synonymous with
HA service.
At the root of each resource tree is a special type of resource
— a service resource. Other types of resources comprise
the rest of a service, determining its
characteristics. Configuring an HA service consists of
creating a service resource, creating subordinate cluster
resources, and organizing them into a coherent entity that
conforms to hierarchical restrictions of the service.
This appendix consists of the following sections:
Note
The sections that follow present examples from the cluster configuration file,
/etc/cluster/cluster.conf
, for illustration purposes only.
D.1. Parent, Child, and Sibling Relationships Among Resources
A cluster service is an integrated entity that runs under the control of
rgmanager
. All resources in a service run on the same node. From the perspective of rgmanager
, a cluster service is one entity that can be started, stopped, or relocated. Within a cluster service, however, the hierarchy of the resources determines the order in which each resource is started and stopped.The hierarchical levels consist of parent, child, and sibling.
Example D.1, “Resource Hierarchy of Service foo” shows a sample resource tree of the service foo. In the example, the relationships among the resources are as follows:
fs:myfs
(<fs name="myfs" ...>) andip:10.1.1.2
(<ip address="10.1.1.2 .../>) are siblings.fs:myfs
(<fs name="myfs" ...>) is the parent ofscript:script_child
(<script name="script_child"/>).script:script_child
(<script name="script_child"/>) is the child offs:myfs
(<fs name="myfs" ...>).
Example D.1. Resource Hierarchy of Service foo
<service name="foo" ...> <fs name="myfs" ...> <script name="script_child"/> </fs> <ip address="10.1.1.2" .../> </service>
The following rules apply to parent/child relationships in a resource tree:
- Parents are started before children.
- Children must all stop cleanly before a parent may be stopped.
- For a resource to be considered in good health, all its children must be in good health.