Operating System Upgrade

This article describes the details of operating system (OS) upgrades on HANA Large Instances (HLI), otherwise known as BareMetal Infrastructure.


This article contains references to terms that Microsoft no longer uses. When the terms are removed from the software, we'll remove them from this article.


Upgrading the OS is your responsibility. Microsoft operations support can guide you in key areas of the upgrade, but consult your operating system vendor as well when planning an upgrade.

During HLI provisioning, the Microsoft operations team installs the operating system. You're required to maintain the operating system. For example, you need to do the patching, tuning, upgrading, and so on, on the HLI. Before you make major changes to the operating system, for example, upgrade SP1 to SP2, contact the Microsoft Operations team by opening a support ticket. They will consult with you. We recommend opening this ticket at least one week before the upgrade.

Include in your ticket:

  • Your HLI subscription ID.
  • Your server name.
  • The patch level you're planning to apply.
  • The date you're planning this change.

For the support matrix of the different SAP HANA versions with the different Linux versions, see SAP Note #2235581.

Known issues

There are a couple of known issues with the upgrade:

  • On SKU Type II class SKU, the software foundation software (SFS) is removed during the OS upgrade. You'll need to reinstall the compatible SFS after the OS upgrade is complete.
  • Ethernet card drivers (ENIC and FNIC) are rolled back to an older version. You'll need to reinstall the compatible version of the drivers after the upgrade.

The OS configuration can drift from the recommended settings over time. This drift can occur because of patching, system upgrades, and other changes you may make. Microsoft identifies updates needed to ensure HANA Large Instances are optimally configured for the best performance and resiliency. The following instructions outline recommendations that address network performance, system stability, and optimal HANA performance.

Compatible eNIC/fNIC driver versions

To have proper network performance and system stability, ensure the appropriate OS-specific version of eNIC and fNIC drivers are installed per the following compatibility table (This table has the latest compatible driver version). Servers are delivered to customers with compatible versions. However, drivers can get rolled back to default versions during OS/kernel patching. Ensure the appropriate driver version is running post OS/kernel patching operations.

OS Vendor OS Package Version Firmware Version eNIC Driver fNIC Driver
SuSE SLES 12 SP2 3.2.3i
SuSE SLES 12 SP3 3.2.3i
SuSE SLES 12 SP4 3.2.3i
SuSE SLES 12 SP5 3.2.3i
Red Hat RHEL 7.6 3.2.3i
SuSE SLES 12 SP4 4.1.1b
SuSE SLES 12 SP5 4.1.1b
SuSE SLES 15 SP1 4.1.1b
SuSE SLES 15 SP2 4.1.1b
Red Hat RHEL 7.6 4.1.1b
Red Hat RHEL 8.2 4.1.1b
SuSE SLES 12 SP4 4.1.3d
SuSE SLES 12 SP5 4.1.3d
SuSE SLES 15 SP1 4.1.3d
Red Hat RHEL 8.2 4.1.3d

Commands for driver upgrade and to clean old rpm packages

Command to check existing installed drivers

rpm -qa | grep enic/fnic 

Delete existing eNIC/fNIC rpm

rpm -e <old-rpm-package>
rpm -ivh <enic/fnic.rpm> 

Commands to confirm installation

modinfo enic
modinfo fnic

Steps for eNIC/fNIC drivers installation during OS upgrade

  • Upgrade OS version
  • Remove old rpm packages
  • Install compatible eNIC/fNIC drivers as per installed OS version
  • Reboot system
  • After reboot, check the eNIC/fNIC version

SuSE HLIs GRUB update failure

SAP on Azure HANA Large Instances (Type I) can be in a non-bootable state after upgrade. The following procedure fixes this issue.

Execution Steps

  • Execute the multipath -ll command.
  • Get the logical unit number (LUN) ID or use the command: fdisk -l | grep mapper
  • Update the /etc/default/grub_installdevice file with line /dev/mapper/<LUN ID>. Example: /dev/mapper/3600a09803830372f483f495242534a56


The LUN ID varies from server to server.

Disable Error Detection And Correction

Error Detection And Correction (EDAC) modules help detect and correct memory errors. However, the underlying HLI Type I hardware already detects and corrects memory errors. Enabling the same feature at the hardware and OS levels can cause conflicts and lead to unplanned shutdowns of the server. We recommend disabling the EDAC modules from the OS.

Execution Steps

  • Check whether the EDAC modules are enabled. If an output is returned from the following command, the modules are enabled.
lsmod | grep -i edac 
  • Disable the modules by appending the following lines to the file /etc/modprobe.d/blacklist.conf
blacklist sb_edac
blacklist edac_core

A reboot is required for the changes to take place. After reboot, execute the lsmod command again and verify the modules aren't enabled.

Kernel parameters

Make sure the correct settings for transparent_hugepage, numa_balancing, processor.max_cstate, ignore_ce, and intel_idle.max_cstate are applied.

  • intel_idle.max_cstate=1
  • processor.max_cstate=1
  • transparent_hugepage=never
  • numa_balancing=disable
  • mce=ignore_ce

Execution Steps

  • Add these parameters to the GRB_CMDLINE_LINUX line in the file /etc/default/grub:
intel_idle.max_cstate=1 processor.max_cstate=1 transparent_hugepage=never numa_balancing=disable mce=ignore_ce
  • Create a new grub file.
grub2-mkconfig -o /boot/grub2/grub.cfg
  • Reboot your system.

Next steps

Learn to set up an SMT server for SUSE Linux.