ocf_suse_SAPHanaFilesystem(7)
β¨ NAME β¨
okay bestie, this is the manual page for ocf_suse_SAPHanaFilesystem(7) β page title situation: SAPHanaFilesystem β and it literally does this: Monitors mounted SAP HANA filesystems.
πΈ SYNOPSIS πΈ
SAPHanaFilesystem [ start | stop | status | monitor | meta-data | validate-all | reload | methods | usage ]
π DESCRIPTION π
SAPHanaFilesystem is a resource agent (RA) that monitors mounted SAP HANA filesystems by checking read/write access. This RA does neither mount nor umount any filesystem. In case the filesystem monitor fails, the RA decides how to proceed based on HANA system replication status. The monitor and action timeouts can be significantly shorter than SAPHanaController resource timeouts. This results in faster takeover actions.
π«Ά Behaviour on HANA primary sites
srHook=SOK: In case of monitor failure the Linux cluster tries to stop and restart theSAPHanaFilesystemresource (not the real filesystem). If that stop fails and the HANA system replication is in sync the node gets fenced. In consequence an HANAsr_takeoverwill be triggered.srHook=SFAIL: In case of monitor failure the Linux cluster tries to stop and restart theSAPHanaFilesystemresource (not the real filesystem). If the HANA system replication is not in sync this will be repeated until it gains success ormigration-thresholdis reached.
π Behaviour on HANA secondary sites
In case of monitor failure the Linux cluster is not informed by SAPHanaFilesystem resource agent.
π Background information
For HANA scale-out systems, the directory /hana/shared/$SID/ is provided as NFS share to all nodes of a site. The directory contains binaries, tools and other components needed for running and monitoring the HANA database. The NFS share for /hana/shared/$SID/ is mounted by the OS as usual. In case of NFS failure, HANA might stop working but the Linux cluster might not take action in reasonable time. Due to obligatory NFS for the directory /hana/shared/$SID/, scale-out systems are affected more often than scale-up systems. The SAPHanaFilsystem RA can be used on local filesystems as well. This might be useful for scale-up systems. Even if SAPHanaFilesystem improves Linux cluster reaction on failed filesystems, reliable filesystems are cornerstones for SAP HANA database availability.
SAPHanaFilesystem relies on cluster attributes set by SAPHanaTopology and susHanaSR.py, particularly hana_$SID_site_srHook_$SITE. See manual pages ocf_suse_SAPHanaTopology(7), susHanaSR.py(7) and SAPHanaSR-showAttr(8).
Please see also the REQUIREMENTS section below.
π SUPPORTED PARAMETERS π
This resource agent supports the following parameters:
SIDβ SAP System Identifier. Has to be same on both instances. Mandatory. Example:"SID=SLE".InstanceNumberβ Instance Number of the SAP HANA database. For system replication also Instance Number+1 is blocked. Mandatory. Example:"InstanceNumber=00".DIRECTORYβ Path to directory to be monitored. The RA creates data in an own subdirectory".suse_SAPHanaFilesystem". Do not touch this hidden subdirectory. Optional. Default:"DIRECTORY=/hana/shared/$SID/".ON_FAIL_ACTIONβ Internal RA decision in case of monitor failure. Values:[ ignore | fence ].ignore: do nothing, just report failure into logs.fence: trigger stop failure and node fencing, if conditions are matched. Optional. Default:"ON_FAIL_ACTION=fence".
π¦ SUPPORTED PROPERTIES π¦
hana_${sid}_glob_filterβ Global cluster propertyhana_${sid}_glob_filter. This property defines which messages are logged by the RA. It should only be set if requested by support engineers. The default is sufficient for normal operation. Message Types:[ act | dbg | dec | flow | top ]- ACT: Action. Start, stop,
sr_takeoverand others. See also section SUPPORTED ACTIONS. - DBG: Debugging info. Usually not needed at customer site. See SUSE TID 7022678 for maximum RA tracing.
- DEC: Decision taken by the RA.
- FLOW: Function calls and the respective return codes.
- ACT: Action. Start, stop,
π₯ SUPPORTED ACTIONS π₯
This resource agent supports the following actions (operations):
startβ Sets the status of the clone to"started". No filesystem action is done. Suggested minimum timeout:10.stopβ Sets the status of the clone to"stopped". No filesystem action is done. Suggested minimum timeout:20.statusβ Reports whether theSAPHanaFilesystemresource (not the filesystem) is running. Suggested minimum timeout:120.monitorβ Checks access to the path specified in parameterDIRECTORY. The check is done by creating a sub-directory and writing a file. Suggested minimum timeout:120. Suggested interval:120.validate-allβ Reports whether the parameters are valid. Suggested minimum timeout:5.meta-dataβ Retrieves resource agent metadata (internal use only). Suggested minimum timeout:5.methodsβ Reports which methods (operations) the resource agent supports. Suggested minimum timeout:5.reloadβ Changes parameters without forcing a recover of the resource. Suggested minimum timeout:5.
π RETURN CODES π
The return codes are defined by the OCF cluster framework. Please refer to the OCF definition on the website mentioned below.
In addition the internal return code 124 is logged, if the timeout has been exceeded.
πΈ EXAMPLES πΈ
Okay bestie, this is the good part β actual configs you can steal. Every example is verbatim, so copy with confidence. π
π Example config for a SAPHanaFilesystem resource on HANA scale-up
Might be useful if NFS is used for the /hana/shared/ filesystem instead of classical block devices. One NFS share is used per node. The NFS is not shared across sites. On each cluster node the NFS share is mounted statically. SID is SLE, instance number is 00.
primitive rsc_SAPHanaFil_SLE_HDB00 ocf:suse:SAPHanaFilesystem \
op start interval="0" timeout="10" \
op stop interval="0" timeout="20" \
op monitor interval="120" timeout="120" \
params SID="SLE" InstanceNumber="00"
clone cln_SAPHanaFil_SLE_HDB00 rsc_SAPHanaFil_SLE_HDB00 \
meta clone-node-max="1" interleave="true"
π¦ Example config for a SAPHanaFilesystem resource on HANA scale-up that does nothing
Might be useful for logging issues with accessing the /hana/shared/ filesystem. The RA does nothing except logging monitor failures. SID is SLE, instance number is 00. See also the example on showing monitor failures in system logs. (Yes, a resource that just vibes and takes notes. Iconic, honestly. β¨)
primitive rsc_SAPHanaFil_SLE_HDB00 ocf:suse:SAPHanaFilesystem \
op start interval="0" timeout="10" \
op stop interval="0" timeout="20" \
op monitor interval="120" timeout="120" \
params SID="SLE" InstanceNumber="00" ON_FAIL_ACTION="ignore"
clone cln_SAPHanaFil_SLE_HDB00 rsc_SAPHanaFil_SLE_HDB00 \
meta clone-node-max="1" interleave="true"
π Example config for a SAPHanaFilesystem resource for HANA scale-out
The HANA consists of two sites with several nodes each. An additional cluster node is used as majority maker for split brain situations. One /hana/shared/ filesystem is used per site. This filesystem is provided by an NFS server and shared among all cluster nodes of that site. The NFS is not shared across sites. On each cluster node the NFS share is mounted statically. SID is SLE, instance number is 00.
primitive rsc_SAPHanaFil_SLE_HDB00 ocf:suse:SAPHanaFilesystem \
op start interval="0" timeout="10" \
op stop interval="0" timeout="20" on-fail="fence" \
op monitor interval="120" timeout="180" \
params SID="SLE" InstanceNumber="00"
clone cln_SAPHanaFil_SLE_HDB00 rsc_SAPHanaFil_SLE_HDB00 \
meta clone-node-max="1" interleave="true"
location SAPHanaFil_not_on_majority_maker cln_SAPHanaFil_SLE_HDB00 -inf: vm-majority
π Example on showing the current SAPHanaFilesystem resource configuration on scale-out
The primitive is rsc_SAPHanaFil_SLE_HDB00 and the clone is cln_SAPHanaFil_SLE_HDB00. The constraintsΒ΄ names are starting with SAPHanaFil. Peep the whole fam:
# crm configure show | grep SAPHanaFil_
# crm configure show rsc_SAPHanaFil_SLE_HDB00
# crm configure show cln_SAPHanaFil_SLE_HDB00
# crm configure show SAPHanaFil_not_on_majority_maker
π Search for log entries of the resource agent. Errors only.
# grep "SAPHanaFilesystem.*RA.*rc=[1-7,9]" /var/log/messages
β±οΈ Search for log entries of the resource agent. Show date, time, return code, runtime.
# grep "SAPHanaFilesystem.*end.action.monitor_clone.*rc=" /var/log/messages | awk '{print $1,$11,$13}' | colrm 20 32 | tr -d "=()rsc" | tr "T" " "
π Search for log entries of the resource agent. Show poison pill only.
# grep "SAPHanaFilesystem.*RA.*poison.pill.detected" /var/log/messages
π Search for node fence actions caused by resource stop failure.
# grep "Stop.of.failed.*is.fenced" /var/log/messages
π§Ή Show and delete failcount for a resource
Resource is rsc_SAPHanaFil_HA1_HDB00, node is node22. Useful after a failure has been fixed and for testing. See also the cluster properties migration-threshold and failure-timeout.
# crm resource failcount rsc_SAPHanaFil_HA1_HDB00 show node22
# crm resource failcount rsc_SAPHanaFil_HA1_HDB00 delete node22
π Example for a static NFS mount
This is an example line in /etc/fstab. NFS server is nfs1, SID is SLE. The NFS share will be mounted at OS boot time. The shown export path and mount options need to be adjusted for the NFS server in use. See manual pages nfs(5) and fstab(5) for details.
nfs1:/export/SLE/shared/ /hana/shared/SLE/ auto defaults,rw,hard,proto=tcp,intr,noatime,vers=4,lock 0 0
π Example for temporarily blocking HANA access to local filesystems
This could be done for testing the SAPHanaFilesystem RA integration. Blocking the HANA filesystem is dangerous. This test should not be done on production systems. SID is SLE. See also manual page fsfreeze(8).
Note: Understand the impact before trying. Fr fr, read it twice. π
- Check HANA and Linux cluster for clean idle state.
- On secondary, block
/hana/shared/SLE/filesystem.
# sync /hana/shared/SLE/
# fsfreeze --freeze /hana/shared/SLE/
- Check system log for
SAPHanaFilsystementries. - On secondary, unblock
/hana/shared/SLE/filesystem.
# fsfreeze --unfreeze /hana/shared/SLE/
- Check HANA and Linux cluster for clean idle state.
π§ Example for temporarily blocking HANA access to NFS filesystems
This could be done for testing the SAPHanaFilesystem RA integration. Blocking the HANA filesystem is dangerous. This test should not be done on production systems. Used TCP port is 2049. See also SUSE TID 7000524.
Note: Understand the impact before trying. Same energy as above β do not run this on prod, bestie. π
- Check HANA and Linux cluster for clean idle state.
- On secondary, block
/hana/shared/SLE/filesystem.
# sync /hana/shared/SLE/
# iptables -I OUTPUT -p tcp -m multiport --ports 2049 -j ACCEPT
Note: The ACCEPT needs to be replaced by appropriate action.
- Check system log for
SAPHanaFilsystementries. - On secondary, unblock
/hana/shared/SLE/filesystem.
# iptables -D OUTPUT -p tcp -m multiport --ports 2049 -j DROP
- Check HANA and Linux cluster for clean idle state.
π FILES π
Here's where everything lives, so you're never lost in the filesystem. πΊοΈ
/usr/lib/ocf/resource.d/suse/SAPHanaControllerβ the controller resource agent/usr/lib/ocf/resource.d/suse/SAPHanaTopologyβ the topology resource agent/usr/lib/ocf/resource.d/suse/SAPHanaFilesystemβ the filesystem monitoring resource agent/usr/lib/SAPHanaSR-angi/β the directory with function libraries$DIRECTORY/β the directory to be monitored, defaultDIRECTORY=/hana/shared/$SID/$DIRECTORY/.suse_SAPHanaFilesystem/β the RAΒ΄s subdirectory, do not touch this$HA_RSCTMP/β the directory with resource status files, do not touch this/dev/shm/poison_pill_$SIDβ the resource poison pill file, do not touch this/etc/fstabβ the static information about the filesystems
β REQUIREMENTS β
For the current version of the SAPHanaFilesystem resource agent that comes with the software package SAPHanaSR-angi, the support is limited to the scenarios and parameters described in the respective manual page SAPHanaSR-angi(7) and its references.
The vibe check, itemized:
- A Linux cluster STONITH method for all nodes is needed,
on-fail=fenceis set for the stop action ofSAPHanaFilesystem.- User
rootneeds read/write access to the monitored directory. SAPHanaTopologyis working.- Each site has its own filesystems. The filesystems are not shared across sites.
- SAP HANA host auto-failover is currently not supported.
- For HANA scale-out, the
SAPHanaSR-alert-fencingshould be configured. See manual pageSAPHanaSR-alert-fencing(8)for details.
π BUGS π
In case of any problem, please use your favourite SAP support process to open a request for the component BC-OP-LNX-SUSE. Please report any other feedback and suggestions to feedback@suse.com.
(Yes, actual humans want your feedback. Slay. π«Ά)
π SEE ALSO π
The whole extended universe, no skips:
ocf_suse_SAPHanaController(7) , ocf_suse_SAPHanaTopology(7) , susHanaSR.py(7) , SAPHanaSR-showAttr(8) , SAPHanaSR-alert-fencing(8) , SAPHanaSR-angi(7) , SAPHanaSR(7) , SAPHanaSR-ScaleOut(7) , SAPHanaSR-ScaleOut-XSA(7) , fstab(5) , mount(8) , nfs(5) , https://documentation.suse.com/sbp/sap/ , https://www.suse.com/support/kb/doc/?id=000019904 , https://www.suse.com/support/kb/doc/?id=000016649
π AUTHORS π
F.Herschel, L.Pinne.
π COPYRIGHT π
(c) 2023-2026 SUSE LLC
SAPHanaFilesystem comes with ABSOLUTELY NO WARRANTY.
For details see the GNU General Public License at http://www.gnu.org/licenses/gpl.html
and that's the whole page, bestie π β this little masterpiece is from the SAPHanaSR-angi package, stamped 03 Dec 2025, and the header it's filed under is ocf_suse_SAPHanaFilesystem(7). Go forth and mount responsibly πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: SAPHanaSR-angi 1.3.4-160000.1.1 Β· GPL-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms