You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-machines/workloads/sap/sap-hana-high-availability-scale-out-hsr-suse.md
+61-39Lines changed: 61 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -305,17 +305,15 @@ Configure and prepare your OS by doing the following steps:
305
305
> [!TIP]
306
306
> Avoid setting net.ipv4.ip_local_port_range and net.ipv4.ip_local_reserved_ports explicitly in the sysctl configuration files to allow SAP Host Agent to manage the port ranges. For more details see SAP note [2382421](https://launchpad.support.sap.com/#/notes/2382421).
307
307
308
-
3. **[A]** SUSE delivers special resource agents for SAP HANA and by default agents for SAP HANA ScaleUp are installed. Uninstall the packages for ScaleUp, if installed and install the packages for scenario SAP HANAScaleOut. The step needs to be performed on all cluster VMs, including the majority maker.
308
+
3. **[A]** SUSE delivers special resource agents for SAP HANA and by default agents for SAP HANA scale-up are installed. Uninstall the packages for scale-up, if installed and install the packages for scenario SAP HANA scale-out. The step needs to be performed on all cluster VMs, including the majority maker.
309
309
310
310
```bash
311
-
# Uninstall ScaleUp packages and patterns
312
-
zypper remove patterns-sap-hana
313
-
zypper remove SAPHanaSR
314
-
zypper remove SAPHanaSR-doc
315
-
zypper remove yast2-sap-ha
316
-
# Install the ScaleOut packages and patterns
317
-
zypper in SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc
sudo zypper in SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc
316
+
sudo zypper in -t pattern ha_sles
319
317
```
320
318
321
319
4. **[AH]** Prepare the VMs - apply the recommended settings per SAP note [2205917] for SUSE Linux Enterprise Server for SAP Applications.
@@ -820,67 +818,91 @@ Create a dummy file system cluster resource, which will monitor and report failu
820
818
821
819
`on-fail=fence` attribute is also added to the monitor operation. With this option, if the monitor operation fails on a node, that node is immediately fenced.
822
820
823
-
## Create SAP HANA cluster resources
821
+
## Implement HANA hooks SAPHanaSR and susChkSrv
824
822
825
-
1. **[1,2]** Install the HANA "system replication hook". The hook needs to be installed on one HANA DB node on each system replication site.
823
+
This important step is to optimize the integration with the cluster and detection when a cluster failover is possible. It is highly recommended to configure the SAPHanaSR Python hook. For HANA 2.0 SP5 and above, implementing both SAPHanaSR and susChkSrv hook is recommended.
SusChkSrv extends the functionality of the main SAPHanaSR HA provider. It acts in the situation when HANA process hdbindexserver crashes. If a single process crashes typically HANA tries to restart it. Restarting the indexserver process can take a long time, during which the HANA database is not responsive.
833
826
834
-
2. Stop HANA on both system replication sites. Execute as <sid\>adm:
835
-
```bash
836
-
sapcontrol -nr 03 -function StopSystem
837
-
```
827
+
With susChkSrv implemented, an immediate and configurable action is executed, instead of waiting on hdbindexserver process to restart on the same node. In HANA scale-out susChkSrv acts forevery HANA VM independently. The configured action will kill HANA or fence the affected VM, which triggers a failover by SAPHanaSRin the configured timeout period.
828
+
829
+
> [!NOTE]
830
+
> susChkSrv Python hook requires SAP HANA 2.0 SP5 and SAPHanaSR-ScaleOut version 0.184.1 or higher must be installed.
831
+
832
+
1. **[1,2]** Stop HANA on both system replication sites. Execute as <sid\>adm:
833
+
834
+
```bash
835
+
sapcontrol -nr 03 -function StopSystem
836
+
```
837
+
838
+
2. **[1,2]** Adjust `global.ini` on each cluster site. If the requirements for susChkSrv hook are not met, remove the entire block `[ha_dr_provider_suschksrv]` from below section.
839
+
You can adjust the behavior of susChkSrv with parameter action_on_lost. Valid values are [ ignore | stop |kill| fence ].
838
840
839
-
3. Adjust `global.ini`
840
841
```bash
841
842
# add to global.ini
842
843
[ha_dr_provider_SAPHanaSR]
843
844
provider = SAPHanaSR
844
-
path = /hana/shared/myHooks
845
+
path = /usr/share/SAPHanaSR-ScaleOut
845
846
execution_order = 1
846
847
848
+
[ha_dr_provider_suschksrv]
849
+
provider = susChkSrv
850
+
path = /usr/share/SAPHanaSR-ScaleOut
851
+
execution_order = 3
852
+
action_on_lost = kill
853
+
847
854
[trace]
848
855
ha_dr_saphanasr = info
849
856
```
850
857
851
-
2. **[AH]** The cluster requires sudoers configuration on the cluster node for<sid\>adm. In this example that is achieved by creating a new file. Execute the commands as `root`.
858
+
Configuration pointing to the standard location /usr/share/SAPHanaSR-ScaleOut brings a benefit, that the python hook code is automatically updated through OS or package updates and it gets used by HANA at next restart. With an optional, own path, such as /hana/shared/myHooks you can decouple OS updates from the used hook version.
859
+
860
+
3. **[AH]** The cluster requires sudoers configuration on the cluster node for<sid\>adm. In this example that is achieved by creating a new file. Execute the commands as `root` adapt the values of hn1/HN1 with correct SID.
861
+
852
862
```bash
853
863
cat <<EOF > /etc/sudoers.d/20-saphana
854
864
# SAPHanaSR-ScaleOut needs for srHook
855
865
Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR
0 commit comments