A resource is the basic unit of high-availability. It is a service or facility which is made to be highly-available by the high-availability cluster resource manager.
A resource is an abstraction which can be one of many different types. It can be something very concrete like a disk volume, or a badge reader, or it can be more abstract like an IP address, or a set of firewall rules, or a software service like a web server, or a database server.
The basic operations which resources have to support include:
start: initiate or gain control of the resource.
stop: terminate or give up control of the resource
status: determine if the resource is started, or stopped.
monitor: determine in more depth if the resource is operating correctly
(Note that R1-style resources must support status, and R2-style resources must support the monitor operation).
The high-availability cluster resource manager tries to make sure that every resource is made available to users by making sure it is running somewhere in the cluster.
The Heartbeat R1 cluster manager, (and many other cluster resource managers) group resources together into groups, called ResourceGroups. In this case, each group is then started, stopped or moved as a whole by the cluster resource manager.
ResourceAgent, primary node, hb_standby, hb_takeover, haresources