OCF_HEARTBEAT_NFSSER(7)
π
ocf_heartbeat_nfsserver β the manual page bestie (like, it's ocf_heartbeat_nfsserver(7) if you're being formal β¨)
okay so picture this: you've got an NFS server, you want it to fail over like a boss, and you want somebody else to handle the messy bits. That's this resource agent. Welcome to the group chat π«Ά
πΈ NAME πΈ
ocf_heartbeat_nfsserver β manages an NFS server. That's it, that's the whole vibe. A whole resource agent whose entire job is "keep the NFS server alive and looking cute."
β¨ SYNOPSIS β¨
nfsserver [start | stop | monitor | meta-data | validate-all]
Five actions, pick your fighter. π
π¦ DESCRIPTION π¦
So nfsserver helps you manage the Linux nfs server as a failover-able resource in Linux-HA. Iconic behavior, truly. π
But here's the tea: it depends on Linux-specific NFS implementation details, so it's considered not portable to other platforms yet. Like, it's a Linux girlie through and through. No cap. π
π SUPPORTED PARAMETERS π
okay bestie, here's where you actually have to make some choices. Buckle up. π
nfs_init_scriptβ this is the default init script shipped with your Linux distro. The nfsserver resource agent straight-up offloads thestart/stop/monitorwork to the init script, because the procedure to start/stop/monitor nfsserver varies on different Linux distros (chaotic, honestly). In the event that this option is not set, this agent will attempt to use an init script at this location,/etc/init.d/nfsserver, or detect a systemd unit-file to use in the event that no init script is detected. Smart little detective, we love her π (optional, string, default "auto detected")nfsv4_onlyβ run in NFSv4 only mode, withrpc-statdandrpcbindservices masked. Minimalist queen π§ (optional, boolean, default false)nfs_no_notifyβ do not send reboot notifications to NFSv3 clients during server startup. Like leaving them on read, but for servers π (optional, boolean, default false)nfs_notify_foregroundβ keeps thesm-notifyattached to its controlling terminal and running in the foreground. Main character energy, refuses to background herself π (optional, boolean, default false)nfs_smnotify_retry_timeβ specifies the length ofsm-notifyretry time, in minutes, to continue retrying notifications to unresponsive hosts. If this option is not specified,sm-notifyattempts to send notifications for 15 minutes. Specifying a value of0causessm-notifyto continue sending notifications to unresponsive peers until it is manually killed. Ma'am, that's commitment π (optional, integer, no default)nfs_server_scopeβ okay this one comes with a whole essay, so here's RFC8881, 8.4.2.1 State Reclaim, quoted straight up:
If the server scope is different, the client should not attempt to reclaim locks. In this situation, no lock reclaim is possible. Any attempt to re-obtain the locks with non-reclaim operations is problematic since there is no guarantee that the existing filehandles will be recognized by the new server, or that if recognized, they denote the same objects. It is best to treat the locks as having been revoked by the reconfiguration event.
For lock reclaim to even be attempted, we have to define and set the same server scope for NFSD on all cluster nodes in the NFS failover cluster. fr fr, all of them.
And heads up: this agent won't "guess" a suitable server scope name for you β you need to explicitly specify this. But without it, NFSv4 lock reclaim after failover won't work properly. Suggested value: the failover "service IP". π«Ά (optional, string, no default)
nfs_ipβ comma separated list of floating IP addresses used to access the nfs service. Keep the commas, bestie, they matter β¨ (optional, string, no default)nfs_shared_infodirβ the nfsserver resource agent will save nfs related information in this specific directory. And this directory must be able to fail-over before nfsserver itself. Order of operations, queen π (optional, string, no default)rpcpipefs_dirβ the mount point for the sunrpc file system. Default is/var/lib/nfs/rpc_pipefs. This script will mount (bind)nfs_shared_infodiron/var/lib/nfs/(cannot be changed), and this script will mount the sunrpc file system on/var/lib/nfs/rpc_pipefs(default, can be changed by this parameter). If you want to move onlyrpc_pipefs/(e.g. to keeprpc_pipefs/local) from default, please set this value. iykyk π (optional, string, default "/var/lib/nfs/rpc_pipefs")
π₯ SUPPORTED ACTIONS π₯
This resource agent supports the following actions (operations). Timeouts included because punctuality is a vibe β°
startβ starts the resource. Suggested minimum timeout: 40s.stopβ stops the resource. Suggested minimum timeout: 20s.monitorβ performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 10s.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: 30s.
π EXAMPLE CRM SHELL π
The following is an example configuration for a nfsserver resource using crm(8) shell:
primitive p_nfsserver ocf:heartbeat:nfsserver \
op monitor depth="0" timeout="20s" interval="10s"
copy it, paste it, slay it π
(and yeah, it's depth="0" here β don't come for me, that's literally what it says)
β EXAMPLE PCS β
The following is an example configuration for a nfsserver resource using pcs(8):
pcs resource create p_nfsserver ocf:heartbeat:nfsserver \
op monitor OCF_CHECK_LEVEL="0" timeout="20s" interval="10s"
and yes, in pcs land it's OCF_CHECK_LEVEL="0" β different syntax, same energy π¦
π SEE ALSO π
- http://clusterlabs.org/ β go touch grass on the website, it's giving community π«Ά
π AUTHOR π
ClusterLabs contributors (see the resource agent source for information about individual authors). We stan a collective β¨
okay that's the whole page!! go fail over something and think of me π
mwah π this has been resource-agents UNKNOWN, dated 10/01/2026 β catch you on the next manpage, bestie π
π¦ where this page comes from
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms