SUSE Linux Enterprise Server for SAP Applications 12

SUSE and Microsoft Solution Templates for SAP Applications

Simplified Deployment on Microsoft Azure

This document describes several predefined solution templates for SAP Applications from SUSE and Microsoft for simplified deployment on Microsoft Azure.

Author: Peter Schinagl, Technical Architect SAP, SUSE
Publication Date: May 08, 2018

1 Overview

For every template there are four possible sizes available with the following naming convention:

  • Demo

  • Small

  • Medium

  • Large

The Demo and Small sizes are targeted at non-production SAP HANA workloads. The Medium and Large sizes can be used for production systems, as they are built on M-SERIES/VM which are certified.

One of the presumptions of this document is that you are familiar with SAP Netweaver and SAP HANA.

Microsoft provides a good overview page about SAP deployments in Azure at https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/get-started

For the High Availablity (HA) scenario you should have in addition good knowledge of

For production systems you need to take care of the monitoring requirements of SAP:

You need to provide the SAP software and license by yourself. You can download SAP software from the SAP Service Marketplace (https://service.sap.com)

To prepare the Azure VM for the SAP Netweaver and HANA installation, follow the steps outlined in the section below.

1.1 Operating System Updates

Check for SUSE Linux Enterprise Server operating system updates and fixes before installing additional software. By installing a patch, you might be able to avoid calling the support desk.

Here is an example of how to check for available patches for SUSE Linux Enterprise Server by using the zypper command:

sudo zypper list-patches

Depending on the kind of issue, patches are classified by category and severity.

Commonly used values for category are: security, recommended, optional, feature, or yast.

Commonly used values for severity are: critical, important, moderate, low, or unspecified.

The zypper command searches only for the updates that your installed packages need. As an example, you could use the command:

sudo zypper patch --category=security,recommended --severity=critical,important

You can add the parameter --dry-run to test the update without actually updating the system.

2 SAP HANA 2-tier (DB-tier) Template

The template provides and deploys a VM that is customized for use with SAP HANA, using the latest pay-as-you-go (PAYG) version of the SUSE Linux Enterprise Server for SAP Applications (SLES4SAP).

It deploys one server on Premium Storage (Premium_LRS) and uses Managed Disks.

SAP HANA 2-tier (DB-tier) Template Overview
Figure 1: SAP HANA 2-tier (DB-tier) Template Overview

2.1 OS Configuration for SAP HANA

SAP HANA requires specific Linux kernel settings, which are not part of the standard Azure images and must be set manually.

sudo saptune solution apply HANA

2.2 Disk Overview

The template uses the following disks and mount points for the HANA machine:

Demo

Mount Point Disk Size

/hana/data

0,1

128 GB

/hana/log

2,3

128 GB

/hana/shared

4

128 GB

/usr/sap

5

128 GB

/hana/backup

6

128 GB

/sapmnt

7

128 GB

Small

Mount Point Disk Size

/hana/data

0,1,2

512 GB

/hana/log

same disks as data

/hana/shared

3

512 GB

/usr/sap

4

64 GB

/hana/backup

5

1024 GB

/sapmnt

6

64 GB

Medium

Mount Point Disk Size

/hana/data

0,1,2,3

512 GB

/hana/log

4,5

512 GB

/hana/shared

6

1024 GB

/usr/sap

7

64 GB

/hana/backup

8,9

1024 GB

/sapmnt

10

64 GB

Large

Mount Point Disk Size

/hana/data

0,1,2

1024 GB

/hana/log

3,4

512 GB

/hana/shared

5

1024 GB

/usr/sap

6

64 GB

/hana/backup

7,8

2048 GB

/sapmnt

9

64 GB

For the installation of SAP HANA there are different ways available. You can use the native SAP mechanism of using the SAP Software Provisioning Manager (SWPM) or the HANA database lifecycle manager (HDBLCM).

For details, have a look at the SAP documentation at https://help.sap.com/viewer/p/SAP_HANA_PLATFORM.

A very short description is in addition available at https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/hana-get-started .

Another way would be to use the SUSE YaST based HANA install wizard, which simplifies the setup. It is discussed in a later section below.

3 SAP Netweaver 3-tier Template

The template provides and deploys several VMs which are customized for use with SAP Netweaver and SAP HANA as database, using the latest pay-as-you-go (PAYG) version of the SUSE Linux Enterprise Server for SAP Applications (SLES4SAP).

It deploys all server on Premium Storage (Premium_LRS) and using Managed Disks.

SAP Netweaver 3-tier Template Overview
Figure 2: SAP Netweaver 3-tier Template Overview

3.1 OS Configuration for the SAP Netweaver VM

SAP Netweaver requires specific Linux kernel settings, which are not part of the standard Azure images and must be set manually.

sudo saptune solution apply NETWEAVER

3.2 OS Configuration for the SAP HANA VM

SAP HANA requires specific Linux kernel settings, which are not part of the standard Azure images and must be set manually.

sudo saptune solution apply HANA

For more details see the documentation at https://www.suse.com/documentation/sles-for-sap-12/book_s4s/data/sec_saptune.html

3.3 Disk Overview

The template uses the following disks and mount points for the HANA machine:

Demo

Mount Point Disk Size

/hana/data

0,1

128 GB

/hana/log

2,3

128 GB

/hana/shared

4

128 GB

/usr/sap

5

128 GB

/hana/backup

6

128 GB

/sapmnt

7

128 GB

The XSCS machine uses only the base OS disk.

The APP server machines use an additional 128 GB disk for /usr/sap/<SID>.

Small

Mount Point Disk Size

/hana/data

0,1,2

512 GB

/hana/log

same disks as data

/hana/shared

3

512 GB

/usr/sap

4

64 GB

/hana/backup

5

1024 GB

The XSCS machine uses only the base OS disk.

The APP server machines use an additional 128 GB disk for /usr/sap/<SID>

Medium

Mount Point Disk Size

/hana/data

0,1,2,3

512 GB

/hana/log

4,5

512 GB

/hana/shared

6

1024 GB

/usr/sap

7

64 GB

/hana/backup

8,9

1024 GB

Large

Mount Point Disk Size

/hana/data

0,1,2

1024 GB

/hana/log

3,4

512 GB

/hana/shared

5

1024 GB

/usr/sap

6

64 GB

/hana/backup

7,8

2048 GB

3.4 Other Settings and Machines

All machines created with the template use the Azure feature Accelerated Network (AN) (only if the VM size supports AN).

The XSCS machine gets a dynamic public IP address to be able to access all other machines in the private network and only uses the base OS disk. There is no additional disk.

The APP server machines use an additional 128 GB disk for /usr/sap/<SID> and the machines are placed in an Availablity Set with a FaultDomainCount of 2 and an UpdateDomainCount of 20.

Note
Note: Availability Set

An Availability Set is a logical group in Azure to ensure that the VM resources are isolated from each other when they are deployed within an Azure datacenter. It ensures that the VMs you place within such an Availability Set run across multiple physical servers, compute racks, storage units and network switches. The Virtual Machines are placed then into an Availability Set to minimize the chances that two of them fail or are updated at the same time. This is essential when you want to build reliable cloud solutions and clusters.

4 SAP Netweaver 3-tier HA Template

The template provides and deploys several VMs twice to be used in an HA configuration. They are customized for use with SAP Netweaver and SAP HANA as database, using the latest pay-as-you-go (PAYG) version of the SUSE Linux Enterprise Server for SAP Applications (SLES4SAP).

It deploys all servers on Premium Storage (Premium_LRS) and using Managed Disks.

SAP Netweaver 3-tier HA Template Overview
Figure 3: SAP Netweaver 3-tier HA Template Overview

4.1 OS Configuration for the SAP Netweaver VM

SAP Netweaver requires specific Linux kernel settings, which are not part of the standard Azure images and must be set manually.

sudo saptune solution apply NETWEAVER

4.2 OS Configuration for the SAP HANA VM

SAP HANA requires specific Linux kernel settings, which are not part of the standard Azure images and must be set manually.

sudo saptune solution apply HANA

For more details see the documentation at https://www.suse.com/documentation/sles-for-sap-12/book_s4s/data/sec_saptune.html

4.3 Other Settings

The XSCS machine gets a dynamic public IP address to be able to access all other machines in the private network.

All machines use the Azure feature Accelerated Network (AN) (only if the VM size supports AN).

All AVSets for the APP machines use a FaultDomainCount of 2 and an UpdateDomainCount of 20.

4.4 Disk Overview

The template uses the following disks and mount points:

Demo

Mount Point Disk Size

/hana/data

0,1

128 GB

/hana/log

2,3

128 GB

/hana/shared

4

128 GB

/usr/sap

5

128 GB

/hana/backup

6

128 GB

/sapmnt

7

128 GB

Small

Mount Point Disk Size

/hana/data

0,1,2

512 GB

/hana/log

same disks as data

/hana/shared

3

512 GB

/usr/sap

4

64 GB

/hana/backup

5

1024 GB

Medium

Mount Point Disk Size

/hana/data

0,1,2,3

512 GB

/hana/log

4,5

512 GB (W)

/hana/shared

6

1024 GB

/usr/sap

7

64 GB

/hana/backup

8,9

1024 GB

(w) uses Azure feature "writeAccelerator"

Large

Mount Point Disk Size

/hana/data

0,1,2

1024 GB

/hana/log

3,4

512 GB (W)

/hana/shared

5

1024 GB

/usr/sap

6

64 GB

/hana/backup

7,8

2048 GB

(w) uses Azure feature "writeAccelerator"

4.5 Other Settings and Machines

All machines created with the template use the Azure feature Accelerated Network (AN) (only if the VM size supports AN).

The XSCS machine gets a dynamic public IP address to be able to access all other machines in the private network and only use the base OS disk. There is no additional disk.

The APP server machines use an additional 128 GB disk for /usr/sap/<SID> and the machines are placed in an Availablity Set with a FaultDomainCount of 2 and an UpdateDomainCount of 20.

Note
Note: Availability Set

An Availability Set is a logical group in Azure to ensure that the VM resources are isolated from each other when they are deployed within an Azure datacenter. It ensures that the VMs you place within such an Availability Set run across multiple physical servers, compute racks, storage units and network switches. The Virtual Machines are placed then into an Availability Set to minimize the chances that two of them fail or are updated at the same time. This is essential when you want to build reliable cloud solutions and clusters.

The HA template provides two additional instances for an HA NFS server which has an additional disk as share of 32GB.

4.6 Internal Load Balancer and Ports

Special for the HA setup is the use of the Azure Internal Load Balancer (ILB) which is necessary to use virtual IP addresses in Azure. As such, the ILB allows the use of virtual host names and IPs for the xSCS, HA-NFS and SAP HANA pacemaker clusters. Additionally the ILB is providing Layer 4: TCP and HTTP health probes.

https://docs.microsoft.com/en-us/azure/load-balancer/

The selection ABAP uses the relevant ASCS ports, JAVA uses the relevant SCS ports and ABAP+JAVA both of the ports.

ASCS/SCS Internal Load Balancer ports (examples all with instance 00 in bold):

  • ASCS ERS ports : 3300, 50013, 50014, 50016

  • SCS ERS ports : 3300, 50013, 50014, 50016

  • ASCS Ports : 3200, 3600, 3900, 8100, 50013, 50014, 50016

  • SCS Ports : 3200, 3300, 3900, 8100, 50013, 50014, 50016

  • HANA Ports : 30015,30017

  • NFS Ports : 2049

Probe Ports:

  • xSCS: 62000

  • ERS : 61000

  • HANA: 62500

  • NFS : 61000

5 Quick Guide to Install SAP HANA on a SUSE Linux Enterprise Server for SAP Applications

This section leads you through the installation of a default SAP HANA on SUSE Linux Enterprise Server.

It does not replace the SAP documentation - PLEASE read the SAP HANA installation documentation.

Important
Important: Transfer

You need to transfer the SAP media for SAP HANA to the Azure cloud environment.

5.1 File Share for SAP Media

Azure Files offers shared storage for applications using the Server Message Block (SMB) protocol which is very useful to upload the SAP HANA Media to it and use it from both machines.

https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction

To use Azure Storage, you need to create first a storage account.

In the example below, the Azure CLI v2 command line installed on our local machine is used. It is also possible to install it on the virtual machine you have created in Azure.

For more details see https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-zypper?view=azure-cli-latest.

Another way would be to follow the more general steps from https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mount-azure-file-storage-on-linux-using-smb

or using the portal

https://github.com/AzureCAT-GSI/SAP-HANA-ARM/blob/master/UploadToAzure.md

5.1.1 Steps to Create a File Share in Azure

First you need a resource group where the storage should be placed in.

Substitute the --location parameter with the azure region you have chosen:

az group create --name mytestRG --location westeurope

Now you can create the storage account in your resource group:

az storage account create \
    --name hsrsa4sapmedia \
    --resource-group mytestRG \
    --sku Standard_LRS \
    --location westeurope

A good practice is to share the connection string using variables, as you need to add it to every following storage commands:

az storage account show-connection-string \
    --name hsrsa4sapmedia \
    --resource-group mytestRG

Set the AZURE_STORAGE_CONNECTION_STRING environment variable with the output value of the command. You should enclose the connection string in quotes.

export AZURE_STORAGE_CONNECTION_STRING="YOUR_connection_string"

5.2 SAP Media

Installation media for SAP HANA should be downloaded and placed in the Azure fileshare created in the step before. For this we create an own directory called "SapBits".

You need to download the SAP package 51052325, which should consist of four files:

  • 51052325_part1.exe

  • 51052325_part2.rar

  • 51052325_part3.rar

  • 51052325_part4.rar

If you have the files in your download directory on your machine, the command looks as follows:

az storage share create --name mediashare
az storage directory create --name SapBits --share-name mediashare

az storage file upload --share-name mediashare/SapBits --source ~/Download/51052325_part1.exe
az storage file upload --share-name mediashare/SapBits --source ~/Download/51052325_part2.rar
az storage file upload --share-name mediashare/SapBits --source ~/Download/51052325_part3.rar
az storage file upload --share-name mediashare/SapBits --source /Download/51052325_part4.rar

The next steps need to be done on your virtual machine you created for HANA in Azure. Log in to this machine.nius.

Mount it on the SUSE Linux Enterprise Server system in Azure with the command:

sudo zypper in cifs-utils unrar

mkdir -p /hana/shared/SapBits

sudo mount -t cifs //hsrsa4sapmedia.file.core.windows.net/mediashare/SapBits /mnt -o vers=3.0,username=storage-account-name,password=storage-account-key,dir_mode=0777,file_mode=0777,serverino

sudo cp -v /mnt/51052325* /hana/shared/SapBits

sudo umount /mnt

Extract the HANA software

cd /hana/shared/SapBits
unrar x 51052325_part1.exe

If you need the hana software later again, you do not need this step as it is extracted

5.3 HANA Install

Hana requires a few packages installed within SUSE Linux Enterprise Server.

zypper in -t pattern sap-hana

and configuration settings

saptune daemon start
saptune solution apply HANA

There are several possibilities to install SAP HANA, which are detailed in the following sections.

5.3.1 Installation Using the SUSE Installation Wizard

  • Start YaST.

  • Under Software choose the SAP Installation Wizard:

YaST Control Center - SAP Installation Wizard
Figure 4: YaST Control Center - SAP Installation Wizard
  • Point the Installer to the directory with the SAP Media from the step above (for example /hana/shared/SapBits/51052325):

SAP Installation Wizard - Directory
Figure 5: SAP Installation Wizard - Directory
  • The sap media get copied to the local machine:

SAP Installation Wizard - Copying Media
Figure 6: SAP Installation Wizard - Copying Media
  • Say No if you asked for Supplement/3rd-party mediashare:

SAP Installation Wizard - Medium
Figure 7: SAP Installation Wizard - Medium
  • Click Next at the screen asking for SAP add-ons:

SAP Installation Wizard - SAP Add-ons
Figure 8: SAP Installation Wizard - SAP Add-ons
  • Fill out the four fields for HANA:

SAP Installation Wizard - System Parameters
Figure 9: SAP Installation Wizard - System Parameters
  • Say No if you are asked for more products:

SAP Installation Wizard - More SAP Products
Figure 10: SAP Installation Wizard - More SAP Products
  • Agree with the question to continue the installation:

SAP Installation Wizard - Continue Installation
Figure 11: SAP Installation Wizard - Continue Installation
  • HANA gets installed and started.

This installation process will take some time - be patient. You will see the log output in the window.

5.3.2 Installation Using the Command Line

The HANA installer will ask for some values.

Answer the questions according to your well prepared sheet with all needed parameters. Do NOT install HANA with a virtual host name, use the physical host name. Double-check before you type!

  1. Install the SAP HANA Database as described in the SAP HANA Server Installation Guide on both machines.

    1. Change to the directory where you have downloaded and unpacked the installation medium ( in our example it should be /hana/shared/SapBits ):

         cd /hana/shared/SapBits/51052325/DATA_UNITS/HDB_LCM_LINUX_X86_64
    2. Start the SAP HANA database lifecycle manager interactively at the command line:

         sudo ./hdblcm

5.4 For 3-tier Templates: How to Connect to the Other Systems

Only the XSCS machine has a public IP address and needs to be used as intermediate hop (jumphost) between your actual SSH target and yourself.

Instead of using something like unsecure SSH agent forwarding, where the data gets exposed at every jump, you can use ProxyCommand to proxy all your commands through your jumphost.

Consider the following scenario:

+--------+    +---------+    /------ | Host A |
| Laptop |--P-| XSCS    |---+
+--------+    +---------+    \-------| Host B |
                              ...
                              \------| Host X |

A configuration like this will allow you to proxy through the jumphost within the admin subnet to HOST A and B, …

on YOUR local system create a ssh config file:

$ cat .ssh/config
Host XSCS
   User adminuser used here as example
   Hostname public-ip-of-xscs
   Port 22 # a non-standard port would be a good idea

Host hosta
   User adminuser
   Hostname private-ip of host a
   Port 22
   ProxyCommand ssh -q -W %h:%p XSCS

Host hostb
   User adminuser
   Hostname private-ip of host b
   Port 22
   ProxyCommand ssh -q -W %h:%p XSCS

etc...
ssh adminuser@hosta

or

ssh adminuser@private-ip-hosta

6 Legal Notice

Copyright ©2006–2018 SUSE LLC and contributors. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled GNU Free Documentation License.

SUSE, the SUSE logo and YaST are registered trademarks of SUSE LLC in the United States and other countries. For SUSE trademarks, see http://www.suse.com/company/legal/. Linux is a registered trademark of Linus Torvalds. All other names or trademarks mentioned in this document may be trademarks or registered trademarks of their respective owners.

This article is part of a series of documents called "SUSE Best Practices". The individual documents in the series were contributed voluntarily by SUSE's employees and by third parties.

All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy.

Therefore, we need to specifically state that neither SUSE LLC, its affiliates, the authors, nor the translators may be held liable for possible errors or the consequences thereof. Below we draw your attention to the license under which the articles are published.

Print this page