This site best when viewed with a modern standards-compliant browser. We recommend Firefox Get Firefox!.

Linux-HA project logo
Providing Open Source High-Availability Software for Linux and other OSes since 1999.

USA Flag UK Flag

Japanese Flag


About Us

Contact Us

Legal Info

How To Contribute

Security Issues

This web page is no longer maintained. Information presented here exists only to avoid breaking historical links.
The Project stays maintained, and lives on: see the Linux-HA Reference Documentation.
To get rid of this notice, you may want to browse the old wiki instead.

1 February 2010 Hearbeat 3.0.2 released see the Release Notes

18 January 2009 Pacemaker 1.0.7 released see the Release Notes

16 November 2009 LINBIT new Heartbeat Steward see the Announcement

Last site update:
2019-12-06 02:30:52

Resource Agent Specifications


  1. Resource Agent Specifications
    1. Types of Resource Agents
    2. OCF Resource Agent Specifications
      1. See Also
    3. LSB Resource Agent Specifications
    4. R1 Heartbeat Resource Agent Specifications
    5. STONITH Resource Agent Specifications

Types of Resource Agents

Heartbeat (through the LRM), supports four different types of resource agents. These are:

  • OCF (Open Cluster Framework) Resource Agents
  • LSB (Linux Standards Base) init scripts
  • R1 Heartbeat resource agents
  • STONITH resource agents

The first two of these are based on externally defined standards, and the latter two are unique to this project.

When writing new resource agents, we typically recommend that they be written as OCF resource agents, as they are the most powerful and general of all of these types, unless one needs to operate a STONITH device, in which case we recommend that you write a STONITH device handler.

OCF Resource Agent Specifications

REDIRECT {OCF_Resource_Agents}

Content moved to media wiki

See Also

ResourceAgent DL321.pdf

LSB Resource Agent Specifications

REDIRECT {LSB_Resource_Agents}

R1 Heartbeat Resource Agent Specifications

REDIRECT {Heartbeat_Resource_Agents}

content moved to mediawiki

STONITH Resource Agent Specifications

Are not yet documented :-(

However, the following short description might be helpful.

STONITH resource agents are mapped from STONITH devices, so to write a STONITH Resource Agent, one has to write a STONITH device driver, and the corresponding resource agent will magically appear in the system.

Because these resource agents are mapped from STONITH devices, the APIs don't look very much like other resource agents.

If you have a host-reset device you wish to use, and we don't already support it, there are two basic approaches to writing a STONITH Resource Agent:

  • 'C' STONITH plugin
  • Script ("external") plugin

If you write a 'C' plugin, they are locked into memory and are suitable for use with cluster filesystems without danger. They are slightly harder to write than script plugins, but there are numerous worked examples in the source code.

If you write a script plugin, it is fully as functional and easy to configure as 'C' plugins, with the slight disadvantage of being risky to use with a cluster filesystem in a low-memory situation on Linux.

For now, all I can say about these is Use The Source Luke ;-) -- :-(