SAP Automation #
SUSE® Linux Enterprise Server for SAP Applications · SUSE® Linux Enterprise High Availability
This article offers some automation solutions for SAP administrators. With Salt formulas, it helps to efficiently configure High Availability and SAP systems. The solutions that is described here works from SUSE® Linux Enterprise Server 12 SP3 and beyond. All packages are available in the SLES for SAP module.
The referenced Salt formulas install and configure SAP software (SAP HANA, SAP NetWeaver, and SAP S/4HANA) on SUSE Linux Enterprise Server for SAP Applications including advanced configurations like SAP HANA System Replication setup and configure the High Availability cluster. The Salt formulas are part of SUSE® Linux Enterprise Server for SAP Applications, provided via the official repositories and are fully supported by SUSE.
SUSE works in the overall project on additional parts that cover infrastructure aspects (like machines, network, disk formats, mount points) that need to be performed with SUSE Manager, AutoYaST, or Terraform and are not shipped as part of SUSE Linux Enterprise Server for SAP Applications. These parts of the project available via SUSE GitHub repositories are published as-is and supported by the open source community. For more information, see https://github.com/SUSE/ha-sap-terraform-deployments.
1 Conceptual overview #
Starting from the idea of modernizing and simplifying SAP HANA and SAP NetWeaver deployments, SUSE engineering worked on rewriting the deployment wizards in Salt. Salt is a configuration management system that is also supported by SUSE Manager and SUSE® Linux Enterprise Server for any sort of automation.
The major motivation was to improve and simplify the installation of SAP HANA on SUSE Linux Enterprise Server.
The following sections contain a brief overview of available formulas. Each section contains also a link to the upstream GitHub project. There you can find additional documentation on how to use and apply the formulas.
2 Terminology #
- Python
A scripting language. It interacts with lower-layer utilities such as crm shell and several SAP commands, including SAP HANA management tools.
- Salt (also SaltStack)
A configuration infrastructure management system written in Python. Due to its modular approach, it is often referred as SaltStack. Salt has as a client/server architecture. The server (also called the Salt Master) acts as a central control unit for the Salt clients. The other supported setup option is called masterless.
- Salt grains
Static data about Salt clients. Grains contain information about the operating system that is running, the CPU architecture in use, and much more. Grains can also be set to assign values to Salt clients.
- Salt formulas
Formulas are pre-written Salt States.
For more information about Salt, refer to the upstream documentation at https://docs.saltstack.com.
- Salt Master
Manages the infrastructure and the Salt clients within it. It can execute commands remotely on Salt clients and manage their state. The Salt Master captures grains sent from Salt clients and decide what to do with this information.
- Salt client (sometimes minion)
A server or machine often controlled by the Salt Master. Its main purpose is to execute commands sent from the Salt Master, report data back, and send information about itself.
- Salt state
YAML text file to maintain consistency across your environment. Salt states can be executed.
- Terraform
An “infrastructure as code” software tool. It deploys the required infrastructure in cloud or virtual environments and AutoYaST for on-premises deployments.
3 SAP HANA automated deployment #
Use the Salt formula saphanabootstrap-formula for bootstrapping and managing SAP HANA platform and system replication.
The Salt formula takes care of the following
Installs SAP HANA.
Configures system replication.
Preconfigures the High Availability cluster requirements.
Configures the SAP HANA Prometheus exporter
The Salt formula can be used in these scenarios:
SAP HANA single instance automated deployment.
Two SAP HANA instances on system replication setup.
Two SAP HANA instances on system replication and cluster scale-up performance-optimized configuration.
Two SAP HANA instances on system replication setup, cluster scale-up cost-optimized configuration, and extra SAP HANA installation on a secondary host.
Cloud Service Provides (Azure, AWS, and GCP) automated adjustments for each provider as best-practice.
zypper install saphanabootstrap-formula
The following links provide best practices:
SAP HANA System Replication Scale-Up - Performance Optimized Scenario (Code 12)
Setting up a SAP HANA SR Cost Optimized Infrastructure (SLES-SAP 12 SP1)
SAP HANA System Replication Scale-Up - Performance Optimized Scenario (Code 15)
High availability of SAP HANA on Azure VMs on SUSE Linux Enterprise Server
4 SAP NetWeaver automated configuration #
Use the Salt formula sapnwbootstrap-formula for bootstrapping and managing the SAP NetWeaver platform.
The formula works only with SAP HANA as database.
ASCS instance
ERS instance
PAS instance
AAS instance
Database instance (this adds the required users, tables, views, etc. to the current Hana database)
The Salt formula can be used in these scenarios:
Enqueue replication server version 1
Enqueue replication server version 2
zypper install sapnwbootstrap-formula
SAP NetWeaver High Availability Cluster 7.40 for the AWS Cloud - Setup Guide (Code 12)
SAP NetWeaver High Availability Cluster 7.40 - Setup Guide (Code 12)
Simple Stack - SAP NetWeaver High Availability on SUSE Linux Enterprise 12 (SP1 or newer)
SAP S/4HANA - Enqueue Replication 2 High Availability Cluster - Setup Guide
5 High Availability cluster automated configuration #
Use the Salt formula habootstrap-formula for bootstrapping and managing a high availability cluster with the crm shell.
Creates and configures the High Availability cluster (Pacemaker, Corosync, SBD, and resource agents).
Run on-premises and Cloud-service providers (Azure, GCP, AWS).
Azure, AWS, and GCP automated adjustments for each provider best-practices.
6 High available NFS storage #
Use the Salt formulas drbd-formula and habootstrap-formula to create a highly available NFS storage cluster.
Use the formula drbd-formula for setting up and managing
DRBD devices with the command drbdadm
.
Find more information in https://documentation.suse.com/sle-ha-15/html/SLE-HA-all/cha-ha-drbd.html.
Use the Salt formula habootstrap-formula for bootstrapping and managing a high availability cluster with the crm shell.
zypper install drbd-formula habootstrap-formula
7 Using Salt formulas #
Salt formulas can be applied in two ways:
Salt Master with Salt client. All steps in Procedure 1, “Applying Salt formulas” must be executed on the Salt Master machine.
Salt client only. All steps in Procedure 1, “Applying Salt formulas” must be executed in all of the Salt clients where the formulas are going to be executed.
The following procedure is written in a general way to make it fit for all use cases. You need some knowledge about Salt and how to customize it to your needs.
The following procedure demonstrates how to create a pillar structure for a system with SAP HANA, SAP NetWeaver, and with DRBD. This setup is based on SUSE Linux Enterprise Server for SAP Applications.
Install salt-minion package including dependencies using the
zypper install salt-minion
command.To install the package on SUSE Linux Enterprise 12, you must enable the Advanced System Management Module.
Make the correct version of SAP media available on a share, as it is required for running the formulas that install the SAP software. Ensure that the directories and files have correct permissions.
Install the Salt formulas using the
sudo zypper in saphanabootstrap-formula sapnwbootstrap-formula drbd-formula habootstrap-formula
command.Create the pillar files structure.
The pillar files work as configuration files for the Salt formulas and are intended as user input. To use the files, create a
top.sls
file which references other files you want to apply.Create the directory
/srv/pillar
and its subdirectorieshana
,netweaver
, anddrbd
:#
mkdir
--parents /srv/pillar/{hana,netweaver,drbd}The directory names match with the names in the
top.sls
file (see next step).Create the file
/srv/pillar/top.sls
with the following content:base: 'hana01,hana02': - hana.hana - hana.cluster 'netweaver01,netweaver02': - netweaver.netweaver - netweaver.cluster 'drbd01,drbd02': - drbd.drbd - drbd.cluster
Copy example pillar files to the appropriate directories:
>
sudo
cp
/usr/share/salt-formulas/metadata/hana/pillar.example /srv/pillar/hana/hana.sls>
sudo
cp
/usr/share/salt-formulas/states/netweaver/pillar.example /srv/pillar/netweaver/netweaver.sls>
sudo
cp
/usr/share/salt-formulas/metadata/drbd/pillar.example /srv/pillar/drdb/drdb.sls>
sudo
cp
/usr/share/salt-formulas/metadata/cluster/pillar.example /srv/pillar/hana>
sudo
cp
/usr/share/salt-formulas/metadata/cluster/pillar.example /srv/pillar/netweaver>
sudo
cp
/usr/share/salt-formulas/metadata/cluster/pillar.example /srv/pillar/drdbModify the content of the pillar files for each Salt formula, according to the configuration you need.
Notice that, in this example, we have three different
cluster.sls
files. Each might have different HA cluster requirements.Create the file
/srv/salt/top.sls
with the following content:base: 'hana01,hana02': - hana - cluster 'netweaver01,netweaver02': - netweaver - cluster 'drbd01,drbd02': - drbd - cluster
In the above example, folder part is removed, as we are pointing to the formulas with their names.
Before proceeding to the next step, perform an environment check to ensure that all the required users and groups exist and configured correctly.
Execute Salt using the commands below. Keep in mind that these are example commands: Salt supports more options.
If you use a Salt Master with Salt clients, run:
#
salt
'*' state.highstateIf you use only a Salt client, run:
#
salt
--local state.highstate
The command shows the result (green for everything is fine, red for errors).
8 For more information #
Find some more general information in the following list:
SAP HANA System Replication Scale-Up - Performance Optimized Scenario (Code 15):
SAP HANA System Replication Scale-Up - Performance Optimized Scenario (Code 12)
Setting up a SAP HANA SR Cost Optimized Infrastructure (SLES for SAP 12 SP1)
High availability of SAP HANA on Azure VMs on SUSE Linux Enterprise Server
The open source repositories of the deployment automation can be found at the following GitHub repositories, including the Terraform scripts. All scripts provided in the repositories are as-is and are not supported as part of SUSE Linux Enterprise Server for SAP Applications.
- SAP HANA deployment automation
- SAP NetWeaver automated configuration
- High Availability cluster automated configuration
- High Availability cluster automated configuration (DRBD)
- High Availability cluster automated configuration (Salt)
9 Legal notice #
Copyright© 2006– 2024 SUSE LLC and contributors. All rights reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.
For SUSE trademarks, see https://www.suse.com/company/legal/. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its affiliates. Asterisks (*) denote third-party trademarks.
All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its affiliates, the authors, nor the translators shall be held liable for possible errors or the consequences thereof.