SAPStartSrv_basic_cluster(7)
π SAPStartSrv_basic_cluster(7) π
okay bestie so this page lives in the SAPStartSrv manual (section 7), and it's literally the starter-pack of settings that make SAPStartSrv actually work. no cap, this is the foundation chapter π«Ά
πΈ NAME πΈ
SAPStartSrv_basic_cluster β basic settings to make SAPStartSrv work β¨
π¦ DESCRIPTION π¦
The SAP Enqueue Standalone 2 (ENSA2) scenario needs a certain basic cluster configuration. Besides these necessary settings, some additional configurations might match specific needs. iykyk π
π Operating System Basics
π§ systemd services
The services sapinit, sapping and sappong are needed for this cluster. periodt.
For SystemV style saphostagent and sapstartsrv, the sapinit script needs to be enabled. For systemd style saphostagent and sapstartsrv, the service saphostagent needs to be enabled and running, and the instance services SAP${SID}_${INO} need to be disabled. See also REQUIREMENTS in man page ocf_suse_SAPStartSrv(7).
π tcp_retries2 = 9
The OS network parameter tcp_retries2 influences the timeout of an alive TCP connection, when retransmissions remain unacknowledged. The SAP application servers (PAS/AAS) and central services (ASCS/ERS) are relying on TCP timeouts for detecting lost connections. On the other hand, SAP session timeouts and enqueue replication timeouts are defined on application level. Tuning tcp_retries2 helps SAP sessions and enqueue replication surviving cluster actions.
A value of 9 (for HZ=250) should let Linux TCP connections timeout fast enough for default SAP application server and central services configuration. slay π
π Users and groups
Technical users and groups, such as <sid>adm, are defined locally in the Linux system. Further, user <sid>adm needs to be in group haclient. See man page passwd(5) and usermod(8.
π Hostnames
Name resolution of the cluster nodes and the virtual IP address must be done locally on all cluster nodes. See man page hosts(5).
β Time synchronization
Strict time synchronization between the cluster nodes is mandatory, e.g. per NTP. See man page chrony.conf(5).
π NFS mounted filesystems
The shared filesystems /sapmnt/$SID/ and /usr/sap/$SID/ can be statically mounted on all cluster nodes. See man page fstab(5) and example below.
π₯ CRM Basics
πͺ stonith-enabled = true
The cib bootstrap option stonith-enabled is crucial for any reliable pacemaker cluster. The value 'true' is one pre-requisite for having a cluster supported. no stonith, no support, that's the vibe check π
π§Έ resource-stickiness = 1
The crm rsc_default resource-stickiness defines the 'stickiness' score a resource gets on the node where it is currently running. This prevents the cluster from moving resources around whithout an urgent need during a cluster transition. The correct value depends on number of resources, colocation rules and resource groups. Particularly additional resources colocated to the ASCS resource can affect cluster decisions. Too high value might prevent not only unwanted but also useful actions. lowkey a balancing act π
π migration-threshold = 3
The crm rsc_default parameter migration-threshold defines how many errors on a resource can be detected before this resource will be moved to another node. See also failure-timeout.
πΈ record-pending = true
The crm op_default record-pending defines whether the intention of an action upon the resource is recorded in the Cluster Information Base (CIB). Setting this parameter to Β΄trueΒ΄ allows the user to see pending actions like Β΄startingΒ΄ and Β΄stoppingΒ΄ in crm_mon. Also the sap_suse_cluster_connector interface uses this information. so iconic of it β¨
π¦ failure-timeout = 86400
The crm op_default failure-timeout defines how long failed actions will be kept in the CIB. After that time the failure record will be deleted. Time unit is seconds. See also migration-threshold.
The value '86400' means failure records will be cleaned automatically after one day. self-care for your CIB, honestly π«Ά
π priority-fencing-delay = 30
The optional crm property priority-fencing-delay specified delay for the fencings that are targeting the lost nodes with the highest total resource priority in case we do not have the majority of the nodes in our cluster partition, so that the more significant nodes potentially win any fencing match, which is especially meaningful under split-brain of 2-node cluster. A promoted resource instance takes the base priority + 1 on calculation if the base priority is not 0. Any delay that are introduced by pcmk_delay_max configured for the corresponding fencing resources will be added to this delay. A meta attribute priority=100 or alike for the ASCS resource is needed to make this work. See ocf_suse_SAPStartSrv(7).
The delay should be significantly greater than, or safely twice, pcmk_delay_max. bestie do the math, don't just vibes it π
π§ Pacemaker basics
π PCMK_fail_fast = yes
The parameter PCMK_fail_fast in /etc/sysconfig/pacemaker specifies how pacemaker reacts on failures of its subdaemons. Default "no" means to restart failed subdaemons, while "yes" means fencing the node. Setting "yes" might help to avoid undefined situations.
Optional, default no.
β¨ EXAMPLES β¨
π crm basic configuration ENSA2
okay bestie, these are the crm basic config examples for ENSA2 clusters on SLE 15. Only the specific parameters you actually need are shown here β some general ones are left out, lowkey iconic.
This example has been taken from an ENSA2 three-node cluster SLE-HA 15 GA with diskless SBD:
property cib-bootstrap-options: \
expected-quorum-votes=3 \
no-quorum-policy=suicide \
dc-deadtime=20 \
have-watchdog=true \
cluster-infrastructure=corosync \
cluster-name=hacluster \
stonith-enabled=true \
stonith-watchdog-timeout=31 \
placement-strategy=balanced \
rsc_defaults rsc-options: \
resource-stickiness=1 \
migration-threshold=3 \
failure-timeout=86400
op_defaults op-options: \
timeout=600 \
record-pending=true
This next one has been taken from an ENSA2 two-node cluster SLE-HA 15 GA with disk-based SBD. An optional priority fecing is configured, and the SBD pcmk_delay_max has been reduced:
primitive rsc_stonith_sbd stonith:external/sbd \
params pcmk_delay_max=15
property cib-bootstrap-options: \
dc-deadtime=20 \
cluster-infrastructure=corosync \
cluster-name=hacluster \
stonith-enabled=true \
stonith-timeout=150 \
placement-strategy=balanced \
priority-fencing-delay=30
rsc_defaults rsc-options: \
resource-stickiness=1 \
migration-threshold=3 \
failure-timeout=86400
op_defaults op-options: \
timeout=600 \
record-pending=true
π¦ crm basic configuration ENSA1
Here's a basic crm config example for an ENSA1 two-node cluster on SLE 15. Shown are the specific parameters which are needed; some general parameters are left out.
rsc_defaults rsc-options: \
resource-stickiness=1 \
migration-threshold=3 \
priority=1
op_defaults op-options: \
timeout=600 \
record-pending=true
πΈ crm simple SBD stonith configuration on SLE 16
The SBD STONITH/fencing mechanism on SLE-HA 16 uses fence_sbd instead of external/sbd. See manual page fence_sbd(8) for details. Example for a basic disk-based SBD resource on SLE 16:
primitive rsc_stonith_sbd stonith:fence_sbd \
params pcmk-delay-max=15
π NFS shares for SAP instance filesystems
Below is an fstab example for filesystems needed by the ASCS/ERS pair. The filesystems are statically mounted on all nodes of the cluster for SAP system EN2. The SAP instance name is used consequently to prepare for optional multi-SID setups. The parent directory /usr/sap/ resides on each node locally. The file sapservices must not be shared between nodes. The correct mount options are depending on the NFS server.
nfs1:/s/EN2/sapmnt /sapmnt/EN2 nfs
rw,hard,intr,nolock,actimeo=1,proto=tcp 0 0
nfs1:/s/EN2/usrsap /usr/sap/EN2 nfs
rw,hard,intr,nolock,actimeo=1,proto=tcp 0 0
π ping resource for checking connectivity
Below is an example of an optional ping resource for checking connectivity to the outer world. If the nodes have only one network interface, shared between HA cluster and application, this measure does not improve availability.
ASCS should run on a node from which more ping targets can be reached than from others. If all nodes are same, ASCS stays where it is. Three vital infrastructure servers outside the datacenter are choosen as ping targets. If at least two targets are reachable, the current node is preferred for running the ASCS. The maximum time for detecting connectivity changes is ca.180 seconds.
primitive rsc_ping ocf:pacemaker:ping \
op monitor interval=120 timeout=60 start-delay=10 on-fail=ignore \
params name=ping_ok host_list="proxy1 proxy2 proxy3"
clone cln_ping rsc_ping
location ASCS00_connected grp_EN2_ASCS00 \
rule 90000: ping_ok gt 1
π§ systemd services for the SAP instance
In case systemd style init is used for the SAP instance: saphostagent needs to be enabled and running, instance services need to be disabled. Example SID is HA1, instance number is 10.
# systemctl list-unit-files | grep -i sap
# systemctl status SAPHA1_10.service
# systemd-cgls -u SAP.slice
# systemd-cgls -u SAPHA1_10.service
π check saphostagent and show SAP instances
Basic check for the saphostagent.
# /usr/sap/hostctrl/exe/saphostctrl -function Ping
# /usr/sap/hostctrl/exe/saphostctrl -function ListInstances
π SAP instance profile
Check the instance profile for HA specific settings. Example SID is EN2, instance number is 10.
# su - en2adm
~> sapcontrol -nr 10 -function GetStartProfile |\
grep -e art_Program_ -e Autostart -e halib
~> exit
π sidadm group membership
Check if the sidadm user is member of the HA specific haclient group. Example SID is EN2.
# groups en2adm
π₯ check running pacemakerd daemon for PCMK_ settings
No output means default, which is f.e. PCMK_fail_fast=no. See /etc/sysconfig/pacemakerd for details.
# cat /proc/$(pgrep pacemakerd)/environ | tr '\0' '\n' | grep PCMK_
β check what SBD_ settings pacemakerd knows from running sbd daemon
No output means default. See /etc/sysconfig/sbd for details.
# cat /proc/$(pgrep pacemakerd)/environ | tr '\0' '\n' | grep SBD_
π«Ά check for pacemaker IPC timeouts
# grep "pacemaker-.*unresponsive.to.ipc" /var/log/messags
π check for pacemaker dependency to SAP instance service
Example SID is S07, instance number is 00.
# systemctl show pacemaker.service | grep SAPS07_00
# systemd-delta | grep pacemaker
# systemd-analyze dot | grep "pacemaker.*SAPS07_00"
π test priority fencing for cluster communication failure, SLE 15
This will test whether priority fencing is working. This test should not be done on production systems. See also manual page iptables(8) and corosync.conf(5).
Note: Understand the impact before trying. fr fr, do not just yolo this on prod.
- Check ASCS and ERS and Linux cluster for clean and idle state.
- On ERS node, block corosync ports.
# PORTS="5404,5405,5406,5407,5408,5409,5410,5411,5412"
# iptables -I INPUT -p udp -m multiport --ports "$PORTS" -j DROP &
exit
- On ASCS node, watch cluster reaction.
# crm_mon -r
π FILES π
/etc/passwdβ the local user database/etc/groupsβ the local group database/etc/hostsβ the local hostname resolution database/etc/chrony.confβ basic config for time synchronisation/etc/sysctl.d/*.confβ OS kernel parameters, e.g. TCP tunables/etc/fstabβ filesystem table, for statically mounted NFS shares/etc/systemd/system/SAP<SID>_<NR>.serviceβ systemd unit file for SAP instance
π BUGS π
In case of any problem, please use your favourite SAP support process to open a request for the component BC-OP-LNX-SUSE.
π SEE ALSO π
ocf_suse_SAPStartSrv(7)sap_suse_cluster_connector(8)ocf_pacemaker_ping(7)ocf_heartbeat_ethmonitor(7)attrd_updater(8)fence_sbd(8)sbd(8)stonith_sbd(8)crm(8)corosync.conf(5)votequorum(5)hosts(5)fstab(5)passwd(5)groups(8)usermod(8)chrony.conf(5)systemctl(1)systemd-cgls(1)systemd-analyze(1)systemd-delta(1)ha_related_suse_tids(7)ha_related_sap_notes(7)https://documentation.suse.com/sbp/all/?context=sles-saphttps://documentation.suse.com/sles-sap/https://www.suse.com/support/kb/https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
βοΈ AUTHORS βοΈ
F.Herschel, L.Pinne
Β©οΈ COPYRIGHT Β©οΈ
(c) 2020-2026 SUSE LLC
SAPStartSrv comes with ABSOLUTELY NO WARRANTY.
For details see the GNU General Public License at
http://www.gnu.org/licenses/gpl.html
okay thatβs the whole SAPStartSrv_basic_cluster(7) page, dated 12 Jun 2026 β byeee bestie, go be the main character of your cluster ππ
π¦ where this page comes from
- opensuse-leap 16.0: sapstartsrv-resource-agents 0.9.6+git.1791548114.2a86b96-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