I am working as a Linux Administrator and supporting customer environment which have SAP BW Application and HANA DB services hosted on SUSE Linux Enterprise Server (SLES) 12 for SAP Application SP3.
One day I got a request from my customer SAP application team to tune the OS that is SLES 12 for SAP Application SP3 server for optimizing the HANA service hosted on it. I got a long list of parameters from SAP application team which they asked me to tune server. As a lazy system administrator, I always try to find a solution to do things in less efforts thus I searched and found solution sapconf tool for addressing HANA server tuning requirement in less efforts and without errors.
Suse has released sapconf tool from SLES 12 SP1 onward to fine tune the OS parameters for preparing system to host SAP Workloads. Sapconf tool work closely with SLES 12 tuned service and provides different SAP recommended pre-configured SAP tuned profiles which meet different SAP Application or HANA service requirement but if you have special needs, you can also customize the tool to better suit your requirement (which I will show you in this tutorial).
Below are the key improvements of sapconf:
• One central configuration file (besides the tuned config)
• Simplified and adjusted configuration based on current SAP notes
• Unified sap-hana and sap-netweaver profiles to simplify deployment
• Improved documentation
Below are the available SAP tuned profiles in my SLES 12 for SAP Application SP3 server:
In this tutorial I will guide you how to install sapconf tool, customize some network parameters in sap-hana profile and activate the sap-hana tuned profile for optimizing system for hosting SAP HANA DB service. For this tutorial I am using OS: SLES 12 for SAP Application SP3
Installation and configuration of sapconf
1. Install the sapconf tool in your server with zypper command:
# zypper install sapconf
Refreshing service 'SUSE_Linux_Enterprise_Server_12_SP3_x86_64'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 4 NEW packages are going to be installed:
sapconf sysstat tuned uuidd
4 new packages to install.
Overall download size: 534.7 KiB. Already cached: 0 B. After the operation, additional 1.4 MiB will be used.
Continue? [y/n/...? shows all options] (y):
Retrieving package
...
(removed for brevity)
...
Additional rpm output:
Created symlink from /etc/systemd/system/sockets.target.wants/uuidd.socket to /usr/lib/systemd/system/uuidd.socket.
...
Additional rpm output:
Updating /etc/sysconfig/sapnote-1680803...
Updating /etc/sysconfig/sapconf...
Created symlink from /etc/systemd/system/multi-user.target.wants/sapconf.service to /usr/lib/systemd/system/sapconf.service.
Set the maximum number of OS tasks each user may run concurrently (UserTasksMax) to 'infinity'
With this setting your system is vulnerable to fork bomb attacks.
Please reboot the system for the UserTasksMax change to become effective
2. Start the sapconf and tuned service and enable them in startup
systemctl --now enable sapconf
systemctl --now enable tuned
3. Create directory with name of sap-hana inside path /etc/tuned
mkdir /etc/tuned/sap-hana
4. Copy the sap-hana tuned profile from path /usr/lib/tuned/sap-hana/tuned.conf to /etc/tuned/sap-hana/tuned.conf
cp -vp /usr/lib/tuned/sap-hana/tuned.conf /etc/tuned/sap-hana/
5. Configure the below network parameters and script.sh path to copied configuration file
a. Customized Network Parameters
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 8192
b. Script (script.sh) path
/usr/lib/tuned/sap-hana/script.sh
Example of my customized sap-hana tuned configuration file
6. Now activate the sap-hana profile to apply the SAP recommended and your customized settings. Through tuned-adm command you can see activated profile status
7. Below are the customized network parameters which modified after activating the sap-hana profile
Now you can see how it is easy to tune SAP recommended settings in OS SLES 12 for SAP Application SP3 with help of sapconf tool it saves your time and efforts also reduce human errors.