Chapter 3. Upgrading an SAP HANA System An in-place upgrade allows you to upgrade a RHEL system to the subsequent major release of RHEL. This can be done by replacing the existing operating system without removing applications. The in-place upgrade of RHEL 8 with SAP HANA can currently be performed from RHEL 8.8 to RHEL 9.2 and from RHEL 8.10 to RHEL 9.4, on x86_64 and ppc64le, and taking into account all the other restrictions as mentioned in the Environment section at the top of this document. An SAP HANA system running on earlier OS versions must be updated to the source OS version first, for example RHEL 8.2 to RHEL 8.8 or RHEL 8.10, as described in the topic 3.1. Step 1: Preparing for the upgrade. Note For updating PAYG systems on cloud providers from RHEL 8.* to RHEL 8.10, please see How to update RHEL from 8.* to 8.10 on Cloud images with the "RHEL for SAP with High Availability and Update Services" subscription . If the installed SAP HANA version is not on the minimum revision which is supported on both the source and target RHEL minor versions, your SAP HANA software must be upgraded to this level before the OS upgrade. SAP HANA must have been installed using /hana/shared as the installation path. You must not perform more than one update or upgrade (e.g. HANA to 2.0 SPS05 rev 59.06 and RHEL from 8.8 to 9.2), without testing and verifying after each step. This will simplify troubleshooting in case of any errors. Prepare for the verification of your SAP HANA system so that you can quickly check and confirm if your SAP HANA system is fully operational again after the upgrade to RHEL 9. This should include both functional and performance testing of your most important business transactions. As always on production systems, run all the steps below, including the preparation and pre-upgrade steps, on a test system first to verify that the upgrade can be performed successfully in your environment. 3.1. Preparing for the upgrade Important At any time before you perform the actual in-place upgrade, create a full system backup or virtual machine snapshot and perform a restore test to ensure that you can get back to a working system quickly. The instructions in this chapter correspond to the topic Preparing for the upgrade (Upgrading from RHEL 8 to RHEL 9 guide). To prepare the system, complete the following steps. Prerequisites Ensure that your system has access to required repositories and complete system-specific setup. Procedure Complete system-specific setup. Prepare non-cloud or BYOS cloud systems by executing the following steps: If you previously performed an in-place upgrade from RHEL 7 to RHEL 8, remove the /root/tmp_leapp_py3 directory if it is present on your system: # rm -rf /root/tmp_leapp_py3 Register and subscribe the system to a Red Hat repository source. If you are using Red Hat Satellite, make sure that both RHEL 8 and RHEL 9 e4s repositories are available and synchronized with the latest updates. Enable the following repos for the activation key: RHEL 8.8 - e4s repositories for RHEL 8 and for RHEL 9: rhel-8-for-x86_64-baseos-e4s-rpms rhel-8-for-x86_64-appstream-e4s-rpms rhel-8-for-x86_64-sap-netweaver-e4s-rpms rhel-8-for-x86_64-sap-solutions-e4s-rpms rhel-9-for-x86_64-baseos-e4s-rpms rhel-9-for-x86_64-appstream-e4s-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rpms rhel-9-for-x86_64-sap-solutions-e4s-rpms RHEL 8.10 - normal repositories for RHEL 8 and E4S repositories for RHEL 9: rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpms rhel-8-for-x86_64-sap-netweaver-rpms rhel-8-for-x86_64-sap-solutions-rpms rhel-9-for-x86_64-baseos-e4s-rpms rhel-9-for-x86_64-appstream-e4s-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rpms rhel-9-for-x86_64-sap-solutions-e4s-rpms Check and confirm that your RHEL 8 system has the e4s repositories enabled: RHEL 8.8 E4S repositories: # subscription-manager repos --disable='*' \ --enable="rhel-8-for-x86_64-baseos-e4s-rpms" \ --enable="rhel-8-for-x86_64-appstream-e4s-rpms" \ --enable="rhel-8-for-x86_64-sap-solutions-e4s-rpms" \ --enable="rhel-8-for-x86_64-sap-netweaver-e4s-rpms" RHEL 8.10 normal repositories: # subscription-manager repos --disable='*' \ --enable="rhel-8-for-x86_64-baseos-rpms" \ --enable="rhel-8-for-x86_64-appstream-rpms" \ --enable="rhel-8-for-x86_64-sap-solutions-rpms" \ --enable="rhel-8-for-x86_64-sap-netweaver-rpms" Remove all files cached by yum/dnf: # rm -rf /var/cache/yum On RHEL 8.8 ensure that the RHEL release lock is set to 8.8. On RHEL 8.10, ensure that no RHEL release lock is set. On RHEL 8.8 BYOS system: # subscription-manager release --set=8.8 Release set to: 8.8 On RHEL 8.10 BYOS system: # subscription-manager release --unset Prepare PAYG cloud systems on AWS, Google Cloud or Microsoft Azure by executing the following steps. Ensure that the RHEL release lock is set to the desired source OS version, for example 8.8: # rhui-set-release --set 8.8 If rhui-set-release is not available on your cloud provider, run: # echo 8.8 > /etc/yum/vars/releasever If you upgrade from RHEL 8.10, remove the version lock by removing a file /etc/yum/vars/releasever : # rm /etc/yum/vars/releasever After completing the above steps, perform the remaining steps on all systems, no matter if your system is a non-cloud, BYOS cloud, or PAYG cloud system on AWS, Google Cloud or Microsoft Azure. Stop the SAP HANA systems and stop all SAP processes. Important Do not unmount the SAP HANA file systems, as these are required for detecting if SAP HANA is installed and the version of the installed system. If your system is configured to start SAP processes automatically at boot time, disable the automatic start of SAP processes. Verify that the RHEL settings for SAP HANA are in place by checking the following: As per SAP note 2772999, the following parameter is required for SAP applications including SAP HANA and is typically set in file /etc/sysctl.d/sap.conf : vm.max_map_count = 2147483647 The same setting is required for SAP applications including SAP HANA on RHEL 9. The file /etc/sysctl.d/sap.conf might also contain: kernel.pid_max = 4194304 All other settings for SAP HANA (in file /etc/sysctl.conf and /etc/sysctl.d/sap_hana.conf ) are identical for RHEL 8 and RHEL 9 and must be left in place. For more details refer to SAP Notes 2382421 . Update your RHEL 8.* system to the desired source OS version package levels: # dnf update Reboot the system: # reboot After the system is up and running, check and confirm that no SAP HANA systems and no SAP processes are running on the system. Make sure the SAP HANA file systems are available. Install the leapp utility: # dnf install leapp-upgrade Prepare PAYG cloud instances on AWS by installing the leapp-rhui-aws-sap-e4s package: # dnf install leapp-rhui-aws-sap-e4s Prepare PAYG cloud instances on Google Cloud by downloading and installing the leapp-rhui-google-v1-rhel8-sap package, as instructed in the Leapp RHUI packages for Google Cloud Platform (GCP) document. Prepare PAYG cloud instances on Microsoft Azure by installing the leapp-rhui-azure-sap package: # dnf install leapp-rhui-azure-sap Warning If you upgrade from RHEL 8.8 to RHEL 9.2 on Azure Cloud, install a particular package version: # dnf install leapp-rhui-azure-sap-1.0.0-10.el8.noarch Temporarily disable any antivirus software. Ensure there is no configuration management system (such as Salt, Chef, Puppet, Ansible) enabled or configured to attempt to restore the original RHEL 8 system. Ensure your system does not use any Network Interface Card (NIC) with a name based on the prefix 'eth'. Refer to this KB article for more information. If your NSS (Network Security Services) database was created in RHEL 7 or earlier, verify that the database has been converted from the DBM database format to SQLite. For more information, see Updating NSS databases from DBM to SQLite . RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8. Before you upgrade, move your custom network scripts and write a NetworkManager dispatcher script that executes your existing custom scripts. For more information, see Migrating custom network scripts to NetworkManager dispatcher scripts . Make sure that you have a full backup or a virtual machine snapshot of your system. If not done already, perform a restore test of the backup to another system, to make sure that the backup can be used for a successful restore. A restore test is also useful for getting used to the required restore activities so that you can get a working system back as quickly as possible if necessary. 3.2. Reviewing the pre-upgrade report Start the pre-upgrade process by running leapp preupgrade to collect data, assess the system upgradability, and generate a pre-upgrade report for determining if the system can be upgraded. No changes are made to the system, and you can repeat this step as often as necessary until no more inhibitors are reported. Note The instructions in this chapter correspond to the topic chapter 4 - Reviewing the pre-upgrade report (Upgrading from RHEL 8 to RHEL 9 guide). The pre-upgrade process (the leapp preupgrade command) assesses your system for any potential problems you might encounter with the RHEL 8 to RHEL 9 upgrade before any changes to your system are made. This will help you determine your chances of successfully upgrading to RHEL 9 before the actual upgrade process begins. Note You can (and should) run the leapp preupgrade command multiple times if necessary to address anything that could cause problems before running the actual upgrade. The leapp preupgrade command will not perform any change to your installed system. However, once you perform an in-place upgrade on your system, the only way to get the system back is from a backup or snapshot which has been performed before the upgrade. Procedure Perform the pre-upgrade assessment: On a non-cloud or BYOS cloud system, run: # leapp preupgrade --channel e4s On a PAYG cloud instance on AWS, Google Cloud or Microsoft Azure, run: # leapp preupgrade --no-rhsm --channel e4s If any inhibitors are reported, the output file /var/log/leapp/leapp-report.txt contains all necessary information, including remediation steps, to avoid these inhibitors. Manually resolve all the reported problems before proceeding with the in-place upgrade. As mentioned before, you can repeat this step as often as necessary until no more inhibitors are reported. 3.3. Performing the upgrade Start the upgrade process by running leapp upgrade . Note The instructions in this chapter correspond to the topic chapter 5 - Performing the upgrade . With the Preupgrade Assistant assessment completed and all issues addressed, the step is to perform the actual system upgrade. Perform the following steps: Procedure Before performing the upgrade, back up all of your data to avoid potential data loss if you have not done so already. Perform a restore test to verify that the last backup was successful. Check and confirm again that no SAP HANA system and no SAP processes are running on the system. Check and confirm that the SAP HANA file systems are mounted, as a certain file located below this path is used by Leapp to detect the SAP HANA version when upgrading to RHEL 9. Check and confirm that your SAP HANA system will not be started automatically at boot time. For more information, please refer to SAP note 2315907 - Starting HANA automatically after Host has been started. Run the upgrade process: On a non-cloud or BYOS cloud system, run: # leapp upgrade --channel e4s On a PAYG cloud instance on AWS, Google Cloud or Microsoft Azure, run # leapp upgrade --no-rhsm --channel e4s After the completion of this command, a message appears which asks you to reboot the system. Reboot the system now so that it can finish the upgrade: # reboot The system boots into a RHEL 9-based initial RAM disk image (initramfs), upgrades all packages, and reboots again. This might take some time. Once all packages have been upgraded, the system automatically reboots into the RHEL 9 system. 3.4. Verifying the post-upgrade state Verify that the upgrade was successful. Note The instructions in this chapter correspond to the topic Chapter 6. Verifying the post-upgrade state (Upgrading from RHEL 8 to RHEL 9 guide). Perform the following steps: Procedure Verify that the current OS version is Red Hat Enterprise Linux 9. For example, for the upgrade from RHEL 8.8 to RHEL 9.2: # cat /etc/redhat-release Red Hat Enterprise Linux release 9.2 (Plow) Verify that the RHEL release lock is set to the desired target OS version. For example, for the upgrade from RHEL 8.8 to RHEL 9.2: On a non-cloud or BYOS cloud system: Make sure that the RHEL release lock is set to 9.2 and that all lines in /etc/yum.repos.d/redhat.repo starting with baseurl contain the string rhel9/9.2 (and not for example rhel9/8.8 ), in the URL field. Run: # subscription-manager release --set=9.2 Release set to: 9.2 On a PAYG cloud instance on AWS, Google Cloud or Azure, run: # cat /etc/dnf/vars/releasever 9.2 Verify that the system has all necessary repositories enabled: # dnf repolist On a non-cloud or BYOS cloud system, the output should contain: rhel-9-for-x86_64-appstream-e4s-rpms rhel-9-for-x86_64-baseos-e4s-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rpms rhel-9-for-x86_64-sap-solutions-e4s-rpms Disable all normal (=non-e4s) repositories. Run the following command: # subscription-manager repos \ --disable="*" \ --enable="rhel-9-for-x86_64-baseos-e4s-rpms" \ --enable="rhel-9-for-x86_64-appstream-e4s-rpms" \ --enable="rhel-9-for-x86_64-sap-solutions-e4s-rpms" \ --enable="rhel-9-for-x86_64-sap-netweaver-e4s-rpms"+* On a PAYG cloud instance on AWS, the output should contain: rhel-9-for-x86_64-appstream-e4s-rhui-rpms rhel-9-for-x86_64-baseos-e4s-rhui-rpms rhel-9-for-x86_64-highavailability-e4s-rhui-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms rhui-client-config-server-9-sap-bundle On a PAYG cloud instance on Google Cloud, the output should contain: google-cloud-sdk google-compute-engine rhui-rhel-9-for-x86_64-appstream-e4s-rhui-rpms rhui-rhel-9-for-x86_64-baseos-e4s-rhui-rpms rhui-rhel-9-for-x86_64-highavailability-e4s-rhui-rpms rhui-rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms rhui-rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms On a PAYG cloud instance on Microsoft Azure, the output should contain: rhel-9-for-x86_64-appstream-e4s-rhui-rpms rhel-9-for-x86_64-baseos-e4s-rhui-rpms rhel-9-for-x86_64-highavailability-e4s-rhui-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms rhui-microsoft-azure-rhel9-sap-ha Verify that network services are operational. For example, try to connect to the system using ssh. 3.5. Performing post-upgrade tasks Perform additional steps after you have verified the upgrade. Follow the instructions in Chapter 7. Performing post-upgrade tasks on the RHEL 9 system (Upgrading from RHEL 8 to RHEL 9 guide). 3.6. Configuring the system for SAP HANA Configure your upgraded system according to applicable SAP notes for SAP HANA on RHEL 9. After you have verified that the upgrade was successful, you must configure the system for SAP HANA according to the applicable SAP notes for RHEL 9. Procedure If you had configured your RHEL 8.* system for SAP HANA using the RHEL System Roles for SAP (package rhel-system-roles-sap , roles sap_general_preconfigure and sap_hana_preconfigure ) and if you have not done any additional modification to your system configuration, you can configure your system with the RHEL System Roles for SAP whenever required. In case you want or need to configure your system manually, the following steps will be required: Confirm that the Server environment group is installed: # dnf group list installed server+*+ [...] Installed Environment Groups: Server Verify that the packages chkconfig and compat-openssl11 are installed: # dnf list installed chkconfig compat-openssl11 [...] Installed Packages chkconfig.x86_64 1.20-2.el9 @System compat-openssl11.x86_64 1:1.1.1k-4.el9_0 @rhel-9-for-x86_64-appstream-e4s-rpms Install any of the above packages if necessary. Note Package compat-openssl11 is only required for SAP HANA scale-out installations. Verify that the service abrt-ccpp is nonexistent or disabled: # systemctl status abrt-ccpp Unit abrt-ccpp.service could not be found. If it exists and is not disabled, disable it: # systemctl disable abrt-ccpp --now After modifying your system configuration as described, reboot your system. Note For verifying that your system is configured according to the applicable SAP notes, you can run RHEL system roles sap_general_preconfigure and sap_hana_preconfigure in assert mode. Verify that your system is running with the RHEL kernel version certified for the desired OS target version, as required in SAP note 3108302 . # uname -r 5.14.0-284.25.1.el9_2.x86_64 3.7. Applying security policies Apply any necessary security policies. If your RHEL 8 system had certain security policies configured, you should apply these or similar security policies again after the upgrade. A RHEL 8 system with SELinux set to disabled will remain on this status after the upgrade to RHEL 9. A RHEL 8 system with SELinux set to enforcing will be set to permissive during the upgrade. You have to manually change it to enforcing after the upgrade. For these topics, refer to the topic chapter 8 - Applying security policies (Upgrading from RHEL 8 to RHEL 9 guide). 3.8. Verifying your SAP HANA system Verify that your SAP HANA system is operational again. After you have configured your RHEL 9.2 system for SAP HANA, you can start your SAP HANA software and run any necessary verification steps to ensure that your SAP HANA system is fully operational again. As mentioned before, this should include functional as well as performance testing of your most important business transactions.

