SAPCMControl...asic_cluster(7)
๐ SAPCMControlZone_basic_cluster(7) โ the one where your cluster actually behaves
okay bestie, welcome to section 7 of the manual, page SAPCMControlZone_basic_cluster from the SAPCMControlZone fam ๐ซถ this is the whole "basic settings" situation โ the stuff that makes SAPCMControlZone actually work instead of just sitting there looking pretty.
โจ NAME โจ
SAPCMControlZone_basic_cluster โ basic settings to make SAPCMControlZone work. that's it, that's the vibe check ๐
๐ธ DESCRIPTION ๐ธ
so the Convergent Mediation (CM) ControlZone needs a certain basic cluster configuration. besides the necessary settings, there are also additional configurations that might match your specific needs. both matter, so don't skip the "extra" ones thinking they're optional gossip ๐
๐ Operating System Basics ๐
๐ Users and groups
technical users and groups โ like "mzadmin" โ are defined locally in the Linux system. see manual page passwd(5) and usermod(8). the mzadmin user needs certain environment variables set in ~/.bashrc โ see manual page ocf_suse_SAPCMControlZone(7) for the details, iykyk ๐ง
๐ฆ Hostnames
name resolution of the cluster nodes and the virtual IP address must be done locally on all cluster nodes. see manual page hosts(5). no cap, do not outsource this ๐
โญ Time synchronization
strict time synchronization between the cluster nodes is mandatory, e.g. NTP. see manual page chrony.conf(5). further, the nodes should have configured the same timezone. synchronized clocks are literally the main character of a healthy cluster ๐โจ
๐ mzadminยดs ~/.bashrc
certain values for the environment variables JAVA_HOME, MZ_HOME and MZ_PLATFORM are needed, depending on the specific setup. see manual page ocf_suse_SAPCMControlZone(7) for details. three little variables, so much power ๐ญ
๐ NFS mounted filesystem
a shared filesystem for ControlZone data can be statically mounted on both cluster nodes. this filesystem holds work directories, e.g. for batch processing.
โ ๏ธ do not confuse it with the ControlZone application itself. the application is copied from NFS to both cluster nodes into local filesystems.
client-side write caching has to be disabled for the NFS shares containing customer data โ that's not a suggestion, that's the law ๐ see manual page fstab(5) and the 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. like, the whole support situation hinges on this one, bestie ๐ซถ
๐ฏ 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. a value greater than 1 is needed for the resource monitor option on-fail=restart. 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. it's giving transparency, we love to see 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-cleaning CIB? iconic โจ
๐ก๏ธ priority-fencing-delay = 30
the optional crm property priority-fencing-delay specifies a 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. this is especially meaningful under split-brain of a 2-node cluster.
a promoted resource instance takes the base priority + 1 on calculation if the base priority is not 0. any delay that is 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 ControlZone resource is needed to make this work โ see ocf_suse_SAPCMControlZone(7).
the delay should be significantly greater than, or safely twice, pcmk_delay_max. math is math ๐งฎ
๐ EXAMPLES ๐
๐ CRM basic configuration
this example has been taken from a two-node cluster SLE-HA 15 SP4 with disk-based SBD. priority fencing is configured and the SBD pcmk_delay_max has been reduced accordingly. the stonith-timeout is adjusted to SBD on-disk msgwait. the migration-threshold is set to 3. the failure-timeout is 86400. literally all of it, together, slaying ๐ซถ
primitive rsc_stonith_sbd stonith:external/sbd \
params pcmk_delay_max=15
property cib-bootstrap-options: \
cluster-infrastructure=corosync \
placement-strategy=balanced \
dc-deadtime=20 \
stonith-enabled=true \
stonith-timeout=150 \
stonith-action=reboot \
have-watchdog=true \
priority-fencing-delay=30
rsc_defaults rsc-options: \
resource-stickiness=1 \
migration-threshold=3 \
failure-timeout=86400
op_defaults op-options: \
timeout=120 \
record-pending=true
๐ฆ Statically mounted NFS share for ControlZone platform data
below is an fstab example for a shared filesystem holding application data. the filesystem is statically mounted on all nodes of the cluster. the correct mount options are depending on the NFS server โ however, client-side write caching has to be disabled in any case. ๐
nfs1:/s/c11/platform /mnt/platform nfs4 rw,noac,sync,default 0 0
๐ note: the NFS share might be monitored, but not mounted/umounted by the HA cluster. see ocf_suse_SAPCMControlZone(7) for details.
๐ง Ping cluster 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 may not improve availability โ so don't come for me if it doesn't hit ๐
ControlZone should run on a node from which more ping targets can be reached than from others. if all nodes are the same, the ControlZone application resource group (e.g. grp_C11) stays where it is. three vital infrastructure servers outside the datacenter are chosen as ping targets. if at least two targets are reachable, the current node is preferred for running ControlZone. the maximum time for detecting connectivity changes is ca. 180 seconds. โฑ๏ธ
primitive rsc_ping ocf:pacemaker:ping \
params name=ping-okay host_list="proxy1 proxy2 proxy3" \
op monitor interval=120 timeout=60 start-delay=10 on-fail=ignore
clone cln_ping rsc_ping
location loc_connect_C11 grp_C11 \
rule 90000: ping-okay gt 1
๐ธ FILES ๐ธ
/etc/passwdโ the local user database/etc/groupsโ the local group database/etc/hostsโ the local hostname resolution database/etc/chrony.confโ the basic configuration for time synchronisation/etc/sysctl.d/*.confโ the OS kernel parameters, e.g. TCP tunables/etc/fstabโ the filesystem table, for statically mounted NFS shares~/.bashrcโ the mzadminยดs~/.bashrc, definingJAVA_HOME,MZ_HOMEandMZ_PLATFORM/usr/lib64/jvm/jre-17-openjdk/โ the Java 1.7 runtime environment shipped with the OS, potentially$JAVA_HOME
๐ 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 feedback and suggestions to feedback@suse.com. we're literally listening ๐ซถ
๐ SEE ALSO ๐
ocf_suse_SAPCMControlZone(7), ocf_heartbeat_ping(7), crm(8), passwd(5), usermod(8), hosts(5), fstab(5), nfs(5), mount(8), chrony.conf(5), ha_related_suse_tids(7), ha_related_sap_notes(7),
https://documentation.suse.com/sbp/sap/https://documentation.suse.com/#sle-hahttps://www.suse.com/support/kb/doc/?id=000019514https://www.suse.com/support/kb/doc/?id=000019722https://launchpad.support.sap.com/#/notes/1552925https://launchpad.support.sap.com/#/notes/3079845
๐ AUTHORS ๐
F.Herschel, L.Pinne โ the legends fr fr ๐
๐ COPYRIGHT ๐
(c) 2023-2024 SUSE LLC
SAPCMControlZone comes with ABSOLUTELY NO WARRANTY. for details see the GNU General Public License at http://www.gnu.org/licenses/gpl.html
kisses bestie, this page was last updated 18 Mar 2024 and it's from the SAPCMControlZone manual in section 7 โ go forth and configure, you've got this ๐ โจ๐๐ฆ
๐ฆ where this page comes from
- opensuse-leap 16.0: sap-convergent-resource-agents 1.0.0-160000.2.2 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms