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 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:
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 SP4)
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 Enqueue Replication 1 High Availability Cluster 7.40 and 7.50 - 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-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.
zypper install drbd-formula habootstrap-formula
7 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 SP4)
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)
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.