Jump to content
documentation.suse.com / SAP Automation
SUSE Linux Enterprise Server for SAP Applications 15 SP2

SAP Automation

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

Publication Date: November 14, 2024

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.

Note
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

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 clients (minions). The other supported setup option is called masterless.

Salt grains

Static data about Salt minions. 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 minions.

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 minions within it. It can execute commands remotely on minions and manage their state. The Salt Master captures grains sent from minions 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:

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:

4 SAP NetWeaver automated configuration

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

Note
Note

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

5 High Availability cluster automated configuration

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.

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-SP2/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

7 For more information

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

https://github.com/SUSE/saphanabootstrap-formula

SAP NetWeaver automated configuration

https://github.com/SUSE/sapnwbootstrap-formula

High Availability cluster automated configuration

https://github.com/SUSE/habootstrap-formula

High Availability cluster automated configuration (DRBD)

https://github.com/SUSE/drbd-formula

High Availability cluster automated configuration (Salt)

https://github.com/SUSE/habootstrap-formula

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