OCF_HEARTBEAT_STORAG(7)

πŸ’… OCF_HEARTBEAT_STORAG(7) β€” like, the storage-mon page but make it make sense πŸŽ€

okay so real talk, this is from section 7 of the manuals (iykyk) and it's literally the ocf_heartbeat_storage-mon page. bestie, we're about to get into it. ✨


🌸 NAME 🌸

ocf_heartbeat_storage-mon β€” storage I/O health status, no cap πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

storage-mon [start | stop | monitor | meta-data | validate-all]

periodt. those are your whole world, bestie. πŸ‘‘

🌈 DESCRIPTION 🌈

okay so this is a System health agent. it checks the storage I/O status of the drives you give it and then updates the #health-storage attribute. the way that works is honestly iconic. πŸ’…

highkey, usage is highly recommended in combination with the HealthSMART monitoring agent. iykyk. 🫢

and ngl, it's giving limited β€” the agent currently supports a maximum of 25 devices per instance. not me being the 26th drive 😭. keep that in mind fr fr.

πŸ’œ SUPPORTED PARAMETERS πŸ’œ

  • state_file β€” the location where we store the resource state in. it's unique, optional, string type, and has a default of "/run/resource-agents/storage-mon-RESOURCE_ID.state". slay, it already knows where to put things. πŸŽ€
  • drives β€” the drive(s) to check, given as a SPACE separated list. enter the full path to the device, e.g. "/dev/sda". it's unique, required, string type, and has no default. you gotta tell her which drives, bestie. πŸ™ˆ
  • io_timeout β€” specify the disk I/O timeout in seconds. minimum 1, recommended 10 (that's the default, queen behavior). it's optional, integer, default 10. ⏱️
  • check_interval β€” specify the interval between I/O checks in seconds. (only supported with the daemonize option, fyi!) it's optional, integer, default 30. πŸ•°οΈ
  • inject_errors β€” used only for testing! πŸ’€ specify the % of I/O errors to simulate drive failures. it's optional, integer, and has no default. don't be out here injecting errors for fun, that's not the vibe. 🚨
  • daemonize β€” specifies to start storage-mon as a daemon and check for devices. it's optional, boolean, default false. 🧚

⭐ SUPPORTED ACTIONS ⭐

this resource agent supports the following actions (operations), bestie β€” memorize the timeouts, they're giving study guide πŸ“š:

  • start β€” starts the resource. suggested minimum timeout: 10s. go, go, go! πŸ”₯
  • stop β€” stops the resource. suggested minimum timeout: 120s. okay, she takes her time. πŸ’€
  • monitor β€” performs a detailed status check. suggested minimum timeout: 120s. suggested interval: 30s. the way that she's checking in on you πŸ’–
  • meta-data β€” retrieves the resource agent metadata (internal use only). suggested minimum timeout: 5s. πŸŽ€
  • validate-all β€” performs a validation of the resource configuration. suggested minimum timeout: 10s. accountability, we love to see it. 🫢

πŸŽ€ EXAMPLE CRM SHELL πŸŽ€

this is literally the example configuration for a storage-mon resource using the crm(8) shell β€” iconic:

primitive p_storage-mon ocf:heartbeat:storage-mon \
  params \
    drives=string \
  op monitor timeout="120s" interval="30s" start-delay="0s"

🌸 EXAMPLE PCS 🌸

and this one's the example configuration for a storage-mon resource using pcs(8) β€” ate and left no crumbs:

pcs resource create p_storage-mon ocf:heartbeat:storage-mon \
  drives=string \
  op monitor timeout="120s" interval="30s" start-delay="0s"

πŸ‘‘ SEE ALSO πŸ‘‘

http://clusterlabs.org/ β€” go be nosy, bestie. πŸ¦‹

πŸ’œ AUTHOR πŸ’œ

ClusterLabs contributors (see the resource agent source for information about individual authors). we stan. πŸ’–


okay bestie that's the whole thing, and for the sign-off: this page goes out to the resource-agents fam, the UNKNOWN version, dated 10/01/2026, and it's the OCF_HEARTBEAT_STORAG(7) page β€” mwah, periodt. πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from