SLES4SAP-guide_SUSE_en
SLES4SAP-guide_SUSE_en
SLES4SAP-guide_SUSE_en
15 SP1
Guide
Guide
SUSE Linux Enterprise Server for SAP Applications 15 SP1
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 http://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
5 Support xiv
Support statement for SUSE Linux Enterprise Server for SAP
Applications xiv • Technology previews xv
iv Guide
2.6 Required Data for Installing 15
2.7 Partitioning 16
Partitioning for the Operating System (stage 1) 16 • Partitioning for the SAP
System (stage 2) 16
v Guide
6 Setting Up an Installation Server for SAP Media
Sets 49
7.2 Setup 52
vi Guide
SAP Solution 71 • Reverting an SAP Note 72 • Editing a SAP
Note 72 • Listing all enabled or applied SAP Notes 72
9.8 Staging 76
vii Guide
11 Firewalling 96
11.1 Configuring firewalld 96
viii Guide
16 Important Log Files 119
ix Guide
About This Guide
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 Extension is also part of SUSE Linux Enterprise Server
for SAP Applications.
1 Overview
The SUSE Linux Enterprise Server for SAP Applications Guide is divided into the following
chapters:
Software Components
Description of tools to configure SUSE Linux Enterprise Server for SAP Applications.
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 .
Many commands are also described in their manual pages. To view them, run man , followed
by a specific command name. If the man command is not installed on your system, install
it with sudo zypper install man .
Bug reports
Report issues with the documentation at https://bugzilla.suse.com/ .
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 at https://github.com/SUSE/doc-slesforsap .
Mail
You can also report errors and send feedback concerning the documentation to doc-
team@suse.com . Include the document title, the product version, and the publication date
of the document. Additionally, include the relevant section number and title (or provide
the URL) and provide a concise description of the problem.
4 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. Often you can also prefix these com-
mands with the sudo command to run them as non-privileged user.
# command
> sudo command
> command
Notices
Compact Notices
5 Support
Find the support statement for SUSE Linux Enterprise Server for SAP Applications and gener-
al information about technology previews below. For details about the product lifecycle, see
https://www.suse.com/lifecycle .
If you are entitled to support, nd details on how to collect information for a support ticket at
https://documentation.suse.com/sles-15/html/SLES-all/cha-adm-support.html .
5.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.
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.
Some packages shipped as part of the module Workstation Extension are L2-supported only.
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.
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
1 SLES-SAP 15 SP1
1.1 Software Components
As depicted in Figure 1.1, “Offerings of SUSE Linux Enterprise Server for SAP Applications”, SUSE Linux
Enterprise Server for SAP Applications is based on SUSE Linux Enterprise Server but contains
several additional software components such as SUSE Linux Enterprise High Availability Exten-
sion, and the installation workflow. These software components are briey explained in the
following sections.
Virtualization-aware
SUSE Linux Enterprise High Availability Extension 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 master/slave resource: The master assumes responsibility for the SAP HANA
databases running in primary mode, whereas the slave is responsible for instances that are op-
erated in synchronous (secondary) status. In case of a takeover, the secondary (slave resource
instance) can automatically be promoted to become the new primary (master 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 Extension cluster, one primary (A) and one secondary (B). The SAP
HANA instance 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
Chain/Multi-Tier Scenario. Three servers (A, B, and C), of which two are located in the
same SUSE Linux Enterprise High Availability Extension 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 asyn-
chronously 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
Extension cluster and gathers information about the status and configurations of SAP HANA
system replications. 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.
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. This allow tuning several kernel parameters, depending on the hard-
ware components you are using, such as the amount of available RAM.
For more information, see Chapter 9, Tuning systems with saptune.
Today, databases and similar applications are often hosted on external servers that are serviced
by third-party sta. Certain data center maintenance tasks require third-party sta to directly
access affected systems. In such cases, privacy requirements necessitate disk encryption.
cryptctl allows encrypting sensitive directories using LUKS and offers the following additional
features:
Encryption keys are located on a central server, which can be located on customer premis-
es.
For more information, see Chapter 12, Encrypting Directories Using cryptctl.
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.4 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-SP1-SAP-15.1-0 which is
the installation medium. It contains packages from all of the base software repositories listed
above.
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-SP1/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)
Life Cycle. Releases are usually coordinated with SUSE Linux Enterprise Serv-
er 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”.
2. Burn the image/images onto a physical DVD and ensure that it is/they are bootable. Al-
ternatively, use a virtual DVD-ROM device for installation in a virtual machine.
1. Installation of the operating system (SUSE Linux Enterprise Server). See Section 3.1, “Using
the Installation 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 .
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”).
This part of the partitioning can only be created after the operating system has been installed.
That means the partitions are created either in the installation workflow after the reboot or in
the running system.
Depending on the product you are installing and your particular use case, the amount of hard
disk space necessary can vary.
For information on partitioning for the SAP system using AutoYaST, see Appendix B, Partitioning
for the SAP System 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 DVD. From the DVD 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 SP1 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 SP1.
5. Read the license agreement. If you agree, select I Agree to the License Terms. Proceed with
Next.
Otherwise, cancel the installation with Abort Abort Installation.
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.
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.
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 predefinied 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 ).
Additonal 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 14, 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.
In case you would like to enable password-less 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 DVD to a Web
server (for example, example.com ), to the directory /srv/www/htdocs/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 an 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”.
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 .
# zypper in patterns-server-enterprise-sap_server
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-SAP 15 SP1
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>
41 Partitioning for an SAP Application without the SAP Installation Wizard SLES-SAP 15 SP1
</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 the en-
tire 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”.
49 SLES-SAP 15 SP1
For information about setting up an NFS server from scratch, see Administration Guide, Part
“Services”, Chapter “Sharing File Systems with NFS”, Section “Installing NFS Server” (https://docu-
mentation.suse.com/sles-15 ).
For information about installing SUSE Linux Enterprise Server from an NFS server, see De-
ployment Guide, Chapter “Remote Installation”, Section “Setting Up an NFS Repository Manually”
(https://documentation.suse.com/sles-15 ).
50 SLES-SAP 15 SP1
7 Setting Up an SAP HANA Cluster
You can use a YaST wizard to set up SAP HANA or SAP S/4HANA Database Server clusters
according to best practices, including SAP HANA system replication. A summary of the setup
options is given in Section 1.1.3, “Simplified SAP HANA System Replication Setup”.
Administrators can now use the SAP HANA-SR Wizard to run the modul unattended, usually
for on-premises deployments. Additionally, it is possible to configure the SAP HANA cluster on
Azure now. The YaST module identifies automatically when running on Azure and configures
an extra resource needed on Pacemaker.
The following Best Practices from the SUSE Linux Enterprise Server for SAP Applications Re-
source Library (https://www.suse.com/products/sles-for-sap/resource-library/ ) contain setup
instructions:
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, see SAP HANA SR Cost Optimized Scenario, Chapter “Installing the SAP HANA
Databases on both cluster nodes”, Section “Postinstallation configuration”, Section “Install the
non-productive SAP HANA database (QAS)” at https://www.suse.com/products/sles-for-sap/
resource-library/ .
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/sle-ha-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.
3. On the primary SAP HANA machine, upload and validate the configuration:
4. Import, validate, and install the cluster unattended, based on the provided configuration
le:
https://HAWKSERVER:7630/
Username: hacluster
Password: linux
# passwd hacluster
Note that if you previously made changes to the system tuning, those changes may be overwrit-
ten by sapconf .
sapconf 5 ships a systemd service which applies the tuning and ensures that related services
are running.
# sapconf_check
This is sapconf_check v1.0.
It verifies if sapconf is set up correctly and will give advice to do so.
Please keep in mind:
- This tool does not check, if the tuning itself works correctly.
- Follow the hints from top to down to minimize side effects.
Checking sapconf
================
[ OK ] sapconf package has version 5.0.2
[ OK ] saptune.service is inactive
[ OK ] saptune.service is disabled
[WARN] tuned.service is enabled/active with profile 'virtual-guest -> Sapconf does not
require tuned! Run 'systemctl stop tuned.service', if not needed otherwise.
[FAIL] sapconf.service is inactive -> Run 'systemctl start sapconf.service' to activate
the tuning now.
[FAIL] sapconf.service is disabled -> Run 'systemctl enable sapconf.service' to activate
sapconf at boot.1 warning(s) have been found.
2 error(s) have been found.
Sapconf will not work properly!
If sapconf_check nds problems, it will give hints how to resolve the issue. The tool will not
verify if the system has been tuned correctly. It only checks that sapconf is setup correctly
and has been started.
This command will disable the vast majority of optimizations immediately. The only ex-
ceptions from this rule are options that require a system reboot to enable/disable.
If you have not specifically enabled any of the services that sapconf depends on yourself,
this will also disable most tuning parameters and all services used by sapconf .
63 Enabling and disabling sapconf and viewing its status SLES-SAP 15 SP1
Tip: Additional services that sapconf relies on
In addition to the sapconf service it also relies on the following two services:
uuidd which generates time-based UUIDs that are guaranteed to be unique even
in settings where many processor cores are involved. This is necessary for SAP ap-
plications.
To confirm that the setting for TCP_SLOW_START was applied, do the following:
View the log le of sapconf to see whether it applied the value. Within /var/log/
sapconf.log , check for a line containing this text:
Alternatively, the parameter may have already been set correctly before sapconf
was started. In this case, sapconf will not change its value:
# sysctl net.ipv4.tcp_slow_start_after_idle
# zypper rm sapconf
Note that when doing this, dependencies of sapconf will remain installed. However, the service
sysstat will go into a disabled state. If it is still relevant to you, make sure to enable it again.
Information about configuring and customizing the sapconf profile: man 7 sapconf
Also see the blog series detailing the updated version of sapconf at:
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.
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 gets stopped and disabled too, run instead:
Keep in mind that internally the current solution is reverted rst, and then the new solu-
tion is applied. If you have additional notes configured, the order is not preserved.
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.
To revert everything, use the following command:
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.
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": []
}
9.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.
With staging enabled, SAP Note and SAP Solution changes in a package update are not activated
immediately. They are placed in a staging area, which can be reviewed and released later.
Important
With the current implementation, a package update overwrites the staging if staging is
enabled.
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.
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
Important
If you have systemd -based SAP instances, read Section 10.9, “Systems running both sys-
temd-based and regular SAP instances” and Section 10.10, “Systems running only systemd-based
instances” before setting up Workload Memory Protection.
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 .
10.1 Architecture
WMP relies on three components:
systemd
systemd provides the infrastructure to create and maintain the cgroup hierarchy and
allows the configuration of cgroup parameters. WMP ships systemd configuration les to
allow easy configuration of memory.low via systemd methods.
Workload Memory Protection does not cover databases other than SAP HANA. Depending on
their start method, the processes might run inside or outside the dedicated cgroup. If they run
inside, the memory consumption needs to be taken into account when determining memory.low .
WMP cannot protect against memory pressure inside the dedicated cgroup.
WMP 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 ex-
ample, SAP NetWeaver and SAP S/4HANA), WMP cannot shield one SAP applica-
tion from the other.
1. Check if your SAP software (SAP HANA, SAP NetWeaver etc) is installed. The group sap-
sys is needed during the package installation of sapwmp later. If you skip that part, you
will get a warning message (see Important: Watch out for order of packages).
The service can be enabled, but all SAP processes need to be terminated.
Warning: sapsys group not found warning: group sapsys does not exist - using
root
As an alternative, you can x ownership and permission after installing the SAP
software with:
Warning: Found memory controller on v1 hierarchy. Make sure unified hierarchy only
is used.
With this change, only cgroup2 controllers will be mounted on /sys/fs/cgroup . Cgroup1
controllers, except the memory controller, are still available and can be used though. Tools
using cgroup1 might not work out of the box any more and might need reconfiguration.
Also, the required mount structure for cgroup1 needs to be provided.
The parameter swapaccount=1 is not needed for WMP to work, but it aids the analysis
in support cases to show the amount of swapped out memory for each cgroup.
After reboot (will be done later), the cgroup hierarchy is switched to v2 (unified hierarchy)
only.
Keep in mind:
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 might
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.
8. For each SAP instance, add the following line to the instance profile (usually located in /
usr/sap/SID/SYS/profile/ ) after the last Execute_ line:
If necessary, increase the number of the Execute statement so that it is the highest one,
which means that that line is executed last.
3. Verify that the cgroup was created successfully and the low memory value has been set:
# 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.
# systemd-cgls -a /sys/fs/cgroup/SAP.slice
Directory /sys/fs/cgroup/SAP.slice:
|-wmp-rd91fd6b3ca0d4c1183659ef4f9a092fa.scope
| |-3349 sapstart pf=/usr/sap/HA0/ERS10/profile/HA0_ERS10_sapha0er
| `-3375 er.sapHA0_ERS10 pf=/usr/sap/HA0/ERS10/profile/HA0_ERS10_sapha0er N...
|-wmp-r360ebfe09bcd4df4873ef69898576199.scope
| |-3572 sapstart pf=/usr/sap/HA0/SYS/profile/HA0_D01_sapha0ci
| |-3624 dw.sapHA0_D01 pf=/usr/sap/HA0/SYS/profile/HA0_D01_sapha0ci
...
The sapstartsrv process of an instance always remains in the user slice of SIDadm . Only
the sapstart process and its children will be moved to the target cgroup.
For each instance, a directory wmp-rSCOPEID.scope exists with all processes of this in-
stance. The SCOPEID is a random 128-bit value in hexadecimal.
The SAP HostAgent is not covered by WMP and remains partly in sapinit.slice and
partly in the user slice of sapadm .
5. If the processes are not in the cgroup, check if the Execute lines in the instance profiles
are correct. Also each instance start should now be logged in the system log /var/log/
messages :
...
2020-06-16T18:41:28.317233+02:00 server-03 sapwmp-capture: Found PIDs:
2020-06-16T18:41:28.317624+02:00 server-03 sapwmp-capture: 17001
2020-06-16T18:41:28.317813+02:00 server-03 sapwmp-capture: 16994
2020-06-16T18:41:28.317959+02:00 server-03 sapwmp-capture: 16551
2020-06-16T18:41:28.319423+02:00 server-03 sapwmp-capture: Successful capture into
SAP.slice/wmp-r07a27e12d7f2491f8ccb9aeb0e080aaa.scope
2020-06-16T18:41:28.319672+02:00 server-03 systemd[1]: Started wmp-
r07a27e12d7f2491f8ccb9aeb0e080aaa.scope.
...
To verify the correct setup, run wmp-check . The script checks the setup of Workload Memory
Protection:
# NOTE: Local changes may be reverted after update of WMP package. Check for
# .rpmsave file to restore & merge changes.
Warning
Altering /etc/sapwmp.conf should not be necessary. Do not do it until you know exactly
what you are doing!
# systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
...
Tue... 9min left Tue... 4s ago wmp-sample-memory.timer wmp-sample-memory.service
...
If you check the current configuration, you can see that memory data is collected every 10 min-
utes with a randomized delay of three minutes:
[Timer]
OnCalendar=*:0/10
RandomizedDelaySec=180
AccuracySec=60
[Install]
WantedBy=timers.target
To change this, create a drop-in le and reload systemd (for example, by increasing the interval
to 30 minutes):
# mkdir /etc/systemd/system/wmp-sample-memory.timer.d
# systemctl daemon-reload
(The rst OnCalendar= line is important for deleting previously defined OnCalendar= settings.)
To see the memory consumption, check the system log for lines written by wmp_memory_cur-
rent :
For each cgroup directly below /sys/fs/cgroup/ one comma-separated block exists. On a
normal system, you should nd at least user.slice , system.slice , and init.scope . WMP
adds SAP.slice .
Each block contains the information about the current value of memory.low and memory.cur-
rent , and the currently allocated amount of physical memory of processes in this cgroup.
If you enabled swap accounting ( swapaccount=1 ) during setup, you also have memo-
ry.swap.current , the amount of swapped-out memory of the cgroup.
All values are in bytes. See Step 6 in Section 10.3.1, “Preparing for Workload Memory Protection”.
# systemd-cgls -a /sys/fs/cgroup/SAP.slice
Directory /sys/fs/cgroup/SAP.slice:
|-wmp-rd91fd6b3ca0d4c1183659ef4f9a092fa.scope
| |-3349 sapstart pf=/usr/sap/HA0/ERS10/profile/HA0_ERS10_sapha0er
| `-3375 er.sapHA0_ERS10 pf=/usr/sap/HA0/ERS10/profile/HA0_ERS10_sapha0er N...
|-wmp-r360ebfe09bcd4df4873ef69898576199.scope
A simpler test would be to list all processes, including cgroups, for all SID s used on the system.
Example:
This step is optional. The package can stay on the system without having an influence.
# grub2-mkconfig -o /boot/grub2/grub.cfg
After the next boot, the system is switched back to the hybrid cgroup hierarchy.
6. Remove the line to call sapwmp-capture from each SAP instance profile (usually located
in /usr/sap/SID/SYS/profile/ ):
7. Reboot the system and verify that your SAP system has been started successfully.
Skip the step that adds the capture program to the instance profile. If you are migrating
an instance to support systemd , remove this entry from the profile. Keep in mind that
systemd -based instances are always put into a cgroup under SAP.slice and therefore
become part of Workload Memory Protection protection.
Set MemoryLow=infinity for the SAPSID_NR.service to make the protection work cor-
rectly. Example for SAPNW1_01.service :
The following example demonstrates a mixed environment. The SAP Host Agent and instance
01 are systemd -based, instance 00 is not. Both instances are under SAP.slice either in the
cgroup managed by the SAP Start Service ( SAPNW1_01.service ) or Workload Memory Protec-
tion ( wmp-rece5b7fa372e4619a9623e120aa23a23.scope ). MemoryLow= for SAP.slice has
been set as well as MemoryLow=infinity for all the cgroups below.
> systemd-cgls
Control group /:
-.slice
├─SAP.slice
│ ├─SAPNW1_01.service
│ │ ├─ 887 /usr/sap/NW1/ASCS01/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/
NW1_ASCS01_systemdproj
│ │ ├─2838 sapstart pf=/usr/sap/NW1/SYS/profile/NW1_ASCS01_systemdproj
│ │ ├─2895 ms.sapNW1_ASCS01 pf=/usr/sap/NW1/SYS/profile/NW1_ASCS01_systemdproj
│ │ └─2896 en.sapNW1_ASCS01 pf=/usr/sap/NW1/SYS/profile/NW1_ASCS01_systemdproj
│ ├─saphostagent.service
92 Systems running both systemd-based and regular SAP instances SLES-SAP 15 SP1
│ │ ├─ 900 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile -
nodaemon -trace
│ │ ├─ 984 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile
│ │ └─2428 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile
│ └─wmp-rece5b7fa372e4619a9623e120aa23a23.scope
│ ├─5522 sapstart pf=/usr/sap/NW1/SYS/profile/NW1_D00_systemdproj
│ ├─7824 dw.sapNW1_D00 pf=/usr/sap/NW1/SYS/profile/NW1_D00_systemdproj
│ ├─7825 ig.sapNW1_D00 -mode=profile pf=/usr/sap/NW1/SYS/profile/NW1_D00_systemdproj
...
Further information about the systemd integration is available at SAP Note 139184 - Linux:
systemd integration for sapstartsrv and SAP Host Agent (https://launchpad.support.sap.com/#/
notes/3139184) .
Note
SUSE's HA cluster solutions are supported for fully systemd -based SAP systems.
A SAP system consisting of systemd -based instances can only rely on cgroup2 for memory
protection.
The instances are placed into a dedicated cgroup (default is SAP.slice ) by the SAP Start Ser-
vice. Therefore it is only necessary to switch to the unified cgroup2 hierarchy and set Memory-
Low= correctly.
To configure the memory protection for a system consisting of only systemd -based SAP in-
stances, perform the following steps:
Switch to the unified cgroup hierarchy, rewrite the boot loader (step 4 and 5 in Sec-
tion 10.3.1, “Preparing for Workload Memory Protection”).
Set MemoryLow= for SAP.slice (step 6 in Section 10.3.1, “Preparing for Workload Memory
Protection”).
Set MemoryLow=infinity for saphostagent.service and for the services of all SAP
instances.
The following example demonstrates a systemd -based environment. The SAP Host Agent and
all instances are in their cgroups under SAP.slice . MemoryLow= for SAP.slice has been set
as well as MemoryLow=infinity for all the cgroups below.
> systemd-cgls
Control group /:
-.slice
├─SAP.slice
│ ├─SAPNW1_00.service
│ │ ├─5522 sapstart pf=/usr/sap/NW1/SYS/profile/NW1_D00_systemdproj
│ │ ├─7824 dw.sapNW1_D00 pf=/usr/sap/NW1/SYS/profile/NW1_D00_systemdproj
│ │ ├─7825 ig.sapNW1_D00 -mode=profile pf=/usr/sap/NW1/SYS/profile/NW1_D00_systemdproj
...
│ ├─SAPNW1_01.service
│ │ ├─ 887 /usr/sap/NW1/ASCS01/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/
NW1_ASCS01_systemdproj
│ │ ├─2838 sapstart pf=/usr/sap/NW1/SYS/profile/NW1_ASCS01_systemdproj
│ │ ├─2895 ms.sapNW1_ASCS01 pf=/usr/sap/NW1/SYS/profile/NW1_ASCS01_systemdproj
│ │ └─2896 en.sapNW1_ASCS01 pf=/usr/sap/NW1/SYS/profile/NW1_ASCS01_systemdproj
│ └─saphostagent.service
│ ├─ 900 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile -
nodaemon -trace
│ ├─ 984 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile
│ └─2428 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile
The firewall needs to be manually configured to allow network access for the following:
SAP application
Database (see the documentation of your database vendor; for SAP HANA, see Section 11.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.
If you prefer, you can configure the rule sets using the configuration le at /etc/syscon-
fig/hana-firewall instead of using YaST.
# cd /etc/hana-firewall.d
# hana-firewall define-new-hana-service
You need to switch to the directory /etc/hana-firewall.d , otherwise the rule le for
the new service will be created in a place where it cannot be used.
The script will ask several questions: Importantly, it will ask for 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 SAP
HANA Firewall.
3. Under Global Options, activate Enable Firewall. Additionally, decide whether to Allow Re-
mote Shell Access (SSH).
5. Allow network services by selecting them in the list box on the left and clicking →. Remove
services by selecting them in the list box on the right and clicking ←.
To add services other than the preconfigured ones, use the following notation:
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:
A client is a machine that has one or more encrypted partitions but does not permanently
store the necessary key to decrypt those partitions. For example, clients can be cloud or
otherwise hosted machines.
The server holds encryption keys that can be requested by clients to unlock encrypted
partitions.
You can also set up the cryptctl server to store encryption keys on a KMIP 1.3-compatible
(Key Management Interoperability Protocol) server. In that case, the cryptctl server will
not store the encryption keys of clients and is dependent upon the KMIP-compatible server
to provide these.
To handle encryption, cryptctl uses LUKS with aes-xts-256 encryption and 512-bit keys. En-
cryption keys are transferred using TLS with certificate verification.
Records request in
system journal
FIGURE 12.1: KEY RETRIEVAL WITH cryptctl (MODEL WITHOUT CONNECTION TO KMIP SERVER)
Before beginning, choose whether to use a self-signed certificate to secure communication be-
tween the server and clients. If not, generate a TLS certificate for the server and have it signed
by a certificate authority.
Additionally, you can have clients authenticate to the server using certificates signed by a cer-
tificate authority. To use this extra security measure, make sure to have a CA certificate at hand
before starting this procedure.
1. As root , run:
# cryptctl init-server
2. Answer each of the following prompts and press Enter after every answer. If there is a
default answer, it is shown in square brackets at the end of the prompt.
b. Specify the path to a PEM-encoded TLS certificate or certificate chain le or leave the
eld empty to create a self-signed certificate. If you specify a path, use an absolute
path.
c. If you want the server to be identified by a host name other than the default shown,
specify a host name. cryptctl will then generate certificates which include the
host name.
d. Specify the IP address that belongs to the network interface that you want to listen
on for decryption requests from the clients, then set a port number (the default is
port 3737).
The default IP address setting, 0.0.0.0 means that cryptctl will listen on all
network interfaces for client requests using IPv4.
e. Specify a directory on the server that will hold the decryption keys for clients.
f. Specify whether clients need to authenticate to the server using a TLS certificate. If
you choose No, this means that clients authenticate using disk UUIDs only. (However,
communication will be encrypted using the server certificate in any case.)
If you choose Yes, pick a PEM-encoded certificate authority to use for signing client
certificates.
g. Specify whether to use a KMIP 1.3-compatible server (or multiple such servers) to
store encryption keys of clients. If you choose this option, provide the host names
and ports for one or multiple KMIP-compatible servers.
Additionally, provide a user name, password, a CA certificate for the KMIP server,
and a client identity certificate for the cryptctl server.
h. Finally, configure an SMTP server for e-mail notifications for encryption and decryp-
tion requests or leave the prompt empty to skip setting up e-mail notifications.
Run the command cryptctl init-server again. cryptctl will then propose the exist-
ing settings as the defaults, so that you only need to the specify the values that you want
to change.
The client machine has an empty partition available that is large enough to t the directory
to encrypt.
When using a self-signed certificate, the certificate ( *.crt le) generated on the server is
available locally on the client. Otherwise, the certificate authority of the server certificate
must be trusted by the client.
If you set up the server to require clients to authenticate using a client certificate, prepare a
TLS certificate for the client which is signed by the CA certificate you chose for the server.
# cryptctl encrypt
2. Answer each of the following prompts and press Enter after every answer. If there is a
default answer, it is shown in square brackets at the end of the prompt.
a. Specify the host name and port to connect to on the cryptctl server.
b. If you configured the server to have clients authenticate to it using a TLS certificate,
specify a certificate and a key le for the client. The client certificate must be signed
by the certificate authority chosen when setting up the server.
c. Specify the absolute path to the server certificate (the *.crt le).
d. Enter the encryption password that you specified when setting up the server.
e. Specify the path to the directory to encrypt. Specify the path to the empty partition
that will contain the encrypted content of the directory.
f. Specify the number of machines that are allowed to decrypt the partition simulta-
neously.
Then specify the timeout in seconds before additional machines are allowed to de-
crypt the partition after the last vital sign was received from the client or clients.
When a machine unexpectedly stops working and then reboots, it needs to be able to
unlock its partitions again. That means this timeout should be set to a time slightly
shorter than the reboot time of the client.
cryptctl identifies the encrypted partition by its UUID. For the previous example, that
is the UUID displayed next to sdc1 .
On the server, you can check whether the directory was decrypted using cryptctl .
# cryptctl list-keys
For a partition not decrypted successfully, you will see output like:
5. After verifying that the encrypted partition works, delete the unencrypted content from
the client. For example, use rm . For more safety, overwrite the content of the les before
deleting them, for example, using shred -u .
The configuration for the connection from client to server is stored in /etc/syscon-
fig/cryptctl-client and can be edited manually.
The server stores an encryption key for the client partition in /var/lib/cryptctl/key-
db/PARTITION_UUID .
# cryptctl list-keys
The information under Num. Users shows whether the key is currently in use. To see more
detail on a single key, use:
This command will show information about mount point, mount options, usage options, the last
retrieval of the key and the last three heartbeats from clients.
Additionally, you can use journalctl to nd logs of when keys were retrieved.
106 Checking Partition Unlock Status Using Server-side Commands SLES-SAP 15 SP1
12.4 Unlocking Encrypted Partitions Manually
There are two ways of unlocking a partition manually, both of which are run on a client:
Offline Unlocking. This method can be used when a client cannot or must not be brought
online to communicate with its server. The encryption key from the server must still be
available. This method is meant as a last resort only and can only unlock a single partition
at a time.
To use it, run cryptctl offline-unlock . The server's key le for the requisite partition
( /var/lib/cryptctl/keydb/PARTITION_UUID ) needs to be available on the client.
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 SP1 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.
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 13.2,
“Creating a Virus Scanner Group in SAP NetWeaver” (for example: CLAMSAPVSI )
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.
FIGURE 13.2:
Afterward, a summary will be displayed, including details of the ClamSAP and ClamAV (shown
in Figure 13.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.
2. When you are satisfied that new configuration is correct, make it permanent:
# 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 14, 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
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-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/product.d/baseproduct
A link to an XML le. The /etc/product.d/ directory contains different .prod les.
Depending on which products you have purchased and how you installed your system,
the link /etc/product.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-SAP
120 15 SP1
Among other information, both les contain the operating system and base product. The base
product (key CPE_NAME and tag <cpeid> ) follow the Common Platform Enumeration Specifica-
tion (http://scap.nist.gov/specifications/cpe/) .
Basically, you can extract any information from the le /etc/product.d/baseproduct either
with the commands grep or xmlstarlet (both are available for your products). As XML is
also text, use grep for “simple searches” when the format of the output does not matter much.
However, if your search is more advanced, you need the output in another script, or your would
like to avoid the XML tags in the output, use the xmlstarlet command instead.
For example, to get your base product, use grep like this:
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:
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>
...
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
version, but may differ in detail to address new problems or concerns. See http://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.