Commands:
rm -rf /root/tmp_leapp_py3
rhel-8-for-x86_64-baseos-e4s-rpms rhel-8-for-x86_64-appstream-e4s-rpms rhel-8-for-x86_64-sap-netweaver-e4s-rpms rhel-8-for-x86_64-sap-solutions-e4s-rpms rhel-9-for-x86_64-baseos-e4s-rpms rhel-9-for-x86_64-appstream-e4s-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rpms rhel-9-for-x86_64-sap-solutions-e4s-rpms
rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpms rhel-8-for-x86_64-sap-netweaver-rpms rhel-8-for-x86_64-sap-solutions-rpms rhel-9-for-x86_64-baseos-e4s-rpms rhel-9-for-x86_64-appstream-e4s-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rpms rhel-9-for-x86_64-sap-solutions-e4s-rpms
subscription-manager repos --disable='*' --enable="rhel-8-for-x86_64-baseos-e4s-rpms" --enable="rhel-8-for-x86_64-appstream-e4s-rpms" --enable="rhel-8-for-x86_64-sap-solutions-e4s-rpms" --enable="rhel-8-for-x86_64-sap-netweaver-e4s-rpms"
subscription-manager repos --disable='*' --enable="rhel-8-for-x86_64-baseos-rpms" --enable="rhel-8-for-x86_64-appstream-rpms" --enable="rhel-8-for-x86_64-sap-solutions-rpms" --enable="rhel-8-for-x86_64-sap-netweaver-rpms"
rm -rf /var/cache/yum
subscription-manager release --set=8.8 Release set to: 8.8
subscription-manager release --unset
rhui-set-release --set 8.8
echo 8.8 > /etc/yum/vars/releasever
rm /etc/yum/vars/releasever
vm.max_map_count = 2147483647
kernel.pid_max = 4194304
dnf update
reboot
dnf install leapp-upgrade
dnf install leapp-rhui-aws-sap-e4s
dnf install leapp-rhui-azure-sap
dnf install leapp-rhui-azure-sap-1.0.0-10.el8.noarch
leapp preupgrade --channel e4s
leapp preupgrade --no-rhsm --channel e4s
leapp upgrade --channel e4s
leapp upgrade --no-rhsm --channel e4s
reboot
cat /etc/redhat-release Red Hat Enterprise Linux release 9.2 (Plow)
subscription-manager release --set=9.2 Release set to: 9.2
cat /etc/dnf/vars/releasever 9.2
dnf repolist
rhel-9-for-x86_64-appstream-e4s-rpms rhel-9-for-x86_64-baseos-e4s-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rpms rhel-9-for-x86_64-sap-solutions-e4s-rpms
subscription-manager repos --disable="*" --enable="rhel-9-for-x86_64-baseos-e4s-rpms" --enable="rhel-9-for-x86_64-appstream-e4s-rpms" --enable="rhel-9-for-x86_64-sap-solutions-e4s-rpms" --enable="rhel-9-for-x86_64-sap-netweaver-e4s-rpms"+*
rhel-9-for-x86_64-appstream-e4s-rhui-rpms rhel-9-for-x86_64-baseos-e4s-rhui-rpms rhel-9-for-x86_64-highavailability-e4s-rhui-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms rhui-client-config-server-9-sap-bundle
google-cloud-sdk google-compute-engine rhui-rhel-9-for-x86_64-appstream-e4s-rhui-rpms rhui-rhel-9-for-x86_64-baseos-e4s-rhui-rpms rhui-rhel-9-for-x86_64-highavailability-e4s-rhui-rpms rhui-rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms rhui-rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms
rhel-9-for-x86_64-appstream-e4s-rhui-rpms rhel-9-for-x86_64-baseos-e4s-rhui-rpms rhel-9-for-x86_64-highavailability-e4s-rhui-rpms rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms rhui-microsoft-azure-rhel9-sap-ha
dnf group list installed server+*+ [...] Installed Environment Groups: Server
dnf list installed chkconfig compat-openssl11 [...] Installed Packages chkconfig.x86_64 1.20-2.el9 @System compat-openssl11.x86_64 1:1.1.1k-4.el9_0 @rhel-9-for-x86_64-appstream-e4s-rpms
systemctl status abrt-ccpp Unit abrt-ccpp.service could not be found.
systemctl disable abrt-ccpp --now
uname -r 5.14.0-284.25.1.el9_2.x86_64