Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
SUSE Linux Enterprise Server for SAP Applications 15 SP3

SAP Automation Edit source

SUSE® Linux Enterprise Server for SAP Applications · SUSE® Linux Enterprise High Availability Extension

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-SAP module.

Publication Date: September 10, 2021
Note: About official SUSE support

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 Edit source

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 Edit source


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.


An infrastructure as code software tool. It deploys the required infrastructure in cloud or virtual environments and AutoYaST for on-premises deployments.

3 Using Salt formulas Edit source

Salt formulas can be applied in two ways:

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.

Procedure 1: Applying Salt formulas

In this procedure, we show how to create a pillar structure for a system with SAP HANA, SAP NetWeaver, and with DRBD. All this uses SUSE Linux Enterprise Server for SAP Applications.

  1. Install the Salt formulas with zypper. Get the package name from the upstream GitHub repository.

  2. 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.

    1. Create the directory /srv/pillar and its subdirectories hana, netweaver, and drbd:

      root # mkdir --parents /srv/pillar/{hana,netweaver,drbd}

      The directory names match with the names in the top.sls file (see next step).

    2. Create the file /srv/pillar/top.sls with the following content:

              - hana.hana
              - hana.cluster
              - netweaver.netweaver
              - netweaver.cluster
              - drbd.drbd
              - drbd.cluster
  3. Download the examples from the upstream GitHub repository:

    tux > wget -O hana.sls \
    tux > wget -O netweaver.sls \
    tux > wget -O drbd.sls \
    tux > wget -O cluster.sls \
  4. Copy all pillar files to the right directory:

    tux > sudo cp -vi hana.sls cluster.sls /srv/pillar/hana
    tux > sudo cp -vi netweaver.sls cluster.sls /srv/pillar/netweaver
    tux > sudo cp -vi drbd.sls cluster.sls /srv/pillar/drbd
  5. Modify 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.

  6. Create the file /srv/salt/top.sls with the following content:

            - hana
            - cluster
            - netweaver
            - cluster
            - drbd
            - cluster

    In the above example, folder part is removed, as we are pointing to the formulas with their names.

  7. Execute Salt as shown in the following commands. Bear in mind, these are just examples—Salt supports more options.

    • If you use a Salt Master with Salt clients, run:

      root # salt '*' state.highstate
    • If you use only a Salt client, run:

      root # salt --local state.highstate

    The command shows the result (green for everything is fine, red for errors).

4 SAP HANA automated deployment Edit source

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:

Scenarios for saphanabootstrap-formula
  • 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.

Example 1: Installation
zypper install saphanabootstrap-formula

The following links provide best practices:

5 SAP NetWeaver automated configuration Edit source

Use the Salt formula sapnwbootstrap-formula for bootstrapping and managing the SAP NetWeaver platform.


The formula works only with SAP HANA as database.

SAP NetWeaver components
  • 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:

Scenarios for sapnwbootstrap-formula
  • Enqueue replication server version 1

  • Enqueue replication server version 2

Example 2: Installation
zypper install sapnwbootstrap-formula

6 High Availability cluster automated configuration Edit source

Use the Salt formula habootstrap-formula for bootstrapping and managing a high availability cluster with the crm shell.

Properties for habootstrap-formula
  • 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.

7 High available NFS storage Edit source

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.

Example 3: Installation
zypper install drbd-formula habootstrap-formula

8 For more information Edit source

Find some more general information in the following list:

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 Edit source

Copyright© 2006– 2021 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.

Print this page