For mission critical systems it is important to have the right direction towards zero downtime. To go towards zero downtime is not only to build just another high availability cluster running your critical resources. It is also important to align the maintenance processes. The SAP NetWeaver SUSE Cluster Integration using the sap_suse_cluster_connector exactly addresses the gap between a just another cluster and a towards zero downtime solution.
The goals of sap_suse_cluster_connector include:
- Integration of the cluster with the SAP start framework sapstartsrv to ensure that maintenance procedures do not break the cluster stability
- Rolling Kernel Switch (RKS) awareness
- Standard SAP installation to improve and optimize support processes
What is the sap_suse_cluster_connector?
The sap_suse_cluster_connector is a small but intelligent piece of software. The connector resides between the SAP start and control framework for SAP NetWeaver or S/4 HANA instances and the SUSE cluster component pacemaker.
Every administration action like starting or stopping a SAP instance is implemented as a service call from your client software to the sapstartsrv server process. This is true independent from the type of sapstartsrv client you are using. The list of clients includes the management consoles as well as the command line interface sapcontrol.
Whenever one of the clients sends a call like “start” or “stop” to sapstartsrv, the server first asks the connector, if the addresses SAP instance is under active cluster control or not. This is important, because such changes could be critical for a cluster. If the SAP instance is already under active cluster control the connector first informs the cluster about a outstanding change. In the next step the start framework asks the cluster to run its procedure to either start or stop the clustered resource.
So the sap_suse_cluster_connector is in something like a “sandwich position” and communicates with the sapstartsrv on one hand and with the pacemaker cluster component on the other hand.
The new version of the sap_suse_cluster_connector now supports functions like
- migration of the ASCS/ERS resources,
- initial cluster setup tests,
- information exchange.
You can use these features with the management console or the command line interface.
Which SAP instances must I integrate?
For any high availability setups the integration for ASCS and ERS is an absolute must. Without the integration of those instances you can not
reach the SAP NW-740 HA CLU certification.
Other SAP instances such as dialog instances could be integrated into a cluster. However we recommend to start those instances “on demand”. This concept provides a maximum of flexibility to adjust your SAP system with the current workload. For a valid SAP HA setup there must always be at least two SAP NetWeaver dialog instances running.
The sap_suse_cluster_connector can be easily integrated into SAP NetWeaver by just setting two instance parameters. This is already described in our best practices available at: https://www.suse.com/de-de/products/sles-for-sap/resource-library/sap-best-practices/.
Why should I use the new connector?
Without the cluster connector, SAP maintenance processes are cumbersome in an HA cluster. Think about the following scenario: the admin stops an instance and starts a maintenance during downtime. But the cluster doesn’t get the information that this stop was planned. A normal cluster now detects the stopped instance and tries to start it again. However the instance start breaks the planned maintenance.
With the cluster connector the same scenario is solved: The admin stops the SAP instance to do some maintenance. Sapstartsrv forwards this request to the connector, if the instance is under active cluster control. The cluster accepts the stopped instance and the maintenance ends successful.
Besides the major benefit of integrating the cluster with the start framework there are additional benefits to use the connector for HA setups. The SAP management console shows you directly the HA cluster integration of the SAP instances:
The screenshot shows the “High Availability Information” of the SAP instance ERS10.
You could even check the current SAP HA status by selecting the complete SAP system and reviewing the results of the HA tests in the “High Availability Configuration” list.
The screenshot shows some of the SAP tests as well as one of the SUSE HA tests.
Last, but not least the sap_suse_cluster_connector supports the SAP rolling kernel switch (RKS).
How could I get the sap_suse_cluster_connector running?
First of all you need of course the sap_suse_cluster connector (version 3) on your system. If not already done, install the package sap-suse-cluster-connector. The package name is written with dashes, not underscores. The package is only available for SUSE Linux Enterprise Server for SAP Applications.
zypper in sap-suse-cluster-connector
Now you need to tell the sap start framework to use the SAP HA extension and to communicate with our cluster connector. The first line loads the library which is shipped as part of the SAP binaries. The second line defines which connector the framework should call to communicate with the cluster.
service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
After this change you need to restart the sapstartsrv, because the library is not loaded dynamically but during the start of sapstartsrv.
How could I check, if sapstartsrv really uses the cluster connector? The so called work directory of a SAP instance covers the answer. The work directory is typically available at /usr/sap/<SID>/<InstanceName>/work. Check the log files of the sapstartsrv process to review the initialization and communication.
You could also see the connector working using either the management console or the command line tool sapcontrol. Login as Linux user <sid>adm and enter the following command:
sapcontrol -nr <nr> -function HAGetFailoverConfig
You will get an answer including the product name of SUSE Linux Enterprise Server for SAP Applications.
Using the connector sapcontrol adds the following new functions:
- HAGetFailoverConfig – provide the HA vendor product name and version as well as an documentation link (URL).
- HACheckConfig – start some tests provided by SAP to check the validity of the SAP setup from HA perspective.
- HACheckFailoverConfig – start some tests provided by the HA vendor to check the validity of the SAP setup from HA perspective.
- HAFailoverToNode – Migrate the instance to an other node.
All those functions are also integrated into the SAP management console.
Where can I get more information about the solution?
My team colleague Bernd Schubert wrote two blogs about our SAP NetWeaver integration certifications: https://www.suse.com/c/author/berndschubert/.
You will find more details on our best practice page: https://www.suse.com/de-de/products/sles-for-sap/resource-library/sap-best-practices/.