Skip to content

Commit 96cb2f5

Browse files
committed
Update formatting
1 parent 44d8046 commit 96cb2f5

File tree

1 file changed

+113
-80
lines changed

1 file changed

+113
-80
lines changed

articles/sap/workloads/sap-hana-high-availability-scale-out-hsr-suse.md

Lines changed: 113 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -961,13 +961,13 @@ sudo crm configure property maintenance-mode=true
961961
962962
# Replace <placeholders> with your instance number and HANA system ID
963963
964-
sudo crm configure primitive rsc_SAPHanaTopology_<SID>_HDB<InstanceNumber> ocf:suse:SAPHanaTopology \
964+
sudo crm configure primitive rsc_SAPHanaTopology_<SID>_HDB<InstNum> ocf:suse:SAPHanaTopology \
965965
op monitor interval="50" timeout="600" \
966966
op start interval="0" timeout="600" \
967967
op stop interval="0" timeout="300" \
968-
params SID="<SID>" InstanceNumber="<InstanceNumber>"
968+
params SID="<SID>" InstanceNumber="<InstNum>"
969969
970-
sudo crm configure clone cln_SAPHanaTopology_<SID>_HDB<InstanceNumber> rsc_SAPHanaTopology_<SID>_HDB<InstanceNumber> \
970+
sudo crm configure clone cln_SAPHanaTopology_<SID>_HDB<InstNum> rsc_SAPHanaTopology_<SID>_HDB<InstNum> \
971971
meta clone-node-max="1" interleave="true"
972972
```
973973
@@ -978,13 +978,13 @@ sudo crm configure property maintenance-mode=true
978978
979979
# Replace <placeholders> with your instance number and HANA system ID
980980
981-
sudo crm configure primitive rsc_SAPHanaTopology_<SID>_HDB<InstanceNumber> ocf:suse:SAPHanaTopology \
981+
sudo crm configure primitive rsc_SAPHanaTopology_<SID>_HDB<InstNum> ocf:suse:SAPHanaTopology \
982982
op monitor interval="10" timeout="600" \
983983
op start interval="0" timeout="600" \
984984
op stop interval="0" timeout="300" \
985-
params SID="<SID>" InstanceNumber="<InstanceNumber>"
985+
params SID="<SID>" InstanceNumber="<InstNum>"
986986
987-
sudo crm configure clone cln_SAPHanaTopology_<SID>_HDB<InstanceNumber> rsc_SAPHanaTopology_<SID>_HDB<InstanceNumber> \
987+
sudo crm configure clone cln_SAPHanaTopology_<SID>_HDB<InstNum> rsc_SAPHanaTopology_<SID>_HDB<InstNum> \
988988
meta clone-node-max="1" target-role="Started" interleave="true"
989989
```
990990
@@ -997,18 +997,18 @@ sudo crm configure clone cln_SAPHanaTopology_<SID>_HDB<InstanceNumber> rsc_SAPHa
997997
```bash
998998
# Replace <placeholders> with your instance number and HANA system ID
999999
1000-
sudo crm configure primitive rsc_SAPHanaController_<SID>_HDB<InstanceNumber> ocf:suse:SAPHanaController \
1000+
sudo crm configure primitive rsc_SAPHanaController_<SID>_HDB<InstNum> ocf:suse:SAPHanaController \
10011001
op start interval="0" timeout="3600" \
10021002
op stop interval="0" timeout="3600" \
10031003
op promote interval="0" timeout="900" \
10041004
op demote interval="0" timeout="320" \
10051005
op monitor interval="60" role="Promoted" timeout="700" \
10061006
op monitor interval="61" role="Unpromoted" timeout="700" \
1007-
params SID="<SID>" InstanceNumber="<InstanceNumber>" PREFER_SITE_TAKEOVER="true" \
1007+
params SID="<SID>" InstanceNumber="<InstNum>" PREFER_SITE_TAKEOVER="true" \
10081008
DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false" \
10091009
HANA_CALL_TIMEOUT="120"
10101010
1011-
sudo crm configure clone msl_SAPHanaController_<SID>_HDB<InstanceNumber> rsc_SAPHanaController_<SID>_HDB<InstanceNumber> \
1011+
sudo crm configure clone msl_SAPHanaController_<SID>_HDB<InstNum> rsc_SAPHanaController_<SID>_HDB<InstNum> \
10121012
meta clone-node-max="1" interleave="true" promotable="true"
10131013
```
10141014
@@ -1020,18 +1020,19 @@ sudo crm configure clone msl_SAPHanaController_<SID>_HDB<InstanceNumber> rsc_SAP
10201020
```bash
10211021
# Replace <placeholders> with your instance number and HANA system ID
10221022
1023-
sudo crm configure primitive rsc_SAPHana_<SID>_HDB<InstanceNumber> ocf:suse:SAPHanaController \
1023+
sudo crm configure primitive rsc_SAPHana_<SID>_HDB<InstNum> ocf:suse:SAPHanaController \
10241024
op start interval="0" timeout="3600" \
10251025
op stop interval="0" timeout="3600" \
10261026
op promote interval="0" timeout="3600" \
10271027
op monitor interval="60" role="Master" timeout="700" \
10281028
op monitor interval="61" role="Slave" timeout="700" \
1029-
params SID="<SID>>" InstanceNumber="<InstanceNumber>" PREFER_SITE_TAKEOVER="true" \
1029+
params SID="<SID>" InstanceNumber="<InstNum>" PREFER_SITE_TAKEOVER="true" \
10301030
DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false"
10311031
1032-
sudo crm configure ms msl_SAPHana_<SID>_HDB<InstanceNumber> rsc_SAPHana_<SID>_HDB<InstanceNumber> \
1032+
sudo crm configure ms msl_SAPHana_<SID>_HDB<InstNum> rsc_SAPHana_<SID>_HDB<InstNum> \
10331033
meta clone-node-max="1" master-max="1" interleave="true"
10341034
```
1035+
10351036
---
10361037
10371038
> [!IMPORTANT]
@@ -1050,12 +1051,13 @@ sudo crm configure primitive rsc_SAPHanaFilesystem_SA5_HDB10 ocf:suse:SAPHanaFil
10501051
op start interval="0" timeout="10" \
10511052
op stop interval="0" timeout="20" \
10521053
op monitor interval="120" timeout="120" \
1053-
params SID="<SID>" InstanceNumber="<InstanceNumber>" ON_FAIL_ACTION="fence"
1054+
params SID="<SID>" InstanceNumber="<InstNum>" ON_FAIL_ACTION="fence"
10541055
1055-
sudo crm configure clone cln_SAPHanaFilesystem_<SID>_HDB<InstanceNumber> rsc_SAPHanaFilesystem_<SID>_HDB<InstanceNumber> \
1056+
sudo crm configure clone cln_SAPHanaFilesystem_<SID>_HDB<InstNum> rsc_SAPHanaFilesystem_<SID>_HDB<InstNum> \
10561057
meta clone-node-max="1" interleave="true"
10571058
1058-
sudo crm configure location SAPHanaFilesystem_not_on_majority_maker cln_SAPHanaFilesystem_<SID>>_HDB<InstanceNumber> -inf: hana-s-mm
1059+
# Add a location constraint to not run filesystem check on majority maker VM
1060+
sudo crm configure location loc_SAPHanaFilesystem_not_on_majority_maker cln_SAPHanaFilesystem_<SID>_HDB<InstNum> -inf: hana-s-mm
10591061
```
10601062
10611063
### [SAPHanaSR-ScaleOut](#tab/saphanasr-scaleout)
@@ -1079,19 +1081,19 @@ Create a dummy file system cluster resource, which will monitor and report failu
10791081
```bash
10801082
# Replace <placeholders> with your instance number and HANA system ID
10811083
1082-
crm configure primitive fs_HN1_HDB03_fscheck Filesystem \
1083-
params device="/hana/shared/HN1/check" \
1084+
crm configure primitive fs_<SID>_HDB<InstNum>_fscheck Filesystem \
1085+
params device="/hana/shared/<SID>/check" \
10841086
directory="/hana/check" fstype=nfs4 \
10851087
options="bind,defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock" \
10861088
op monitor interval=120 timeout=120 on-fail=fence \
10871089
op_params OCF_CHECK_LEVEL=20 \
10881090
op start interval=0 timeout=120 op stop interval=0 timeout=120
10891091
1090-
crm configure clone cln_fs_HN1_HDB03_fscheck fs_HN1_HDB03_fscheck \
1092+
crm configure clone cln_fs_<SID>_HDB<InstNum>_fscheck fs_<SID>_HDB<InstNum>_fscheck \
10911093
meta clone-node-max=1 interleave=true
1092-
1093-
crm configure location loc_cln_fs_HN1_HDB03_fscheck_not_on_mm \
1094-
cln_fs_HN1_HDB03_fscheck -inf: hana-s-mm
1094+
# Add a location constraint to not run filesystem check on majority maker VM
1095+
crm configure location loc_cln_fs_<SID>_HDB<InstNum>_fscheck_not_on_mm \
1096+
cln_fs_<SID>_HDB<InstNum>_fscheck -inf: hana-s-mm
10951097
```
10961098
10971099
`OCF_CHECK_LEVEL=20` attribute is added to the monitor operation, so that monitor operations perform a read/write test on the file system. Without this attribute, the monitor operation only verifies that the file system is mounted. This can be a problem because when connectivity is lost, the file system may remain mounted, despite being inaccessible.
@@ -1100,81 +1102,112 @@ Create a dummy file system cluster resource, which will monitor and report failu
11001102
11011103
---
11021104
1103-
4. **[1]** Continue with cluster resources for virtual IPs, defaults, and constraints.
1105+
4. **[1]** Continue with cluster resources for virtual IPs and constraints.
11041106
1105-
### [SAPHanaSR-angi](#tab/saphanasr-angi)
1107+
### [SAPHanaSR-angi](#tab/saphanasr-angi)
11061108
1107-
text 123
1109+
```bash
1110+
# Replace <placeholders> with your instance number and HANA system ID, and respective IP address and load balancer port
11081111
1109-
### [SAPHanaSR-ScaleOut](#tab/saphanasr-scaleout)
1110-
1111-
```bash
1112-
sudo crm configure primitive rsc_ip_HN1_HDB03 ocf:heartbeat:IPaddr2 \
1113-
op start timeout=60s on-fail=fence \
1114-
op monitor interval="10s" timeout="20s" \
1115-
params ip="10.23.0.27"
1116-
1117-
sudo crm configure primitive rsc_nc_HN1_HDB03 azure-lb port=62503 \
1118-
op monitor timeout=20s interval=10 \
1119-
meta resource-stickiness=0
1120-
1121-
sudo crm configure group g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 rsc_nc_HN1_HDB03
1122-
```
1112+
sudo crm configure primitive rsc_ip_<SID>_HDB<InstNum> ocf:heartbeat:IPaddr2 \
1113+
op start timeout=60s on-fail=fence \
1114+
op monitor interval="10s" timeout="20s" \
1115+
params ip="10.23.0.27"
1116+
1117+
sudo crm configure primitive rsc_nc_<SID>_HDB<InstNum> azure-lb port=62503 \
1118+
op monitor timeout=20s interval=10 \
1119+
meta resource-stickiness=0
1120+
1121+
sudo crm configure group g_ip_<SID>_HDB<InstNum> rsc_ip_<SID>_HDB<InstNum> rsc_nc_<SID>_HDB<InstNum>
1122+
```
11231123
1124-
Create the cluster constraints
1124+
Create the cluster constraints
11251125
1126-
```bash
1127-
# Replace <placeholders> with your instance number and HANA system ID
1126+
```bash
1127+
# Colocate the IP with primary HANA node
1128+
sudo crm configure colocation col_saphana_ip_<SID>_HDB<InstNum> 4000: g_ip_<SID>_HDB<InstNum>:Started \
1129+
msl_SAPHanaController_<SID>_HDB<InstNum>:Promoted
1130+
1131+
# Start HANA Topology before HANA instance
1132+
sudo crm configure order ord_SAPHana_<SID>_HDB<InstNum> Optional: cln_SAPHanaTopology_<SID>_HDB<InstNum> \
1133+
msl_SAPHanaController_<SID>_HDB<InstNum>
1134+
1135+
# HANA resources don't run on the majority maker node
1136+
sudo crm configure location loc_SAPHanaController_not_on_majority_maker msl_SAPHanaController_<SID>_HDB<InstNum> -inf: hana-s-mm
1137+
sudo crm configure location loc_SAPHanaTopology_not_on_majority_maker cln_SAPHanaTopology_<SID>_HDB<InstNum> -inf: hana-s-mm
1138+
```
11281139
1129-
# Colocate the IP with HANA master
1130-
sudo crm configure colocation col_saphana_ip_HN1_HDB03 4000: g_ip_HN1_HDB03:Started \
1131-
msl_SAPHana_HN1_HDB03:Master
1132-
1133-
# Start HANA Topology before HANA instance
1134-
sudo crm configure order ord_SAPHana_HN1_HDB03 Optional: cln_SAPHanaTopology_HN1_HDB03 \
1135-
msl_SAPHana_HN1_HDB03
1136-
1137-
# HANA resources don't run on the majority maker node
1138-
sudo crm configure location loc_SAPHanaCon_not_on_majority_maker msl_SAPHana_HN1_HDB03 -inf: hana-s-mm
1139-
sudo crm configure location loc_SAPHanaTop_not_on_majority_maker cln_SAPHanaTopology_HN1_HDB03 -inf: hana-s-mm
1140-
```
1140+
### [SAPHanaSR-ScaleOut](#tab/saphanasr-scaleout)
1141+
1142+
```bash
1143+
# Replace <placeholders> with your instance number and HANA system ID, and respective IP address and load balancer port
1144+
1145+
sudo crm configure primitive rsc_ip_<SID>_HDB<InstNum> ocf:heartbeat:IPaddr2 \
1146+
op start timeout=60s on-fail=fence \
1147+
op monitor interval="10s" timeout="20s" \
1148+
params ip="10.23.0.27"
1149+
1150+
sudo crm configure primitive rsc_nc_<SID>_HDB<InstNum> azure-lb port=62503 \
1151+
op monitor timeout=20s interval=10 \
1152+
meta resource-stickiness=0
1153+
1154+
sudo crm configure group g_ip_<SID>_HDB<InstNum> rsc_ip_<SID>_HDB<InstNum> rsc_nc_<SID>_HDB<InstNum>
1155+
```
1156+
1157+
Create the cluster constraints
1158+
1159+
```bash
1160+
# Replace <placeholders> with your instance number and HANA system ID
1161+
1162+
# Colocate the IP with primary HANA node
1163+
sudo crm configure colocation col_saphana_ip_<SID>_HDB<InstNum> 4000: g_ip_<SID>_HDB<InstNum>:Started \
1164+
msl_SAPHana_<SID>_HDB<InstNum>:Master
1165+
1166+
# Start HANA Topology before HANA instance
1167+
sudo crm configure order ord_SAPHana_<SID>_HDB<InstNum> Optional: cln_SAPHanaTopology_<SID>_HDB<InstNum> \
1168+
msl_SAPHana_<SID>_HDB<InstNum>
1169+
1170+
# HANA resources don't run on the majority maker node
1171+
sudo crm configure location loc_SAPHanaCon_not_on_majority_maker msl_SAPHana_<SID>_HDB<InstNum> -inf: hana-s-mm
1172+
sudo crm configure location loc_SAPHanaTop_not_on_majority_maker cln_SAPHanaTopology_<SID>_HDB<InstNum> -inf: hana-s-mm
1173+
```
11411174
11421175
---
11431176
11441177
5. **[1]** Configure additional cluster properties
11451178
1146-
```bash
1147-
sudo crm configure rsc_defaults resource-stickiness=1000
1148-
sudo crm configure rsc_defaults migration-threshold=50
1149-
```
1179+
```bash
1180+
sudo crm configure rsc_defaults resource-stickiness=1000
1181+
sudo crm configure rsc_defaults migration-threshold=50
1182+
```
11501183
11511184
6. **[1]** Place the cluster out of maintenance mode. Make sure that the cluster status is ok and that all of the resources are started.
11521185
1153-
```bash
1154-
# Cleanup any failed resources - the following command is example
1155-
crm resource cleanup rsc_SAPHana_HN1_HDB03
1156-
1157-
# Place the cluster out of maintenance mode
1158-
sudo crm configure property maintenance-mode=false
1159-
```
1186+
```bash
1187+
# Cleanup any failed resources - the following command is example
1188+
sudo crm resource cleanup rsc_SAPHana_HN1_HDB03
1189+
1190+
# Place the cluster out of maintenance mode
1191+
sudo crm configure property maintenance-mode=false
1192+
```
11601193
11611194
7. **[1]** Verify the communication between the HANA HA hook and the cluster, showing status SOK for SID and both replication sites with status P(rimary) or S(econdary).
11621195
1163-
```bash
1164-
sudo /usr/sbin/SAPHanaSR-showAttr
1165-
# Expected result
1166-
# Global cib-time maintenance prim sec sync_state upd
1167-
# ---------------------------------------------------------------------
1168-
# HN1 Fri Jan 27 10:38:46 2023 false HANA_S1 - SOK ok
1169-
#
1170-
# Sites lpt lss mns srHook srr
1171-
# -----------------------------------------------
1172-
# HANA_S1 1674815869 4 hana-s1-db1 PRIM P
1173-
# HANA_S2 30 4 hana-s2-db1 SWAIT S
1174-
```
1175-
1176-
> [!NOTE]
1177-
> The timeouts in the above configuration are just examples and may need to be adapted to the specific HANA setup. For instance, you may need to increase the start timeout, if it takes longer to start the SAP HANA database.
1196+
```bash
1197+
sudo /usr/sbin/SAPHanaSR-showAttr
1198+
# Expected result
1199+
# Global cib-time maintenance prim sec sync_state upd
1200+
# ---------------------------------------------------------------------
1201+
# HN1 Fri Jan 27 10:38:46 2023 false HANA_S1 - SOK ok
1202+
#
1203+
# Sites lpt lss mns srHook srr
1204+
# -----------------------------------------------
1205+
# HANA_S1 1674815869 4 hana-s1-db1 PRIM P
1206+
# HANA_S2 30 4 hana-s2-db1 SWAIT S
1207+
```
1208+
1209+
> [!NOTE]
1210+
> The timeouts in the above configuration are just examples and may need to be adapted to the specific HANA setup. For instance, you may need to increase the start timeout, if it takes longer to start the SAP HANA database.
11781211
11791212
11801213
@@ -1352,7 +1385,7 @@ Create a dummy file system cluster resource, which will monitor and report failu
13521385
#site name: HANA_S1
13531386
```
13541387
1355-
2. We recommend to thoroughly validate the SAP HANA cluster configuration, by performing the tests, documented in [HA for SAP HANA on Azure VMs on SLES](./sap-hana-high-availability.md#test-the-cluster-setup) and in [SLES Replication scale-out Performance Optimized Scenario](https://documentation.suse.com/sbp/all/html/SLES4SAP-hana-scaleOut-PerfOpt-12/index.html#_testing_the_cluster).
1388+
2. We recommend to thoroughly validate the SAP HANA cluster configuration, by performing the tests, documented in [HA for SAP HANA on Azure VMs on SLES](./sap-hana-high-availability.md#test-the-cluster-setup) and in [SLES Replication scale-out Performance Optimized Scenario](https://documentation.suse.com/sbp/sap-15/html/SLES4SAP-hana-angi-scaleout-perfopt-15/index.html#id-testing-the-cluster).
13561389
13571390
3. Verify the cluster configuration for a failure scenario, when a node loses access to the NFS share (`/hana/shared`).
13581391

0 commit comments

Comments
 (0)