OCF_HEARTBEAT_LVM(7)

πŸ’… OCF_HEARTBEAT_LVM(7) β€” the ocf_heartbeat_LVM page, but make it make sense

okay so bestie, welcome to the manual page for ocf_heartbeat_LVM πŸ’– this is the OCF resource agents corner of the world and this page is literally all about it. grab a lil snack πŸ“, we're learning.


🌸 NAME 🌸

ocf_heartbeat_LVM β€” controls the availability of an LVM Volume Group. yes. that's the whole vibe. it keeps your volume group alive or not alive and it takes that job very seriously πŸ‘‘


✨ SYNOPSIS ✨

LVM [start | stop | status | monitor | meta-data | validate-all]

that's the lineup, no cap. those are the actions you can throw at it 🫢


πŸŽ€ DESCRIPTION πŸŽ€

So this is a resource script for LVM. it manages a Linux Volume Manager volume (LVM) as an HA resource. that's it, that's the tea πŸ¦‹ it's the main character that makes your volume group behave like a proper high-availability resource.


πŸ’œ SUPPORTED PARAMETERS πŸ’œ

these are the knobs you get to twiddle. every single one, no skipping πŸ™ˆ

  • volgrpname β€” the name of the volume group. that's literally it, that's the whole thing.

(unique, required, string, no default) β€” so yeah, required, you can't skip it, and there's no default hiding behind the curtain πŸ’€

  • exclusive β€” if you set this, the volume group gets activated exclusively. and it works one of two ways, bestie, listen:
    • if the volume group has the cluster attribute set, then it gets activated exclusively using clvmd across the cluster πŸŒ€
    • if the cluster attribute is not set, then it gets activated exclusively using a tag and the volume_list filter 🏷️
    • and when the tag option is in use, the volume_list in lvm.con must be initialized. it can be as simple as setting 'volume_list = []' depending on your setup ✨

(optional, boolean, default false)

  • tag β€” if "exclusive" is set on a non clustered volume group, this overrides the tag to be used 🎯

(optional, string, default "pacemaker")

  • partial_activation β€” if set, the volume group will be activated partially, even with some physical volumes missing 😭 it helps to set this to true when you're using mirrored logical volumes πŸͺž

(optional, string, default "false")


πŸ”₯ SUPPORTED ACTIONS πŸ”₯

this resource agent supports the following actions (operations). the timeouts are suggested minimums, mkay, so don't come at me 🫢

  • start β€” starts the resource. suggested minimum timeout: 30s ⏱️
  • stop β€” stops the resource. suggested minimum timeout: 30s
  • status β€” performs a status check. suggested minimum timeout: 30s
  • monitor β€” performs a detailed status check. suggested minimum timeout: 30s. suggested interval: 10s πŸ‘€ (yeah it's got an interval, she's thorough)
  • methods β€” suggested minimum timeout: 5s
  • meta-data β€” retrieves resource agent metadata (internal use only 🀫). suggested minimum timeout: 5s
  • validate-all β€” performs a validation of the resource configuration. suggested minimum timeout: 5s

🧚 EXAMPLE CRM SHELL 🧚

here's what a LVM resource looks like configured with the crm(8) shell β€” copy it, love it, ship it πŸ’…

primitive p_LVM ocf:heartbeat:LVM \
  params \
    volgrpname=string \
  op monitor depth="0" timeout="30s" interval="10s"

🌈 EXAMPLE PCS 🌈

and here's the same energy but with pcs(8) β€” note the OCF_CHECK_LEVEL instead of depth, ikyk 😌

pcs resource create p_LVM ocf:heartbeat:LVM \
  volgrpname=string \
  op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="10s"

πŸ¦‹ SEE ALSO πŸ¦‹


πŸ‘‘ AUTHOR πŸ‘‘

ClusterLabs contributors 🫢 (see the resource agent source for info about the individual authors β€” they're the real ones, fr fr)


okay that's the whole page bestie, you ate that πŸ’– go configure some volume groups and remember: volgrpname is required, no default, no exceptions πŸ’€

signing off with the receipts: this is resource-agents UNKNOWN, dated 10/01/2026, and the page is OCF_HEARTBEAT_LVM(7) πŸŽ€βœ¨

πŸ“¦ where this page comes from