SLES SAP Guide - en
SLES SAP Guide - en
15 SP5
Guide
Guide
SUSE Linux Enterprise Server for SAP Applications 15 SP5
https://documentation.suse.com
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Docu-
mentation 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 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.
Contents
Preface ix
1 Available documentation ix
3 Documentation conventions xi
4 Support xiii
Support statement for SUSE Linux Enterprise Server for SAP
Applications xiii • Technology previews xiv
iv Guide
2.7 Partitioning 16
Partitioning for the operating system (stage 1) 16 • Partitioning for the SAP
system (stage 2) 16
v Guide
7.2 Setup 52
8.8 Staging 70
vi Guide
9.2 Support for Workload Memory Protection 74
10 Configuring a firewall 79
10.1 Configuring firewalld 79
vii Guide
14 Important log files 95
viii Guide
Preface
SUSE® Linux Enterprise Server for SAP Applications is the reference platform for the software
development of SAP. It is optimized for SAP applications. This document provides detailed
information about installing and customizing SUSE Linux Enterprise Server for SAP Applications.
SUSE Linux Enterprise High Availability is also part of SUSE Linux Enterprise Server for SAP
Applications.
1 Available documentation
This manual contains links to additional documentation resources that are either available on
the system or online.
Online documentation
Visit https://documentation.suse.com/#sles-sap for the latest version of this guide in dif-
ferent formats. You can nd whitepapers and other resources in the SUSE Linux Enterprise
Server for SAP Applications resource library: https://www.suse.com/products/sles-for-sap/
resource-library/ .
Find the online documentation for other products at https://documentation.suse.com/ .
SUSE Knowledgebase
If you have run into an issue, also check out the Technical Information Documents (TIDs)
that are available online at https://www.suse.com/support/kb/ . Search the SUSE Knowl-
edgebase for known solutions driven by customer need.
Release notes
For release notes, see https://www.suse.com/releasenotes/ .
In your system
For offline use, the release notes are also available under /usr/share/doc/re-
lease-notes on your system. The documentation for individual packages is available at
/usr/share/doc/packages .
Bug reports
Report issues with the documentation at https://bugzilla.suse.com/ .
To simplify this process, click the Report an issue icon next to a headline in the HTML
version of this document. This preselects the right product and category in Bugzilla and
adds a link to the current section. You can start typing your bug report right away.
A Bugzilla account is required.
Contributions
To contribute to this documentation, click the Edit source document icon next to a headline
in the HTML version of this document. This will take you to the source code on GitHub,
where you can open a pull request.
A GitHub account is required.
For more information about the documentation environment used for this documentation,
see the repository's README.
3 Documentation conventions
The following notices and typographic conventions are used in this document:
Alt , Alt – F1 : A key to press or a key combination. Keys are shown in uppercase as
on a keyboard.
AMD/Intel This paragraph is only relevant for the AMD64/Intel 64 architectures. The
arrows mark the beginning and the end of the text block.
IBM Z, POWER This paragraph is only relevant for the architectures IBM Z and POWER .
The arrows mark the beginning and the end of the text block.
Commands that must be run with root privileges. You can also prefix these commands
with the sudo command to run them as a non-privileged user:
# command
> sudo command
> command
> echo a b \
c d
A code block that shows both the command (preceded by a prompt) and the respective
output returned by the shell:
> command
output
Notices
Compact Notices
4.1 Support statement for SUSE Linux Enterprise Server for SAP
Applications
To receive support, you need an appropriate subscription with SUSE. To view the specific support
offers available to you, go to https://www.suse.com/support/ and select your product.
The support levels are defined as follows:
L1
Problem determination, which means technical support designed to provide compatibility
information, usage support, ongoing maintenance, information gathering and basic trou-
bleshooting using available documentation.
L2
Problem isolation, which means technical support designed to analyze data, reproduce
customer problems, isolate a problem area and provide a resolution for problems not re-
solved by Level 1 or prepare for Level 3.
L3
Problem resolution, which means technical support designed to resolve problems by en-
gaging engineering to resolve product defects which have been identified by Level 2 Sup-
port.
For contracted customers and partners, SUSE Linux Enterprise Server for SAP Applications is
delivered with L3 support for all packages, except for the following:
Technology previews.
Packages with names ending in -devel (containing header les and similar developer
resources) will only be supported together with their main packages.
SUSE will only support the usage of original packages. That is, packages that are unchanged
and not recompiled.
Technology previews are still in development. Therefore, they may be functionally incom-
plete, unstable, or otherwise not suitable for production use.
Details and functionality of technology previews are subject to change. As a result, up-
grading to subsequent releases of a technology preview may be impossible and require a
fresh installation.
SUSE may discover that a preview does not meet customer or market needs, or does not
comply with enterprise standards. Technology previews can be removed from a product
at any time. SUSE does not commit to providing a supported version of such technologies
in the future.
For an overview of technology previews shipped with your product, see the release notes at
https://www.suse.com/releasenotes .
SUSE® Linux Enterprise Server for SAP Applications is a bundle of software and
services that addresses the specific needs of SAP users. It is the only operating sys-
tem that is optimized for all SAP software solutions.
Target use cases include:
SAP appliances
SUSE Linux Enterprise Server for SAP Applications consists of software components and service
offerings which are described in the following sections. The figure Offerings of SUSE Linux Enter-
prise Server for SAP Applications shows an overview of which software components and services
are also available with other products from SUSE (green) and which are exclusively available
with SUSE Linux Enterprise Server for SAP Applications (blue).
FIGURE 1.1: OFFERINGS OF SUSE LINUX ENTERPRISE SERVER FOR SAP APPLICATIONS
Virtualization-aware
SUSE Linux Enterprise High Availability provides two resource agents specifically for working
with SAP applications:
SAPDatabase which allows starting and stopping all databases supported by SAP appli-
cations (SAP HANA, SAP MaxDB, SAP ASE, Oracle, Sybase, IBM DB2).
This resource agent from SUSE supports scale-up scenarios by checking the SAP HANA database
instances for whether a takeover needs to happen. Unlike with the pure SAP solution, takeovers
can be automated.
It is configured as a parent/child resource: The parent assumes responsibility for the SAP HANA
databases running in primary mode, whereas the child is responsible for instances that are op-
erated in synchronous (secondary) status. In case of a takeover, the secondary (child resource
instance) can automatically be promoted to become the new primary (parent resource instance).
This resource agent supports system replication for the following scale-up scenarios:
Performance-optimized scenario. Two servers (A and B) in the same SUSE Linux Enter-
prise High Availability cluster, one primary (A) and one secondary (B). The SAP HANA in-
stance from the primary server (A) is replicated synchronously to the secondary server (B).
Cost-optimized scenario. The basic setup of A and B is the same as in the Performance-Op-
timized Scenario. However, the secondary server (B) is also used for non-productive pur-
poses, such as for an additional SAP HANA database for development or QA. The produc-
tion database is only kept on permanent memory, such as a hard disk. If a takeover needs
3 Simplified SAP HANA system replication setup SLES for SAP 15 SP5
to occur, the non-productive server will be stopped before the takeover is processed. The
system resources for the productive database are then increased as quickly as possible via
an SAP hook call-out script.
Chain/multi-tier scenario. Three servers (A, B, and C), of which two are located in the same
SUSE Linux Enterprise High Availability cluster (A and B). The third server (C) is located
externally. The SAP HANA system on the primary server (A) is replicated synchronously
to the secondary server (B). The secondary server (B) is replicated asynchronously to the
external server (C).
If a takeover from A to B occurs, the connection between B and C remains untouched.
However, B is not allowed to be the source for two servers (A and C), as this would be a
“star” topology, which is not supported with current SAP HANA versions (such as SPS11).
Using SAP HANA commands, you can then manually decide what to do:
If replication to the external site (C) is more important than local system replication,
the connection between B and C can be kept.
For all of the scenarios, SUSE Linux Enterprise Server for SAP Applications supports both sin-
gle-tenant and multi-tenant (MDC) SAP HANA databases. That is, you can use SAP HANA data-
bases that serve multiple SAP applications.
To make configuring the cluster as simple as possible, SUSE has developed the SAPHanaTopol-
ogy resource agent. This agent runs on all nodes of a SUSE Linux Enterprise High Availability
cluster and gathers information about the status and configurations of SAP HANA system repli-
cations. It is designed as a normal (stateless) clone.
SUSE Linux Enterprise Server for SAP Applications now additionally ships a YaST wizard that
manages the initial setup of such clusters according to best practices. The wizard is part of the
package yast2-sap-ha and can be started using YaST, via HA Setup for SAP Products.
For more information, see Chapter 7, Setting up an SAP HANA cluster.
4 Simplified SAP HANA system replication setup SLES for SAP 15 SP5
1.1.3.4 For more information
For more information, see:
For information on hardening the underlying operating system, see the SUSE Linux Enter-
prise Server for SAP Applications resource library: https://www.suse.com/products/sles-for-sap/
resource-library/ . There, nd the document OS Security Hardening for SAP HANA.
The system tuning application saptune allows you to automatically and comprehensively tune
your system as recommended by SAP for use with SAP S/4HANA, SAP NetWeaver, or SAP
HANA/SAP BusinessOne. To do this, saptune activates tuned profiles. These allow tuning
several kernel parameters, depending on the hardware components you are using, such as the
amount of available RAM.
For more information, see Chapter 8, Tuning systems with saptune.
To simplify working with software dependencies of SAP applications, SUSE has created patterns
that combine relevant dependency RPM packages for specific applications:
1.1.7.3 ClusterTools2
ClusterTools2 provides tools that help set up and manage a Corosync & Pacemaker cluster.
Among them are wow which helps create highly available system resources, and ClusterSer-
vice which allows managing a cluster.
Scripts that perform checks. For example, to nd out whether a system is set up correctly
for creating a pacemaker cluster.
Scripts that monitor the system and scripts that show or collect system information. For
example, to nd known error patterns in log les.
For more information, see the man page of the respective tool, included with the package Clus-
terTools2 .
The tables in this section do not show Debuginfo and Source repositories, which are also set up but
disabled by default. The Debuginfo repositories contain packages that can be used for debugging
regular packages. The Source repositories contain source code for packages.
Depending on your installation method, you may also see SLE-15-SP5-SAP-15.5-0 which is
the installation medium. It contains packages from all of the base software repositories listed
above.
Because there are own repositories for SUSE Linux Enterprise Server for SAP Applications, SUSE
can ship packages and patches that are specific to SUSE Linux Enterprise Server for SAP Appli-
cations.
In addition to the standard repositories, you can enable SLE Modules and SLE Extensions either
during the installation or from the running system using YaST or the command SUSEConnect .
For information about all modules and extensions available for the SUSE Linux Enterprise prod-
uct line, see https://documentation.suse.com/sles-15/html/SLES-all/art-modules.html .
For more information about SUSE Package Hub, see Section A.3, “SUSE Package Hub”. For informa-
tion about life cycle and support of modules and extensions, see Section 1.3, “Included Services”.
Modules:
Extensions
Support. Support is available but not included with your subscription for
SUSE Linux Enterprise Server for SAP Applications. You need an additional
registration key.
Unsupported Extensions (SUSE Package Hub and SUSE Software Development Kit)
Lifecycle. Releases are usually coordinated with SUSE Linux Enterprise Server
for SAP Applications.
Support. There is no support beyond fixes for security and packaging issues.
You do not need an additional registration key.
Read this chapter carefully, as it helps you plan the installation: It lists requirements and helps
you collect data about your system.
Supported CPU
Intel 64
IBM POWER 8 (with PowerVM)
IBM POWER 9 (with PowerVM)
Hard disk
SUSE Linux Enterprise Server for SAP Applications requires at least 41 GB (without swap)
of hard disk space for the system volume. In addition to that, reserve an appropriate
amount of hard disk space for the swap partition.
To install an SAP application such as SAP NetWeaver, you need at least 200 GB of free
disk space in addition to the required space for the operating system for the application's
/data partition.
To install SAP HANA, you need either:
A compatible machine that meets the requirements for SAP HANA TDI (Tailored
Datacenter Integration). That is, you need the following amounts of free disk space
in addition to the required space for the operating system:
Space for three partitions for SAP HANA data: /hana/data (same size as RAM),
/hana/log (same size as RAM up to a maximum of 512 GB), and /hana/
shared (same size as RAM up to a maximum of 1 TB).
RAM
The SUSE Linux Enterprise Server operating system itself requires a minimum of 1024 MB
of total RAM or a minimum of 512 MB of RAM per CPU core (choose whichever is higher).
Any SAP software you install will require additional RAM.
To install SAP HANA, your machine needs a minimum of 24 GB of RAM.
For more information about configuring hardware for SAP HANA, see SAP Note 1944415: Hard-
ware Configuration Guide and Software Installation Guide for SUSE Linux Enterprise Server with SAP
HANA and SAP Business One (https://launchpad.support.sap.com/#/notes/1944415 ).
For more information about partitioning, see Section 2.7, “Partitioning”.
Replace IMAGE with the path to the installation media image le and FLASH_DISK with
the ash device.
1. Installation of the operating system (SUSE Linux Enterprise Server). See Section 3.1, “Instal-
lation workflow”.
2. SAP Installation Wizard, part 1: Copying all required SAP media to the local disk or se-
lecting a shared storage medium to use. See Section 4.3, “Using the SAP Installation Wizard”,
in particular Step 1.
3. SAP Installation Wizard, part 2: Collecting all parameters for the actual installation by
querying the user interactively. See Section 4.3, “Using the SAP Installation Wizard”, in partic-
ular Step 10.
4. SAP Installation Wizard, part 3: Running the SAP Installer. See Section 4.3, “Using the SAP
Installation Wizard”, in particular Step 13.
Most of these steps do not need to be run immediately after each other, which allows for flexi-
bility in how you install systems. This means that you can prepare a single installation as a rst
step and then continue from there. For example:
Install the operating system (SUSE Linux Enterprise Server), copy SAP media, and collect
SAP installation parameters.
Then, create disk images, copy them to other systems, and adjust SAP installation parameters.
Finally, finish the installation on each machine individually.
Administrator ( root ) password for the SUSE Linux Enterprise Server installation
SAP application
The installation of an SAP application generally requires specifying:
SAP SID
Depending on the SAP application you are installing, more parameters may be necessary,
such as T-Shirt Sizing or parameters for virtual networking.
SAP SID
For more information about installing SAP software, see the SAP documentation at https://help.s-
ap.com and https://support.sap.com .
2.7 Partitioning
SUSE Linux Enterprise Server for SAP Applications creates the partitioning table in two stages:
1. Partitioning for the operating system (stage 1) (during the installation of the operating system)
2. Partitioning for the SAP system (stage 2) (during the installation of the SAP product)
/dev/system/root : by default 60 GB to account for the operating system and SAP media
/dev/system/swap : by default 2 GB, avoid setting a smaller size. See also SAP Note
2578899: SUSE Linux Enterprise Server 15: Installation notes (https://launchpad.support.s-
ap.com/#/notes/2578899 ).
The SAP Installation Wizard (see Section 4.3, “Using the SAP Installation Wizard”).
Using YaST on the command line (see Section 4.5, “Partitioning for an SAP application without
the SAP Installation Wizard”).
17 Partitioning for the SAP system (stage 2) SLES for SAP 15 SP5
3 Installing the operating system
The following section provides instructions for installing the base operating system. Using the
installation workflow, you can install either using a local installation medium or over the net-
work. Alternatively, you can install using AutoYaST.
For more information, see Section 2.5, “Overview of the installation workflow”.
This section guides you through the installation of the SUSE Linux Enterprise Server for SAP
Applications operating system.
1. On AMD64/Intel 64, boot from the installation media. From the boot menu, select
Installation.
On POWER, follow the instructions in the SUSE Linux Enterprise Server documen-
tation, see Deployment Guide, Part “Installation Preparation”, Chapter “Installation on
IBM POWER” (https://documentation.suse.com/sles-15 ).
While the initial operating system is starting, you can view boot messages by pressing
Esc . When this process has completed, the graphical installation workflow will start. As
the rst step, the installation workflow will check for updates for itself. After that, it will
be ready to start the installation.
3. Select the appropriate keyboard layout under Keyboard Layout. To test whether the select-
ed layout matches your physical keyboard, use the text box Keyboard Test.
4. SLE 15 SP5 provides a single installation ISO for the entire product line. Therefore, you
need to select the product to install on this page.
Under Product to install, choose SUSE Linux Enterprise Server for SAP Applications 15 SP5.
6. (Optional) If automatic network configuration via DHCP fails, the screen Network Settings
will open.
If instead the screen Registration appears, your network connection works. To change net-
work settings anyway, click Network Configuration.
When you are finished configuring networking, proceed with Next.
For information about configuring networking, see Administration Guide, Chapter “Basic
Networking”, Section “Configuring a Network Connection with YaST” (https://documenta-
tion.suse.com/sles-15 ).
7. On the screen Registration, enter your E-mail Address and Registration Code. Successful reg-
istration is a prerequisite for receiving product updates and the entitlement to technical
support.
Proceed with Next.
9. After the system is successfully registered, YaST lists available modules for SUSE Linux
Enterprise Server for SAP Applications from the SUSE Customer Center. The default selec-
tion covers the most common cases. To enable an additional module, activate its entry.
10. (Optional) The Add On Product dialog allows you to add additional software sources (so-
called “repositories”) to SUSE Linux Enterprise Server for SAP Applications, that are not
provided by the SUSE Customer Center. Such add-on products may include third-party
products, drivers, or additional software for your system.
11. Choose the System Role. System roles are predefined use cases which tailor the system
for the selected scenario. For SUSE Linux Enterprise Server for SAP Applications, you can
choose between:
SLES for SAP Applications: Default, recommended for most situations. This system
role contains the following properties:
Supports the installation wizard for SUSE Linux Enterprise Server for SAP Ap-
plications.
SLES with GNOME: Can be necessary in specific cases. This installation path is not
covered in this document. For more information about this installation path, see In-
stallation Quick Start, Section “Installing SUSE Linux Enterprise Server” (https://docu-
mentation.suse.com/sles-15 ).
Additional system roles are available for specific use cases (High Availability, text mode,
minimal, and KVM/XEN virtualization hosts).
Proceed with Next.
To install an SAP Application along with the system, activate Launch the SAP Instal-
lation Wizard right after the operating system is installed.
To enable RDP access (Remote Desktop Protocol) to this machine, activate Enable
RDP service and open port in firewall.
For more information about connecting via RDP, see Chapter 12, Connecting via RDP.
2. Review the proposed partition setup for the volumes /dev/system/root and /dev/sys-
tem/swap . The volume /dev/system/data will be created later, as described in Sec-
tion 2.7, “Partitioning”.
Suitable values are preselected. However, if necessary, change the partition layout. You
have the following options:
Guided setup
Create a new partitioning suggestion based on your input.
Expert partitioner
Open the Expert Partitioner described in Deployment Guide, Chapter “Advanced Disk Set-
up”, Section “Using the YaST Partitioner” (https://documentation.suse.com/sles-15 ).
3. Select the clock and time zone to use on your system. To manually adjust the time or
to configure an NTP server for time synchronization, choose Other Settings. For detailed
information, see Deployment Guide, Chapter “Installation with YaST”, Section “Clock and
Time Zone” (https://documentation.suse.com/sles-15 ).
Proceed with Next.
4. Type a password for the system administrator account (called root ) and repeat the pass-
word under Confirm Password. You can use the text box Test Keyboard Layout to make sure
that all special characters appear correctly.
If you want to enable passwordless authentication via SSH login, you can import a key via
Import Public SSH Key. If you want to completely disable root login via password, upload
a key only and do not provide a root password. A login as system administrator will only
be possible via SSH using the respective key in this case.
For more information, see Deployment Guide, Chapter “Installation with YaST”, Section “Pass-
word for the System Administrator root” (https://documentation.suse.com/sles-15 ).
Proceed with Next.
5. On the screen Installation Settings, you can review and, if necessary, change several pro-
posed installation settings. Each setting is shown alongside its current configuration. To
change parts of the configuration, click the appropriate headline or other underlined items.
6. When you are satisfied with the system configuration, click Install.
Depending on your software selection, you may need to agree to further license agreements
before you are asked to confirm that you want to start the installation process.
If you chose to only prepare the system for installation, the system will boot to a
desktop login screen.
If you chose to install an SAP application now, the installation will continue after a
reboot. Continue with Chapter 4, Installing SAP applications.
1. Copy the content of the SUSE Linux Enterprise Server for SAP Applications installation
media to a Web server (for example, example.com ), to the directory /srv/www/ht-
docs/sap_repo .
3. Select one of the boot menu options using the keys ↓ / ↑ . Then add to the command
line. To do so, specify the parameters listed below:
To allow network usage, add ifcfg=*=dhcp (though this should be the default).
For more information, see Deployment Guide, Chapter “Remote Installation” (https://documenta-
tion.suse.com/sles-15 ).
To avoid having to use a SLES installation medium to initialize the system, you can boot over
the network via PXE. For details, see AutoYaST Guide, Chapter “Booting via PXE over the Network”
(https://documentation.suse.com/sles-15 ).
For more information about partitioning for SAP applications with AutoYaST, see Section 2.7,
“Partitioning”.
25 Using SLES for SAP media from the network SLES for SAP 15 SP5
If you plan to deploy SUSE Linux Enterprise Server for SAP Applications from a SUSE Manager
server, refer to SUSE Manager “Reference Manual”, “Systems”, “Autoinstallation” and SUSE Man-
ager “Advanced Topics”, Chapter “Minimalist AutoYaST Profile for Automated Installations and Use-
ful Enhancements” (https://documentation.suse.com/suma; ).
# Migrate_SLES_to_SLES-for-SAP.sh
4. When asked, type the e-mail address to use for registration, then press Enter .
Important: Script does not install default SLES for SAP packages
The script does not install all packages that are included with a default SLES for SAP in-
stallation. However, you can install these yourself manually. To install the default pack-
age selection, use:
# zypper in patterns-server-enterprise-sap_server
26 Converting a SLES installation to a SLES for SAP installation SLES for SAP 15 SP5
Warning: Migration script on public cloud
On public cloud instances (pay-as-you-go instances in particular), billing depends on in-
ternal mechanisms to identify the entitlement and to calculate the actual consumption.
This makes the migration script ineffective, as it only performs migration of repositories
inside the operating system.
To perform migration, you must follow image migration guidelines with your cloud so-
lution provider.
27 Converting a SLES installation to a SLES for SAP installation SLES for SAP 15 SP5
4 Installing SAP applications
This section guides you through the installation of SAP media sets you received from SAP.
If you are installing an SAP application within the installation workflow, continue with
Section 4.2, “First steps”.
If you are installing an SAP application within an installed system, continue with Section 4.3,
“Using the SAP Installation Wizard”.
28 Products that can be installed using SAP Installation Wizard SLES for SAP 15 SP5
SAP NetWeaver Process Integration 7.1
1. When the system is booted, it displays the screen Welcome. Proceed with Next.
2. The screen Network Settings will now open. This gives you an opportunity to change the
network settings.
When you are finished configuring networking, proceed with Next.
For information about configuring networking, see Administration Guide, Chapter “Basic
Networking”, Section “Configuring a Network Connection with YaST” (https://documenta-
tion.suse.com/sles-15 ).
(While the next screen loads, the Welcome screen may appear again for a few seconds.)
Only create SAP HANA file systems, do not install SAP products now
Create an SAP HANA le system on SAP BusinessOne-certified hardware.
1. In the screen SAP Installation Wizard, provide the Location of the SAP Installation Master
(Figure 4.1, “Location of SAP installation master”). The location can either be a local, remov-
able, or remote installation source.
Local Sources
Removable Sources
cdrom:// a CD or DVD //
Remote Sources
If you have installed an SAP application from an installation server before or set up your
system to be an installation server, you can also directly choose that server as the provider
of the Installation Master. To do so, use the drop-down box below Choose an installation
master.
Collect installation profiles for SAP products but do not execute installation
Use this option to set the installation parameters, but not perform the actual instal-
lation. With this option, the SAP Installer (SAPinst) will stop without performing the
actual SAP product installation. However, the steps that follow fully apply.
For more information, see Section 4.4, “Continuing an installation using an installation
profile”.
Serve all installation media (including master) to local network via NFS
Set up this system as an installation server for other SUSE Linux Enterprise Server
for SAP Applications systems. The media copied to this installation server will be
offered through NFS and can be discovered via Service Location Protocol (SLP).
If you are installing an SAP NetWeaver application, continue with the next step.
3. On the screen SAP Installation Wizard, provide the location of additional Installation Media
you want to install. This can include an SAP kernel, a database, and database exports.
Copy a medium
Specify a path to additional Installation Media. For more information about specify-
ing the path, see Table 4.1, “Media source path”.
4. After copying the Installation Media, you will be asked whether you want to prepare
additional Installation Media. To do so, click Yes. Then follow the instructions in Step 3.
Otherwise, click No.
5. In the screen What Would You Like to Install, under The SAP product is, choose how you
want to install the product:
Distributed system
An SAP application that is separated onto multiple servers.
6. If you selected SAP Standard System, Distributed System, or SAP High-Availability System,
additionally choose a back-end database under Back-end Databases.
Proceed with Next.
7. You will now see the screen Choose a Product. The products shown depend on the Media
Set and Installation Master you received from SAP. From the list, select the product you
want to install.
Proceed with Next.
8. You will be asked whether to copy Supplementary Media or Third-Party Media. To do so,
click Yes and then follow the instructions in Step 3.
Otherwise, click No.
Additional software repositories are RPM package repositories that you will
remain subscribed to. This means you receive updates for Third-Party Media
along with your regular system updates.
> ls /data/SAP_CDs
742-KERNEL-SAP-Kernel-742
742-UKERNEL-SAP-Unicode-Kernel-742
RDBMS-MAX-DB-LINUX_X86_64
SAP-NetWeaver-740-SR2-Installation-Export-CD-1-3
SAP-NetWeaver-740-SR2-Installation-Export-CD-2-3
SAP-NetWeaver-740-SR2-Installation-Export-CD-3-3
10. Depending on the product you are installing, one or more dialogs will prompt you to supply
values for several configuration parameters for the SAP application you are installing.
Supply the values as described in the documentation provided to you by SAP. Help for
the configuration parameters is also available on the left side of the dialog. For more
information, see Section 2.6, “Required data for installing”.
Fill out the form (or forms), then proceed with OK.
When you are done, the SAP Installation Wizard will download additional software pack-
ages.
11. You will be asked whether to continue the installation or prepare another SAP product
for installation. If you choose to prepare another SAP product, start from the beginning
of this procedure.
12. (Optional) When installing SAP HANA on a system that is not certified for SAP HANA
and does not meet the minimum hardware requirements for SAP HANA TDI (Tailored
Datacenter Integration), you will be asked whether to continue. If you receive this message
unexpectedly, check Section 2.1, “Hardware requirements” and the sizing guidelines from SAP
at https://service.sap.com/sizing (you need your SAP ID to access the information).
Otherwise, continue with Yes.
13. The following steps differ depending on the type of SAP application you are installing:
When installing an SAP HANA database, SAP HANA will now be installed without
further question.
When installing an SAP NetWeaver application, the actual installation will be per-
formed using the SAP Installer (SAPinst). After a few seconds, SAP Installer will open
automatically.
/data/SAP_INST/0/Instmaster
/data/SAP_INST/1/Instmaster
/data/SAP_INST/2/Instmaster
[...]
These les are re-used in the following. To continue the installation, follow these steps:
SAP_AUTO_INSTALL="yes"
2. In the case of an SAP HANA/SAP BusinessOne installation, the SAP Installation Wizard will
later use the parameters documented in the AutoYaST les in /data/SAP_INST/number .
If you need to change any parameters, make sure to adapt the AutoYaST les at this point.
3. Open the YaST control center and start SAP Installation Wizard.
4. You will be asked whether to continue the pending installation. Select Install.
5. All further interactions happen within the SAP Installer. Follow the steps of SAP Installer
as described in the documentation provided to you by SAP.
In the case of an SAP NetWeaver installation, all parameters of the SAP Installer will
be offered again for ne-tuning.
In the case of an SAP HANA/SAP BusinessOne installation, the installer will not be
offer to make any changes to parameters.
<sap-inst>
<products config:type="list">
<product>
<media config:type="list">
<medium>
<url>nfs://server/path1</url>
<type>sap</type>
</medium>
<medium>
<url>nfs://server/path3</url>
<type>supplement</type>
</medium>
</media>
<sapMasterPW>PASSWORD</sapMasterPW>
<sid>SID</sid>
<sapInstNr>INSTANCE_NUMBER</sapInstNr>
<sapMDC>no</sapMDC>
Partitioning for an SAP application without the SAP Installation Wizard SLES for SAP 15
41 SP5
</product>
</products>
</sap-inst>
The sapVirtHostname element must be specified for distributed or highly available in-
stallations.
<sap-inst>
<products config:type="list">
<product>
<media config:type="list">
<medium>
<url>nfs://SERVER/PATH1</url>
<type>sap</type>
</medium>
<medium>
<url>nfs://SERVER/PATH2</url>
<type>sap</type>
</medium>
<medium>
NW_GetMasterPassword.masterPwd = MASTER_PASSWORD
# Human readable form of the Default Login language - valid names are stored
# in a table of the subcomponent NW_languagesInLoadChecks. Used when freshly
# installing an ABAP stack for the machine that performs an ABAP load (in the
# case of a distributed system, that is the database, otherwise it is used by
# the normal installer). The available languages must be declared in the
# LANGUAGES_IN_LOAD parameter of the product.xml . In this file, the one
# character representation of the languages is used. Check the same table in
# the subcomponent mentioned above.
NW_GetSidNoProfiles.SAP_GUI_DEFAULT_LANGUAGE =
NW_SAPCrypto.SAPCryptoFile = /data/SAP_CDs/745-UKERNEL-SAP-Unicode-Kernel-745/DBINDEP/
SAPEXE.SAR
NW_SCS_Instance.ascsVirtualHostname = ASCS_VIRTUAL_HOSTNAME
NW_SCS_Instance.instanceNumber = INSTANCE_NUMBER
NW_SCS_Instance.scsInstanceNumber =
NW_SCS_Instance.scsMSPort =
NW_SCS_Instance.scsVirtualHostname = SCS_VIRTUAL_HOSTNAME
NW_System.installSAPHostAgent = true
NW_Unpack.igsExeSar =
NW_Unpack.igsHelperSar =
NW_Unpack.sapExeDbSar =
NW_Unpack.sapExeSar =
NW_Unpack.sapJvmSar =
NW_Unpack.xs2Sar =
NW_adaptProfile.templateFiles =
# The path to the JCE policy archive to install into the Java home directory
# if it is not already installed.
NW_getJavaHome.jcePolicyArchive =
hostAgent.domain =
# Password for the SAP Host Agent specific sapadm user. Provided value may be
# encoded.
hostAgent.sapAdmPassword = MASTER_PASSWORD
nwUsers.sapDomain =
nwUsers.sapServiceSIDPassword =
This chapter describes how to upgrade your SAP HANA cluster with the YaST mod-
ule SUSE HANA Cluster Update. This acts as a wizard and guides you through all the
SAP HANA cluster maintenance procedures.
The official SAP HANA documentation describes the so-called Near Zero Downtime Upgrade
Process. The YaST module is based on this process and handles the part of the procedure related
to the SUSE cluster. Not all steps can be done automatically. Some steps need to be performed
manually by the SAP HANA administrator. The YaST module will inform you during the process.
This YaST module is available in the yast2-sap-ha package for SUSE Linux Enterprise Server
for SAP Applications 12 SP3 and higher. Currently, the wizard is only prepared to handle the
SAP HANA Scale-up Performance Optimized scenario.
The upgrade covers the following tasks:
After the installation, you can nd the module SUSE HANA Cluster Update in the YaST
Control Center.
2. On the secondary node, start the YaST Control Center and open the SUSE HANA Cluster
Update module.
Using the SAP Installation Wizard, it is possible to copy the SAP media sets from a remote server
(for example, via NFS or SMB). However, using the option provided there means that you need
to install the product at the same time. Additionally, it does not allow for copying all SAP media
used in your organization to a single server.
However, you can easily create such a server on your own. For example, to put the SAP media
sets on an NFS Server, proceed as follows:
/srv/www/htdocs/sap_repo *(ro,no_root_squash,sync,no_subtree_check,insecure)
3. In /srv/www/htdocs/sap_repo , create a directory for every SAP medium you have. Give
these directories speaking names, so you can identify them later on. For example, you
could use names like kernel , java , or hana .
4. Copy the contents of each SAP medium to the corresponding directory with cp -a .
You can now install from the NFS server you set up. In the SAP Installation Wizard, specify the
path this way: server_name/srv/www/htdocs/sap_repo . For more information about speci-
fying the path, see Table 4.1, “Media source path”.
7.1 Prerequisites
The following procedure has prerequisites:
Two machines which both have an SAP HANA installation created by the SAP Installation
Wizard or SAP HANA Application Lifecycle Management. Both machines need to be on
the same L2 network (subnet).
In the case of a multi-tier/chained scenario, there must also be a third machine elsewhere.
A disk device that is available to both nodes under the same path for SBD. It must not
use host-based RAID, cLVM2 or reside on a DRBD instance. The device can have a small
size, for example, 100 MB.
A key in the SAP HANA Secure User Store on the primary node
The package yast2-sap-ha is installed on both the primary and the secondary node.
Cost-optimized scenario only: The secondary node has a second SAP HANA installation. The
database may be running but will be stopped automatically by the wizard.
Cost-optimized scenario only: For the non-production SAP HANA instance, you have created
an SAP HANA Secure User Store key QASSAPDBCTRL for monitoring purposes. For more
information, refer to the SAP HANA System Replication Scale-Up - Cost Optimized Scenario
document at https://documentation.suse.com/sles-sap/ .
7.2 Setup
The following procedure needs to be executed on the primary node (also called the “mas-
ter”). Before proceeding, make sure the prerequisites listed in Section 7.1, “Prerequisites”
are fulfilled.
1. Open the YaST control center. In it, click HA Setup for SAP Products in the category High
Availability.
3. This step of the wizard presents a list of prerequisites for the chosen scale-up scenario.
These prerequisites are the same as those presented in Section 7.1, “Prerequisites”.
Continue with Next.
4. The next step lets you configure the communication layer of your cluster.
From the list of communication rings, configure each enabled ring. To do so, click
Edit selected, then select a network mask (IP address) and a port (Port number) to
communicate over.
5. The wizard will now check whether it can connect to the secondary machine using SSH.
If it can, it will ask for the root password to the machine.
Enter the root password.
The next time the primary machine needs to connect to the secondary machine, it will
connect using an SSH certificate instead of a password.
6. For both machines, set up the host names and IP address (for each ring).
Host names chosen here are independent from the virtual host names chosen in SAP HANA.
However, to avoid issues with SAP HANA, host names must not include hyphen characters
( - ).
7. If NTP is not yet set up, do so. This avoids the two machines from running into issues
because of time differences.
a. Click Reconfigure.
c. Add a time server by clicking Add. Click Server and Next. Then specify the IP address
of a time server outside of the cluster. Test the connection to the server by clicking
Test.
To use a public time server, click Select Public server and select a time server. Finish
with OK.
Proceed with OK.
8. In the next step, choose fencing options. The YaST wizard only supports the fencing mech-
anism SBD (STONITH block device). To avoid split-brain situations, SBD uses a disk device
which stores cluster state.
The chosen disk must be available from all machines in the cluster under the same path.
Ideally, use either by-uuid or by-path for identification.
The disk must not use host-based RAID, cLVM2 or reside on a DRBD instance. The device
can have a small size, for example, 100 MB.
To define a device to use, click Add, then choose an identification method such as by-uuid
and select the appropriate device. Click OK.
To define additional SBD command line parameters, add them to SBD options.
If your machines reboot particularly fast, activate Delay SBD start.
9. The following page allows configuring watchdogs which protect against the failure of the
SBD daemon itself and force a reboot of the machine in such a case.
It also lists watchdogs already configured using YaST and watchdogs that are currently
loaded (as detected by lsmod ).
To configure a watchdog, use Add. Then choose the correct watchdog for your hardware
and leave the dialog with OK.
For testing, you can use the watchdog softdog . However, we highly recommend us-
ing a hardware watchdog in production environments instead of softdog . For more
information about selecting watchdogs, see Administration Guide, Part “Storage and Da-
ta Replication”, Chapter “Storage Protection”, Section “Conceptual Overview”, Section “Set-
ting Up Storage-based Protection”, Section “Setting up the Watchdog” at https://documenta-
tion.suse.com/sles-15 .
Proceed with Next.
10. Set up the parameters for your SAP HANA installation or installations. If you have selected
the cost-optimized scenario, additionally ll out details related to the non-production SAP
HANA instance.
Make sure that the System ID and Instance number match those of your SAP
HANA configuration.
Under Virtual IP address, specify a virtual IP address for the primary SAP HANA
instance. Under Virtual IP Mask, set the length of the subnetwork mask in CIDR
format to be applied to the Virtual IP address.
Prefer site takeover defines whether the secondary instance should take over the
job of the primary instance automatically (true). Alternatively, the cluster will
restart SAP HANA on the primary machine.
Specify the site names for the production SAP HANA instance on the two nodes
in Site name 1 and Site name 2.
Make sure that the System ID and Instance number match those of your non-
production SAP HANA instance.
These parameters are needed to allow monitoring the status of the non-produc-
tion SAP HANA instance using the SAPInstance resource agent.
Generate a hook script for stopping the non-production instance and starting
the production instance and removing the constraints on the production system.
The script is written in Python 2 and can be modified as necessary later.
Click Hook script and then set up the correct user name and password for the
database. Then click OK.
You can now manually verify and change the details of the generated hook
script. When you are done, click OK to save the hook script at /hana/shared/
SID/srHook .
11. On the page High-Availability Configuration Overview, check that the setup is correct.
To change any of the configuration details, return to the appropriate wizard page by click-
ing one of the underlined headlines.
Proceed with Install.
12. When asked whether to install additional software, confirm with Install.
13. After the setup is done, there is a screen showing a log of the cluster setup.
To close the dialog, click Finish.
14. Multi-tier/chain scenario only: Using the administrative user account for the production
SAP HANA instance, register the out-of-cluster node for system replication:
1. On the production machines with SAP HANA installed, create a configuration le by run-
ning the sap_ha YaST module.
• To review the configuration, upload and validate the configuration on the primary
SAP HANA machine and run:
• To start the installation based on the provided configuration le unattended, run:
4. Import, validate, and install the cluster unattended, based on the provided configuration
le:
https://HAWKSERVER:7630/
59 Unattended setup using SAP HANA-SR wizard SLES for SAP 15 SP5
On the Hawk login screen, use the following login credentials:
Username: hacluster
Password: linux
# passwd hacluster
This chapter presents information about tuning SUSE Linux Enterprise Server for SAP Applica-
tions to work optimally with SAP applications.
Using saptune , you can tune a system for SAP NetWeaver, SAP HANA/SAP BusinessObjects,
and SAP S/4HANA applications.
Important
This chapter describes saptune version 3 which does not use tuned anymore.
1. To tune a system, rst nd a tuning solution. To nd the appropriate solution, use:
S4HANA-APP+DB . Solution for running both SAP S/4HANA application servers and
SAP HANA on the same host.
S4HANA-DBSERVER . Solution for running the SAP HANA database of an SAP S/4HANA
installation.
NETWEAVER+MAXDB . Solution for running both SAP application servers and MAXDB
on the same host.
Alternatively, you can tune the computer according to recommendations from specific
SAP Notes. A list of notes that you can tune for is available via:
3. To start saptune and enable it at boot, make sure to run the following command:
To make sure that sapconf and tuned are stopped and disabled too, run instead:
Important
The saptune tool does not rely on tuned anymore. Configuring tuned to set up sap-
tune 3 will not work. To start and enable saptune 3 use one of the following methods:
Enables and starts the saptune.service and also disables sapconf as well as
tuned .
The note may not be applied at the time. Keep in mind the following points:
Internal SAP Notes shipped by saptune cannot be deleted. Instead, the override le is
removed when available.
If the note is already applied, the command is terminated with the information that the
note rst needs to be reverted before it can be deleted.
The note may not be applied at the time. Keep in mind the following points:
If the note is already applied, the command is terminated with the information that the
note rst needs to be reverted before it can be deleted.
The command lists the current system value and the expected values (default and override).
This restores all parameters of the SAP Note to their values at the time of application.
The SAP Solution may not be applied at the time. Keep in mind the following points:
If the SAP Solution is already applied, the command is terminated with the information
that the SAP Solution rst needs to be reverted before it can be deleted.
The SAP Solution may not be applied at the time. Keep in mind the following points:
If the SAP Solution is already applied, the command will be terminated with the informa-
tion that the SAP Solution rst needs to be reverted before it can be renamed.
Keep in mind that internally the current solution is reverted rst, and then the new solution is
applied. If you have additional notes configured, the order is not preserved.
The SAP Solution must be applied. This reverts all SAP Notes parts of the SAP Solution that
are still applied.
If SAP Notes from an applied SAP Solution have been reverted, the string (partial) has been
added to the solution name.
# saptune status
If a problem occurs, use the saptune_check command (in version 3.1, you can also use the
command saptune check ) that runs checks, reports problems and offers advice on how to
solve them.
saptune status
saptune version
The machine-readable output makes it possible to integrate saptune into scripts and configu-
ration management solutions.
To generate JSON output, add --format json as the rst option, for example:
If a command does not yet support JSON output, the command fails with the result block set
to "implemented": false :
[+]
> saptune --format json staging status | jq
{
"$schema": "file:///usr/share/saptune/schemas/1.0/saptune_staging_status.schema.json",
"publish time": "2023-08-29 17:08:16.708",
"argv": "saptune --format json staging status",
"pid": 1653,
"command": "staging status",
"exit code": 1,
"result": {
"implemented": false
},
"messages": []
}
8.8 Staging
It is possible that a new saptune package can contain both binary changes (for example, bug
fixes) and new or altered SAP Notes and SAP Solutions. In certain situations, it is preferable to
deploy bug fixes and new features while leaving modifications to the system configuration out.
Important
With the current implementation, a package update overwrites the staging if staging is
enabled.
Staging is disabled by default, and it can be enabled with the following command:
From that point, SAP Note and SAP Solution changes shipped by a saptune package are put
in the staging area. To view the staging area, run:
You can print a tabular overview of the differences of the SAP Note and SAP Solution in the
staging and working area with the following command:
After reviewing the differences, you can perform an analysis to see if a release has potential
issues or requires additional steps. To do this, run the following command:
To release an SAP Note or an SAP Solution from the staging area, use the command as follows:
The command presents an analysis (see saptune staging analysis ) and carries out the release
after asking for confirmation.
71 Tuning kernel parameters manually using sysctl SLES for SAP 15 SP5
Tip: sysctl and saptune
If you plan to configure sysctl parameters for your SAP system, consider using saptune
as the central tool for managing such configurations.
For more information about sysctl , see the man pages sysctl(8) , sysctl.conf(5) , and
sysctl.d(5) .
man 8 saptune
man 8 saptune-migrate
man 8 saptune-note
Keeping SAP applications in physical memory is essential for their performance. In older product
versions, the Page Cache Limit prevented a swap out to disk by a growing page cache (in SUSE
Linux Enterprise Server for SAP Applications 11 SP1 onwards and in SUSE Linux Enterprise
Server for SAP Applications 12). In SUSE Linux Enterprise Server for SAP Applications 15, the
Page Cache Limit has been replaced by the more advanced Workload Memory Protection.
Workload Memory Protection puts SAP instances into a dedicated cgroup (v2) and tells the
kernel, by the memory.low parameter, the amount of memory to keep in physical memory. This
protects the processes in this cgroup against any form of memory pressure outside that cgroup,
including a growing page cache. Workload Memory Protection cannot protect against memory
pressure inside this cgroup. It covers the memory of all instances together on one host.
The value for memory.low depends on the kind of SAP instance and the workload and needs to
be configured manually. If the system is under extreme pressure, the Linux kernel will ignore
the memory.low value and try to stabilize the whole system, even by swapping or invoking
the OOM killer.
For more information about cgroups, see https://documentation.suse.com/sles-15/html/SLES-all/
cha-tuning-cgroups.html .
9.1 Architecture
Workload Memory Protection relies on two components:
systemd
systemd provides the infrastructure to create and maintain the cgroup hierarchy and
allows the configuration of cgroup parameters.
Workload Memory Protection cannot protect against memory pressure inside the
dedicated cgroup.
Workload Memory Protection cannot protect SAP systems or their instances from
each other. All SAP processes share the same memory limit. If you have multiple
SAP systems (for example, SAP NetWeaver and SAP S/4HANA), Workload Memory
Protection cannot shield one SAP application from the other.
To use Workload Memory Protection, the SAP system must use systemd . Details about the
systemd integration can be found in SAP Notes: 139184 - Linux: systemd integration for sapstart-
srv (https://launchpad.support.sap.com/%3Cmark%3E/notes/3139184) and SAP Host Agent and
3189534 - Linux: systemd integration for sapstartsrv and SAP HANA (https://launchpad.support.s-
ap.com/%3C/mark%3E/notes/3189534) .
Important
Starting with SUSE Linux Enterprise Server for SAP Applications 15 SP5, the package
sapwmp is deprecated. For infomation about migration, see Section 9.5, “Migration from
Workload Memory Protection using sapwmp (SLES for SUSE Linux Enterprise Server for SAP Appli-
cations 15 SP4 and earlier)”.
With this change, only cgroup2 controllers are be mounted on /sys/fs/cgroup . Cgroup1
controllers, except the memory controller, are still available and can be used though. Tools
using cgroup1 may not work out of the box any more and may need reconfiguration. Also,
the required mount structure for cgroup1 needs to be provided.
The parameter swapaccount=1 is not needed for Workload Memory Protection to work,
but it aids the analysis in support cases to show the amount of swapped out memory for
each cgroup.
After reboot (which is perfromed later), the cgroup hierarchy is switched to v2 (unified
hierarchy) only.
All SAP instances on one host are inside the SAP.slice . MemoryLow must cover the
amount of memory of all instances together on that host. You cannot protect SAP
systems or their instances from each other.
If you are using a database other than SAP HANA, some database processes can be
part of SAP.slice . Their memory consumption needs to be taken into account when
determining the MemoryLow value.
Never choose a value for MemoryLow very close to or larger than your physical mem-
ory. System services and additional installed software require memory too. If they
are forced to use swap too extensively, at the expense of the SAP application, your
system can become unresponsive.
# cat /sys/fs/cgroup/SAP.slice/memory.low
18487889920 <- Should be your chosen value!
The variable MemoryLow can be set to any value, but the content of the variable is always
a multiple of the page size. Keep this in mind if you notice a slight difference between
the values.
1. Switch to a systemd -enabled SAP system. For more info, refer to 139184 - Linux: sys-
temd integration for sapstartsrv and SAP Host Agent and 3189534 - Linux: systemd inte-
gration for sapstartsrv and SAP HANA (https://launchpad.support.sap.com/%3C/mark%3E/
notes/3189534) .
2. Remove the lines calling sapwmp-capture from all instance profiles (for example: Exe-
cute_20 = local /usr/lib/sapwmp/sapwmp-capture -a . All SAP services require a
restart after the change.
3. Monitor and readjust MemoryLow= . A systemd -enabled SAP Host Agent now has a cgroup
( saphostagent.service ) below SAP.slice , and it is accounted for protection.
Note
It is not necessary to set MemoryLow=infinity for each SAP service or the SAP
Host Agent service, if the cgroup2 mount has the option memory_recursiveprot
set (it is set by default). To check that, run the following command:
Migration from Workload Memory Protection using sapwmp (SLES for SUSE Linux Enterprise
78 Server for SAP Applications 15 SP4 and earlier) SLES for SAP 15 SP5
10 Configuring a firewall
This chapter provides information about restricting access to the system using a firewall and
encryption and gives information about connecting to the system remotely.
The firewall must be manually configured to allow network access for the following components:
SAP application
Database (see the documentation of your database vendor; for SAP HANA, see Section 10.2,
“Configuring HANA-Firewall”)
YaST module SAP HANA firewall. Allows configuring, applying, and reverting firewall rules
for SAP HANA from a graphical user interface.
Command-line utility hana-firewall . Creates XML les containing firewall rules for SAP
HANA.
Instead of using YaST, you can configure firewall rules using the configuration le at /
etc/sysconfig/hana-firewall .
# cd /etc/hana-firewall.d
# hana-firewall define-new-hana-service
The script prompts you to answer a series of questions, including TCP and UDP port
ranges that need to be opened.
1. Make sure the SAP HANA databases for which you want to configure the firewall are
correctly installed.
2. To open the appropriate YaST module, select Applications YaST, Security and Users Con-
figure system firewall for SAP HANA.
4. Select the desired zone from the Zone drop-down list, and add the required services using
the right arrow button.
SERVICE_NAME:CIDR_NOTATION
# hana-firewall status
HANA firewall is active. Everything is OK.
Before you can use this functionality, make sure the following has been installed, in this order:
If you got the order of applications to install wrong initially, reinstall saprouter-systemd .
To control SAProuter with systemctl , use:
ClamSAP integrates the ClamAV anti-malware toolkit into SAP NetWeaver and SAP Mobile
Platform applications. ClamSAP is a shared library that links between ClamAV and the SAP
NetWeaver Virus Scan Interface (NW-VSI). The version of ClamSAP shipped with SUSE Linux
Enterprise Server for SAP Applications 15 SP5 supports NW-VSI version 2.0.
Files and archives are scanned, but only up to the configured or default limits for
size, nesting level, scan time, etc.
3. To switch from view mode to change mode, click the button Change View ( ).
Confirm the message This table is cross-client by clicking the check mark. The table is now
editable.
4. Select the rst empty row. In the text box Scanner Group, specify CLAMSAPVSI . Under
Group Text, specify CLAMSAP .
Make sure that Business Add-in is not checked.
84 Creating a virus scanner group in SAP NetWeaver SLES for SAP 15 SP5
5. To save the form, click the button Save ( ).
2. To switch from view mode to change mode, click the button Change View ( ).
Confirm the message This table is cross-client by clicking the check mark. The table is now
editable.
Scanner Group : The name of the scanner group that you set up in Section 11.2,
“Creating a virus scanner group in SAP NetWeaver” (for example: CLAMSAPVSI )
85 Setting up the ClamSAP library in SAP NetWeaver SLES for SAP 15 SP5
5. To save the form, click the button .
1. Log in to the SAP NetWeaver installation through the GUI. Do not log in as a DDIC or
SAP* user, because the virus scanner needs to be configured cross-client.
4. To switch from view mode to change mode, click the button Change View ( ).
Confirm the message This table is cross-client by clicking the check mark. The table is now
editable.
86 Configuring the default location of virus definitions SLES for SAP 15 SP5
FIGURE 11.1:
FIGURE 11.2:
Afterward, a summary will be displayed, including details of the ClamSAP and ClamAV (shown
in Figure 11.4, “Summary of ClamSAP data”).
Port: 3389
If you have not set up an RDP connection during the installation, you can also do so later
using the following instructions.
1. First, create the necessary exception for your firewall, opening port TCP 3389 in all rel-
evant zones. For example, if your internal network uses the internal zone, use the fol-
lowing command:
This is a temporary assignment for testing the new setting. If you need to change more
than one zone, change and test each zone one at a time.
# firewall-cmd --runtime-to-permanent
# firewall-cmd --reload
Only building VMX disk images is supported. Building other image types is not supported.
You must provide an ISO image of SUSE Linux Enterprise Server for SAP Applications at
/tmp/SLES4SAP.iso , as the Open Build Service does not contain all necessary packages.
To enable running graphical installations using SAPinst, the default settings of the image enable
the following:
The service xrdp is started automatically, so you can connect to the machine via RDP.
For more information, see Chapter 12, Connecting via RDP.
SUSE registration information and repositories from SUSE, and the Zypper ID
User and host SSH keys and domain and host names
Shell history, mails, cron jobs, temporary les ( /tmp , /var/tmp ), log les ( /var/log ),
random seeds, systemd journal, collectd statistics, postfix configuration, parts of /
root
Network interfaces that do not use DHCP and network configuration ( /etc/hostname , /
etc/hosts , and /etc/resolv.conf )
sudo settings
93 Cleaning up an instance before using it as a master image SLES for SAP 15 SP5
Additionally, you can choose to set up a new root password. UUID-based entries in /etc/
fstab are replaced by device strings. This script also ensures that if the rst-boot section of the
installation workflow was used for the original installation, it is run again on the next boot.
To configure the script to not clean up certain data, use the configuration le /etc/
sysconfig/clone-master-clean-up .
This le also gives short explanations of the available options.
To configure the script to clean up additional directories or les, create a list with the
absolute paths of such directories and les:
/additional/file/to/delete.now
/additional/directory/to/remove
# clone-master-clean-up
For information on which les and directories might additionally be useful to delete, see
/var/adm/clone-master-clean-up/custom_remove.template .
The SAP Installation Wizard is a YaST module. You can nd its log entries in /var/log/
YaST/y2log .
All SAP knowledge is bundled in a library. You can nd its log entries in /var/log/
SAPmedia.log .
SUSE Linux Enterprise Server for SAP Applications makes it easy to install software that is not
included with your subscription:
Extensions and modules allow installing additional software created and supported by
SUSE. For more information about extensions and modules, see Deployment Guide, Part
“Initial System Configuration”, Chapter “Installing Modules, Extensions, and Third Party Add-
On Products” at https://documentation.suse.com/sles-15 .
SUSE Connect Program allows installing packages created and supported by third parties,
specifically for SLES for SAP. It also gives easy access to third-party trainings and support.
See Section A.2, “SUSE Connect Program”.
SUSE Package Hub allows installation of packages created by the SUSE Linux Enterprise
community without support. See Section A.3, “SUSE Package Hub”.
/etc/os-release
A text le with key-value pairs, similar to shell-compatible variable assignments. Each key
is on a separate line.
You can search for the CPE_NAME key; however, between different releases and service
packs, the value may have been changed. If you need further details, refer to the article
at https://www.suse.com/support/kb/doc/?id=7023490 .
/etc/products.d/baseproduct
A link to an XML le. The /etc/products.d/ directory contains different .prod les.
Depending on which products you have purchased and how you installed your system, the
link /etc/products.d/baseproduct can point to a different .prod le, for example,
sle-module-sap-applications.prod . The same information as CPE_NAME is stored in
the tag <cpeid> .
Identifying a base product for SUSE Linux Enterprise Server for SAP Applications SLES-
The RELEASE and SP_NUMBER are placeholders and describe your product release number and
service pack.
The same can be achieved with xmlstarlet . You need an XPath (the steps that lead you to
your information). With the appropriate options, you can avoid the <cpeid> / </cpeid> tags:
A more advanced search (which would be difficult for grep ) would be to list all required de-
pendencies to other products. Assuming that basename points to sle-module-sap-applica-
tions.prod , the following command will output all product dependencies which are required
for SUSE Linux Enterprise Server for SAP Applications:
Partitioning for the SAP system is controlled by the les from the directory /usr/share/YaST2/
include/sap-installation-wizard/ . The following les can be used:
SAP HANA or SAP S/4HANA Database Server installation on SAP BusinessOne-certified hard-
ware. hardware-specific partitioning le
The les that control partitioning are AutoYaST control les that contain a partitioning
section only. However, these les allow using several extensions to the AutoYaST format:
If the partitioning_defined tag is set to true , the partitioning will be performed with-
out any user interaction.
By default, this is only used when creating SAP HANA le systems on systems certified for
SAP HANA (such as from Dell, Fujitsu, HP, IBM, or Lenovo).
For every partition, you can specify the size_min tag. The size value can be given as a
string in the format of RAM*N . This way you can specify how large the partition should
minimally be ( N times the size of the available memory ( RAM )).
The steps below illustrate how to create a partitioning setup for TREX. However, creating
a partitioning setup for other applications works analogously.
2. Copy the content of base_partitioning.xml to your new le and adapt the new le
to your needs.
<partitioning>TREX_partitioning</partitioning>
For more information about partitioning with AutoYaST, see AutoYaST Guide, Chapter “Parti-
tioning” (https://documentation.suse.com/sles-15 ).
Supplementary Media allow partners or customers to add their own tasks or workflows to the
Installation Wizard.
This is done by adding an XML le which will be part of an AutoYaST XML le. To be included
in the workflow, this le must be called product.xml .
This can be used for various types of additions, such as adding your own RPMs, running your
own scripts, setting up a cluster le system or creating your own dialogs and scripts.
C.1 product.xml
The product.xml le looks like a normal AutoYaST XML le, but with some restrictions.
The restrictions exist because only the parts of the XML that are related to the second stage of
the installation are run, as the rst stage was executed before.
The two XML les ( autoyast.xml and product.xml ) will be merged after the media is read
and a “new” AutoYaST XML le is generated on the y for the additional workflow.
The following areas or sections will be merged:
<general>
<ask-list> 1
...
<software> 2
<post-packages>
...
<scripts>
<chroot-scripts> 3
<post-scripts> 4
<init-scripts> 5
...
Your le with the dialogs will be merged with the base AutoYaST XML le.
As a best practice, your dialog should have a dialog number and an element number, best with
steps of 10. This helps to include later additions and could be used as targets for jumping over
a dialog or element dependent on decisions. We also use this in our base dialogs and if you
provide the right dialog number and element number, you can place your dialog between our
base dialogs.
You can store the answer to a question in a le, to use it in one of your scripts later. Be aware
that you must use the prefix /tmp/ay for this, because the Installation Wizard will copy such
les from the /tmp directory to the directory where your media data also will be copied. This
is done because the next Supplementary Media could have the same dialogs or same answer le
names and would overwrite the values saved here.
Here is an example with several options:
<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns"
xmlns:config="http://www.suse.com/1.0/configns">
<general>
<ask-list config:type="list">
<ask>
<stage>cont</stage>
<dialog config:type="integer">20</dialog>
<element config:type="integer">10</element>
<question>What is your name?</question>
<default>Enter your name here</default>
<help>Please enter your full name within the field</help>
<file>/tmp/ay_q_my_name</file>
For more information, see AutoYaST Guide, Chapter “Configuration and Installation Options”,
Section “Installing Packages in Stage 2” (https://documentation.suse.com/sles-15 ). An example
looks as follows:
...
<software>
<post-packages config:type="list">
<package>yast2-cim</package>
</post-packages>
</software>
...
104 Example directory for Supplementary Media SLES for SAP 15 SP5
D Cheat sheet for Windows administrators
106 Joining a Windows domain (Active Directory/SMB file sharing) SLES for SAP 15 SP5
E GNU licenses
formats that can be read and edited only by proprietary word processors, SGML or XML for
This appendix contains the GNU Free Docu- which the DTD and/or processing tools are not generally available, and the machine-generat-
ed HTML, PostScript or PDF produced by some word processors for output purposes only.
mentation License version 1.2. The "Title Page" means, for a printed book, the title page itself, plus such following pages as
are needed to hold, legibly, the material this License requires to appear in the title page. For
works in formats which do not have any title page as such, "Title Page" means the text near the
GNU Free Documentation License most prominent appearance of the work's title, preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, XYZ or contains XYZ in parentheses following text that translates XYZ in another language.
Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements",
of this license document, but changing it is not allowed. "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when
you modify the Document means that it remains a section "Entitled XYZ" according to this
definition.
0. PREAMBLE
The Document may include Warranty Disclaimers next to the notice which states that this
The purpose of this License is to make a manual, textbook, or other functional and useful License applies to the Document. These Warranty Disclaimers are considered to be included
document "free" in the sense of freedom: to assure everyone the effective freedom to copy by reference in this License, but only as regards disclaiming warranties: any other implication
and redistribute it, with or without modifying it, either commercially or non-commercially. that these Warranty Disclaimers may have is void and has no effect on the meaning of this
Secondarily, this License preserves for the author and publisher a way to get credit for their License.
work, while not being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative works of the document must 2. VERBATIM COPYING
themselves be free in the same sense. It complements the GNU General Public License, which
is a copyleft license designed for free software. You may copy and distribute the Document in any medium, either commercially or non-
We have designed this License to use it for manuals for free software, because free software commercially, provided that this License, the copyright notices, and the license notice saying
needs free documentation: a free program should come with manuals providing the same this License applies to the Document are reproduced in all copies, and that you add no other
freedoms that the software does. But this License is not limited to software manuals; it can conditions whatsoever to those of this License. You may not use technical measures to obstruct
be used for any textual work, regardless of subject matter or whether it is published as a or control the reading or further copying of the copies you make or distribute. However, you
printed book. We recommend this License principally for works whose purpose is instruction may accept compensation in exchange for copies. If you distribute a large enough number of
or reference. copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly
display copies.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice placed 3. COPYING IN QUANTITY
by the copyright holder saying it can be distributed under the terms of this License. Such a
notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under If you publish printed copies (or copies in media that commonly have printed covers) of the
the conditions stated herein. The "Document", below, refers to any such manual or work. Any Document, numbering more than 100, and the Document's license notice requires Cover Texts,
member of the public is a licensee, and is addressed as "you". You accept the license if you you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts:
copy, modify or distribute the work in a way requiring permission under copyright law. Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers
A "Modified Version" of the Document means any work containing the Document or a portion must also clearly and legibly identify you as the publisher of these copies. The front cover
of it, either copied verbatim, or with modifications and/or translated into another language. must present the full title with all words of the title equally prominent and visible. You may
add other material on the covers in addition. Copying with changes limited to the covers, as
A "Secondary Section" is a named appendix or a front-matter section of the Document that
long as they preserve the title of the Document and satisfy these conditions, can be treated
deals exclusively with the relationship of the publishers or authors of the Document to the
as verbatim copying in other respects.
Document's overall subject (or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a If the required texts for either cover are too voluminous to t legibly, you should put the
Secondary Section may not explain any mathematics.) The relationship could be a matter rst ones listed (as many as t reasonably) on the actual cover, and continue the rest onto
of historical connection with the subject or with related matters, or of legal, commercial, adjacent pages.
philosophical, ethical or political position regarding them. If you publish or distribute Opaque copies of the Document numbering more than 100, you
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being must either include a machine-readable Transparent copy along with each Opaque copy, or
those of Invariant Sections, in the notice that says that the Document is released under this state in or with each Opaque copy a computer-network location from which the general net-
License. If a section does not t the above definition of Secondary then it is not allowed to be work-using public has access to download using public-standard network protocols a complete
designated as Invariant. The Document may contain zero Invariant Sections. If the Document Transparent copy of the Document, free of added material. If you use the latter option, you
does not identify any Invariant Sections then there are none. must take reasonably prudent steps, when you begin distribution of Opaque copies in quanti-
ty, to ensure that this Transparent copy will remain thus accessible at the stated location until
The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or
at least one year after the last time you distribute an Opaque copy (directly or through your
Back-Cover Texts, in the notice that says that the Document is released under this License. A
agents or retailers) of that edition to the public.
Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
It is requested, but not required, that you contact the authors of the Document well before
A "Transparent" copy of the Document means a machine-readable copy, represented in a for-
redistributing any large number of copies, to give them a chance to provide you with an
mat whose specification is available to the general public, that is suitable for revising the doc-
updated version of the Document.
ument straightforwardly with generic text editors or (for images composed of pixels) generic
paint programs or (for drawings) some widely available drawing editor, and that is suitable
for input to text formatters or for automatic translation to a variety of formats suitable for
input to text formatters. A copy made in an otherwise Transparent le format whose markup,
or absence of markup, has been arranged to thwart or discourage subsequent modification
by readers is not Transparent. An image format is not Transparent if used for any substantial
amount of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without markup, Tex-
info input format, LaTeX input format, SGML or XML using a publicly available DTD, and stan-
dard-conforming simple HTML, PostScript or PDF designed for human modification. Examples
of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary
You may copy and distribute a Modified Version of the Document under the conditions of
sections 2 and 3 above, provided that you release the Modified Version under precisely this 5. COMBINING DOCUMENTS
License, with the Modified Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy of it. In addition, you You may combine the Document with other documents released under this License, under
must do these things in the Modified Version: the terms defined in section 4 above for modified versions, provided that you include in the
combination all of the Invariant Sections of all of the original documents, unmodified, and
A. Use in the Title Page (and on the covers, if any) a title distinct from that of the
list them all as Invariant Sections of your combined work in its license notice, and that you
Document, and from those of previous versions (which should, if there were any,
preserve all their Warranty Disclaimers.
be listed in the History section of the Document). You may use the same title as a
previous version if the original publisher of that version gives permission. The combined work need only contain one copy of this License, and multiple identical Invari-
ant Sections may be replaced with a single copy. If there are multiple Invariant Sections with
B. List on the Title Page, as authors, one or more persons or entities responsible for the same name but different contents, make the title of each such section unique by adding
authorship of the modifications in the Modified Version, together with at least ve at the end of it, in parentheses, the name of the original author or publisher of that section if
of the principal authors of the Document (all of its principal authors, if it has fewer known, or else a unique number. Make the same adjustment to the section titles in the list of
than ve), unless they release you from this requirement. Invariant Sections in the license notice of the combined work.
C. State on the Title page the name of the publisher of the Modified Version, as the In the combination, you must combine any sections Entitled "History" in the various original
publisher. documents, forming one section Entitled "History"; likewise combine any sections Entitled
"Acknowledgements", and any sections Entitled "Dedications". You must delete all sections
D. Preserve all the copyright notices of the Document.
Entitled "Endorsements".
E. Add an appropriate copyright notice for your modifications adjacent to the other
copyright notices.
6. COLLECTIONS OF DOCUMENTS
F. Include, immediately after the copyright notices, a license notice giving the public
permission to use the Modified Version under the terms of this License, in the form You may make a collection consisting of the Document and other documents released under
shown in the Addendum below. this License, and replace the individual copies of this License in the various documents with a
single copy that is included in the collection, provided that you follow the rules of this License
G. Preserve in that license notice the full lists of Invariant Sections and required Cover
for verbatim copying of each of the documents in all other respects.
Texts given in the Document's license notice.
You may extract a single document from such a collection, and distribute it individually under
H. Include an unaltered copy of this License. this License, provided you insert a copy of this License into the extracted document, and follow
this License in all other respects regarding verbatim copying of that document.
I. Preserve the section Entitled "History", Preserve its Title, and add to it an item
stating at least the title, year, new authors, and publisher of the Modified Version
as given on the Title Page. If there is no section Entitled "History" in the Document, 7. AGGREGATION WITH INDEPENDENT WORKS
create one stating the title, year, authors, and publisher of the Document as given
on its Title Page, then add an item describing the Modified Version as stated in A compilation of the Document or its derivatives with other separate and independent docu-
the previous sentence. ments or works, in or on a volume of a storage or distribution medium, is called an "aggregate"
if the copyright resulting from the compilation is not used to limit the legal rights of the com-
J. Preserve the network location, if any, given in the Document for public access to
pilation's users beyond what the individual works permit. When the Document is included in
a Transparent copy of the Document, and likewise the network locations given in
an aggregate, this License does not apply to the other works in the aggregate which are not
the Document for previous versions it was based on. These may be placed in the
themselves derivative works of the Document.
"History" section. You may omit a network location for a work that was published
at least four years before the Document itself, or if the original publisher of the If the Cover Text requirement of section 3 is applicable to these copies of the Document, then
version it refers to gives permission. if the Document is less than one half of the entire aggregate, the Document's Cover Texts
may be placed on covers that bracket the Document within the aggregate, or the electronic
K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title equivalent of covers if the Document is in electronic form. Otherwise they must appear on
of the section, and preserve in the section all the substance and tone of each of the printed covers that bracket the whole aggregate.
contributor acknowledgements and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document, unaltered in their text and 8. TRANSLATION
in their titles. Section numbers or the equivalent are not considered part of the
section titles. Translation is considered a kind of modification, so you may distribute translations of the
M. Delete any section Entitled "Endorsements". Such a section may not be included Document under the terms of section 4. Replacing Invariant Sections with translations requires
in the Modified Version. special permission from their copyright holders, but you may include translations of some
or all Invariant Sections in addition to the original versions of these Invariant Sections. You
N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in may include a translation of this License, and all the license notices in the Document, and
title with any Invariant Section. any Warranty Disclaimers, provided that you also include the original English version of this
O. Preserve any Warranty Disclaimers. License and the original versions of those notices and disclaimers. In case of a disagreement
between the translation and the original version of this License or a notice or disclaimer, the
If the Modified Version includes new front-matter sections or appendices that qualify as Se- original version will prevail.
condary Sections and contain no material copied from the Document, you may at your option
If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the
designate some or all of these sections as invariant. To do this, add their titles to the list of
requirement (section 4) to Preserve its Title (section 1) will typically require changing the
Invariant Sections in the Modified Version's license notice. These titles must be distinct from
actual title.
any other section titles.
You may add a section Entitled "Endorsements", provided it contains nothing but endorse-
ments of your Modified Version by various parties--for example, statements of peer review
9. TERMINATION
or that the text has been approved by an organization as the authoritative definition of a
You may not copy, modify, sublicense, or distribute the Document except as expressly pro-
standard.
vided for under this License. Any other attempt to copy, modify, sublicense or distribute the
You may add a passage of up to ve words as a Front-Cover Text, and a passage of up to 25
Document is void, and will automatically terminate your rights under this License. However,
words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only
parties who have received copies, or rights, from you under this License will not have their
one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through
licenses terminated so long as such parties remain in full compliance.
arrangements made by) any one entity. If the Document already includes a cover text for the
same cover, previously added by you or by arrangement made by the same entity you are
acting on behalf of, you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The Free Software Foundation may publish new, revised versions of the GNU Free Documen-
tation License from time to time. Such new versions will be similar in spirit to the present ver-
sion, but may differ in detail to address new problems or concerns. See https://www.gnu.org/
copyleft/ .
Each version of the License is given a distinguishing version number. If the Document specifies
that a particular numbered version of this License "or any later version" applies to it, you have
the option of following the terms and conditions either of that specified version or of any
later version that has been published (not as a draft) by the Free Software Foundation. If the
Document does not specify a version number of this License, you may choose any version ever
published (not as a draft) by the Free Software Foundation.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the
“with...Texts.” line with this:
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other combination of the three,
merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing
these examples in parallel under your choice of free software license, such as the GNU General
Public License, to permit their use in free software.