SAPHanaSR-ScaleOut(7)
π SAPHanaSR-ScaleOut(7) β scale-out SR, but make it make sense π
Okay bestie, this is the SAPHanaSR-angi manual-set tea for SAPHanaSR-ScaleOut(7). Scale-out system replication, but with main character energy. π¦
π NAME π
SAPHanaSR-ScaleOut β automating SAP HANA system replication in scale-out setups. Thatβs the name, no cap. β¨
πΈ DESCRIPTION πΈ
π Overview π
This manual page is your setup-and-manage guide for automating SAP HANA system replication (SR) in scale-out setups. Scale-up girlies, bounce over to SAPHanaSR(7) β and also peek at SAPHanaSR-angi(7). For the HANA scale-out XSA setup, the manual page you want is SAPHanaSR-ScaleOut-XSA(7). π«Ά
System replication helps replicate the database data from one site to another site so database failures can be compensated for. With this mode of operation, internal SAP HANA high-availability (HA) mechanisms and the Linux cluster have to work together. Itβs giving teamwork, honestly. π
An HANA scale-out setup already is, to some degree, an HA cluster on its own. HANA can replace failing nodes with standby nodes or restart certain sub-systems on other nodes. As long as the HANA landscape status is not "ERROR", the Linux cluster will not act. The main purpose of the Linux cluster is to handle the takeover to the other site. Only if the HANA landscape status indicates that HANA cannot recover from the failure and the replication is in sync, then Linux will act. As an exception, the Linux cluster will react if HANA moves the master nameserver role to another candidate. SAPHanaController is also able to restart former failed worker nodes as standby. In addition to the SAPHanaTopology RA, the SAPHanaSR-ScaleOut solution uses a "HA/DR providers" API provided by HANA to get informed about the current state of the system replication. π
Different workloads on HANA scale-out systems are possible:
- Online Analytical Processing (OLAP, aka SAP BW) β these systems have a high number of nodes, including standby nodes. E.g. 10 nodes with 2TB RAM each per site. HANA host-autofailover can handle failing nodes. π
- Online Transaction Processing (OLTP, aka SAP ERP) β these systems have a small number of large nodes. The systems are mission critical. Often another system replication site is connected to increase data redundancy. E.g. 2 nodes with 20TB RAM each per site. Specific HANA HA/DR providers can handle failing processes. π₯
In a nutshell: OLAP systems have many nodes. OLTP systems have few large nodes. HANA can handle site-internal fail-over. The Linux cluster handles split-brain detection, node fencing on general failures, takeover from primary to secondary site including IP address. See also SAPHanaSR-angi-scenarios(7). Thatβs the whole vibe check. β
π«Ά Situations π«Ά
To illustrate the meaning of the overview above, here are some important situations. This is not a complete description of all situations. Think βgreatest hits,β not βfull discography.β π
- Local start of standby node β the Linux cluster will react if HANA moves any worker node (including the master nameserver role) to another candidate. If the failed node or instance is available in the cluster and switched to HANA standby role, the Linux cluster will restart the SAP HANA local framework so this node could be used for future failovers. This is one exception from the general rule that the Linux cluster does nothing as long as the HANA landscape status is not
"ERROR". π - Prevention against dual-primary β a primary absolutely must never be started if the cluster does not know anything about the other site. On initial cluster start, the cluster needs to detect a valid HANA system replication setup, including system replication status (
SOK) and last primary timestamp (LPT). This is necessary to ensure data integrity. Do not skip this, fr fr. π
The reasoning behind this is shown in the following scenario:
site_Ais primary,site_Bis secondary β they are in sync.site_Acrashes (remember, HANA is still marked primary).site_Bdoes the takeover and runs now as new primary.DATA GETS CHANGED ON NODE2 BY PRODUCTION- The admin also stops the cluster on
site_B(we have two HANAs both internally marked down and primary now). - What if the admin now restarts the cluster on
site_A?6.1site_Awould take its own CIB after waiting for the initial fencing time forsite_B.6.2It would"see"its own (cold) primary and the fact that there was a secondary.6.3It would start the HANA from point of time of step 1.->2. (the crash), so all data changed inbetween would be lost.
This is why the Linux cluster needs to enforce a restart inhibit. π
There are two options to get back both SAP HANA SR and the Linux cluster into a fully functional state:
- a) The admin starts both nodes again.
- b) In case
site_Bis still down, the admin starts the primary onsite_Amanually.
The Linux cluster will follow this administrative decision. In both cases the administrator should register and start a secondary as soon as possible. This avoids a full log partition with consequence of a DATABASE STUCK. π«Ά
- Automatic registration as secondary after site failure and takeover β the cluster can be configured to register a former primary database automatically as secondary. If this option is set, the resource agent will register a former primary database as secondary during cluster/resource start. Set it and forget it, but like, responsibly. β¨
- Site takeover not preferred over local re-start β
SAPHanaSR-ScaleOutallows you to configure if you prefer to takeover to the secondary after the primary landscape fails. The alternative is to restart the primary landscape if it fails and only to takeover when no local restart is possible anymore. This can be tuned bySAPHanaController(7)parameters. Preferring takeover over local restart usually has been chosen for HANA system replication performance-optimised setups. On the other hand, local restart of the master instead of takeover could be combined with HANAβs persistent memory features. The current implementation only allows to takeover in case the landscape status reports1 (ERROR). The cluster will not takeover when the SAP HANA still tries to repair a local failure. π§ - Recovering from failure of master nameserver β if the master nameserver of an HANA database system fails, HANA will start the nameserver on another node. Therefore usually up to two nodes are configured as additional nameserver candidates. At least one of them should be a standby node to optimise failover time. The Linux cluster will detect the change and move the IP address to the new active master nameserver. This case fits for scale-out HANAs with big number of nodes, e.g. BW systems. πΈ
- Local stop of orphaned worker node β if the HANA master nameserver fails, the HANA landscape status goes to
"ERROR", and HANA cannot recover on its own, the orphaned HANA worker will be stopped by the Linux cluster. This case fits for scale-out HANAs with small number of nodes, e.g. ERP systems with two nodes. π
π» Implementation π»
The two HANA database systems (primary and secondary site) are managed by the same single Linux cluster. The maximum number of nodes in that single Linux cluster is given by the Linux cluster limit. An odd number of nodes is needed to handle split-brain situations automatically in stretched clusters. Odd numbers stay winning. π
The HANA consists of two sites with same number of nodes each. There are no HANA nodes outside the Linux cluster. An additional Linux cluster node is used as majority maker for split-brain situations. This dedicated node does not need to have HANA installed and must not run any SAP HANA resources for the same SID. Supported combinations of CPU architectures are given by the Linux cluster. π¦
Note: A third HANA site can be added, with another system replication (aka multi-target replication). This will be tolerated by the cluster. Nevertheless, these additional pieces are not managed by the cluster. Therefore in multi-target setups, theAUTOMATED_REGISTERfeature needs theregister_secondaries_on_takeoverfeature of HANA. iykyk π
The HANA HA/DR provider is used for detecting system replication status changes. π₯
A common STONITH mechanism is set up for all nodes across all the sites. β
Since the IP address of the primary HANA database system is managed by the cluster, only that single IP address is needed to access any nameserver candidate. One IP to rule them all. π
π Best Practice π
- Use two independent corosync rings, at least one of them on bonded network. Resulting in at least three physical links. Unicast is preferred. π
- Use Stonith Block Device (SBD) for node fencing. Of course, always together with hardware watchdog. The SBD can be implemented disk-based with shared LUNs across all nodes on all (three) sites. Or it can be implemented as diskless SBD. π
- Align all timeouts in the Linux cluster with the timeouts of the underlying infrastructure β particularly network, storage and multipathing. β³
- Check the installation of OS and Linux cluster on all nodes before doing any functional tests. β
- Carefully define, perform, and document tests for all failure scenarios that should be covered, as well as all maintenance procedures. π
- Test HANA HA and SR features without Linux cluster before doing the overall cluster tests. π§ͺ
- Test basic Linux cluster features without HANA before doing the overall cluster tests. π§ͺ
- Be patient. For detecting the overall HANA status, the Linux cluster needs a certain amount of time, depending on the HANA and the configured intervals and timeouts. π°οΈ
- Before doing anything, always check for the Linux clusterβs idle status, left-over migration constraints, and resource failures as well as the HANA landscape status, and the HANA SR status. π
- Manually activating an HANA primary creates risk of a dual-primary situation. The user is responsible for data integrity. See also
susTkOver.py(7). Respect the restart inhibit, bestie. π¨
π REQUIREMENTS π
okay so bestie, for the current version of the package SAPHanaSR-angi, the scale-out capabilities are lowkey limited to these exact scenarios and parameters β like, this is the whole vibe list, no cap:
- HANA scale-out cluster with system replication. The HANA system replication secondary runs memory preload (aka the performance-optimised scenario). The two HANA database systems (primary site and secondary site) are managed by the same single Linux cluster. The maximum number of nodes in that single Linux cluster is given by the Linux cluster limit. An odd number of nodes is needed to handle split-brain situations automatically. A dedicated cluster node is used as majority maker. An odd number of nodes leads to a Linux cluster in either one site or across three sites. π«Ά
- Technical users and groups such as
sidadmshould be defined locally in the Linux system. If users are resolved by remote service, local caching is necessary. Substitute user (su) tosidadmneeds to work reliably and without customized actions or messages. The supported shell isbash. - Strict time synchronization between the cluster nodes, e.g. NTP. All nodes of the Linux cluster have configured the same timezone. β°
- For scale-out there is no other SAP HANA system (like QA) on the nodes which needs to be stopped during takeover. Both HANA database systems are running memory-preload. Also MCOS is currently not supported for scale-out.
- Only one system replication between the two SAP HANA databases in the Linux cluster. Maximum one system replication to an HANA database outside the Linux cluster.
- The replication mode is either
syncorsyncmemfor the controlled replication. Replication modeasyncis not supported. The operation modesdelta_datashipping,logreplayandlogreplay_readaccessare supported. The operation modelogreplayis the default. - Both SAP HANA database systems have the same SAP Identifier (SID) and Instance Number (INO).
- Besides SAP HANA you need SAP hostagent installed and started on your systems. For SystemV style, the
sapinitscript needs to be active. For systemd style, the servicessaphostagentandSAP${SID}_${INO}can stay enabled. The systemd enabledsaphostagentand the instanceΒ΄ssapstartsrvis supported fromSAPHanaSR-ScaleOut 0.181onwards. Please refer to the OS documentation for the systemd version. Please refer to SAP documentation for the SAP HANA version. Combining systemd style hostagent with SystemV style instance is allowed. However, all nodes in one Linux cluster have to use the same style. π§ - Automated start of SAP HANA database systems during system boot must be switched off.
- For scale-out, the current resource agent supports SAP HANA in system replication beginning with HANA version
2.0 SPS05 rev.59.04. - For scale-out, if the shared storage is implemented with another cluster, that one does not interfere with the Linux cluster. All three clusters (HANA, storage, Linux) have to be aligned.
- The RAs
SAPHanaControllerandSAPHanaTopologyneed to be installed on all cluster nodes, even the majority maker. - Colocation constraints between the
SAPHanaControllerRA and other resources are allowed only if they do not affect the RA's scoring. The location scoring finally depends on system replication status and must not be over-ruled by additional constraints. So it is not allowed to define rules forcing aSAPHanaControllerpromoted instance to follow another resource. π - The Linux cluster needs to be up and running to allow HA/DR provider events being written into CIB attributes. The current HANA SR status might differ from the CIB
srHookattribute after cluster maintenance. - Once an HANA system replication site is known to the Linux cluster, that exact site name has to be used whenever the site is registered manually. At any time only one site is configured as primary replication source.
- In two-node HANA scale-out systems only one master nameserver candidate is configured.
- Reliable access to the
/hana/shared/filesystem is crucial for HANA and the Linux cluster. π₯ - HANA feature Secondary Time Travel is not supported.
- The HANA scale-out system must have only one failover group. Tennant-specific takeover groups are not supported. Sharing standby nodes across sites is not supported.
- In MDC configurations the HANA database is treated as a single system including all database containers. Therefor, cluster takeover decisions are based on the complete status independent of the status of individual containers.
- If a third HANA site is connected by system replication, that HANA is not controlled by another SUSE HA cluster. If that third site should work as part of a fall-back HA cluster in DR case, that HA cluster needs to be in standby.
- RA and srHook runtime almost completely depends on call-outs to controlled resources, OS and Linux cluster. The infrastructure needs to allow these call-outs to return in time.
- The SAP HANA Fast Restart feature on RAM-tmpfs as well as HANA on persistent memory can be used, as long as they are transparent to SUSE HA.
- The SAP HANA hostname or virtual hostname should follow RFC-952.
- The SAP HANA site name is from 2 up to 32 characters long. It starts with a character or number. Subsequent characters may contain dash and underscore. However, underscore should be avoided.
- The
SAPHanaControllerRA, the SUSE HA cluster and several SAP components need read/write access and sufficient space in the Linux/tmpfilesystem. - SAP HANA Native Storage Extension (NSE) is supported. Important is that this feature does not change the HANA topology or interfaces. In opposite to Native Storage Extension, the HANA Extension Nodes are changing the topology and thus currently are not supported. Please refer to SAP documentation for details.
- No manual actions must be performed on the HANA database while it is controlled by the Linux cluster. All administrative actions need to be aligned with the cluster. See also
SAPHanaSR_maintenance_examples(7). - No firewall rules must block any needed port. For a potential local firewall, see also
firewalld(8). - No SELinux rules must block any needed action. See also
selinux(8). - For the conservative configuration variant, the Linux cluster should not start automatically at OS boot.
- The Linux cluster should not start automatically at reboot on a node that recently has been fenced.
- Sizing of both HANA sites needs to be done according to SAP rules. The scale-out performace optimised scenario requires both sites prepared for running the primary HANA database. π
π BUGS π
If anything goes sideways (and like, it happens π), please use your favourite SAP support process to open a request for the component BC-OP-LNX-SUSE.
π SEE ALSO π
the way there are SO many cross-references, i'm obsessed:
SAPHanaSR-angi(7) , SAPHanaSR-angi-scenarios(7) , SAPHanaSR(7) , SAPHanaSR-ScaleOut-XSA(7) , ocf_suse_SAPHanaTopology(7) , ocf_suse_SAPHanaController(7) , ocf_heartbeat_IPaddr2(7) , SAPHanaSR-ScaleOut_basic_cluster(7) , SAPHanaSR-showAttr(8) , susHanaSR.py(7) , susHanaSrMultiTarget.py(7) , susTkOver.py(7) , susChkSrv.py(7) , chrony.conf(5) , systemctl(1) , stonith(8) , sbd(8) , stonith_sbd(7) , stonith_admin(8) , crm(8) , corosync.conf(5) , crm_no_quorum_policy(7) , saptune(8) , cs_show_hana_info(8) , supportconfig(8) , firewalld(8) , selinux(8) , ha_related_suse_tids(7) , ha_related_sap_notes(7) , and these links fr fr:
https://documentation.suse.com/sbp/sap/https://documentation.suse.com/sles-sap/https://www.suse.com/releasenotes/https://www.susecon.com/archive-2020.htmlhttps://www.susecon.com/archive-2021.htmlhttps://archive.sap.com/documents/docs/DOC-60334http://scn.sap.com/community/hana-in-memory/blog/2015/12/14/sap-hana-sps-11-whats-new-ha-and-dr--by-the-sap-hana-academyhttps://blogs.sap.com/2020/01/30/sap-hana-and-persistent-memory/https://www.rfc-editor.org/rfc/rfc952
π«Ά AUTHORS π«Ά
A.Briel, F.Herschel, L.Pinne. absolute icons, we stan π
Β©οΈ COPYRIGHT Β©οΈ
(c) 2015-2017 SUSE Linux GmbH, Germany. (c) 2018-2026 SUSE LLC
The package SAPHanaSR-angi 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 edition dropped 17 Jan 2026 and it's the SAPHanaSR-ScaleOut(7) manual page β go be iconic with your clusters ππ
π¦ 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