Chapter 3. Preparing for the upgrade
To prevent issues after the upgrade and to ensure that your system is ready to be upgraded to the next major version of RHEL, complete all necessary preparation steps before upgrading.
You must perform the preparation steps described in Preparing a RHEL 8 system for the upgrade on all systems. In addition, on systems that are registered to Satellite Server, you must also perform the preparation steps described in Preparing a Satellite system for the upgrade.
3.1. Preparing a RHEL 8 system for the upgrade
This procedure describes the steps that are necessary before performing an in-place upgrade to RHEL 9 using the
If you do not plan to use Red Hat Subscription Manager (RHSM) during the upgrade process, follow instructions in Upgrading to RHEL 9 without Red Hat Subscription Manager.
- The system meets conditions listed in Planning an upgrade.
If you previously performed an in-place upgrade from RHEL 7 to RHEL 8, remove the
/root/tmp_leapp_py3directory if it is present on your system:
# rm -rf /root/tmp_leapp_py3Important
/root/tmp_leapp_py3directory is present on your system when you perform the upgrade, the system might break following the upgrade.
- Ensure your system has been successfully registered to the Red Hat Content Delivery Network (CDN) or Red Hat Satellite using the Red Hat Subscription Manager.
- If your system is registered to Satellite Server, complete the steps in Preparing a Satellite system for the upgrade to ensure that your system meets the requirements for the upgrade.
Verify that you have the Red Hat Enterprise Linux Server subscription attached. For example:
# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ Product Name: Red Hat Enterprise Linux x86_64 Product ID: 479 Version: 8.6 Arch: x86_64 Status: Subscribed
Ensure you have appropriate repositories enabled. The following command enables the Base and Appstream repositories for the 64-bit Intel architecture; for other architectures, see RHEL 8 repositories.
# subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms --enable rhel-8-for-x86_64-appstream-rpms
For systems subscribed using RHSM, lock the system to RHEL 8.6:
# subscription-manager release --set 8.6
- Optional: If you want to use custom repositories, configure them per instructions in Configuring custom repositories.
If you use the
dnf versionlockplug-in to lock packages to a specific version, clear the lock by running:
# dnf versionlock clear
See How to restrict dnf to install or upgrade a package to a fixed specific package version? for more information.
If you are upgrading using Red Hat Update Infrastructure (RHUI) on AWS, enable required RHUI repositories and install required RHUI packages to ensure your system is ready for upgrade:
# dnf config-manager –set-enabled rhui-client-config-server-8 # dnf -y install rh-amazon-rhui-client-ha leapp-rhui-aws
Update all packages to the latest RHEL 8 version:
# dnf update
Reboot the system:
# dnf install leapp-upgrade
Note that currently you need version 0.14.0 or later of the
leapppackage and version 0.16.0 or later of the
If your system does not have internet access, you can download the Preupgrade Assistant and Red Hat Upgrade Tool from the Red Hat Customer Portal.
Ensure you have access to the latest version of additional required data files, including RPM package changes, RPM repository mapping, and unsupported drivers and devices.
- If you are using RHSM for the upgrade, the system has access to cloud.redhat.com, and you have not downloaded an earlier version of the required data files, no further action is required from you. The data files are automatically downloaded from cloud.redhat.com. This also applies to developer subscriptions.
Download the data files attached to the Knowledgebase article Leapp utility metadata in-place upgrades of RHEL for disconnected upgrades and place them in the
/etc/leapp/files/directory. Note that currently you need data files from the
leapp-data17.tar.gzarchive or later. This is necessary for a successful upgrade in the following scenarios:
- You are upgrading on a public cloud using RHUI. If you do not have a Red Hat subscription or Red Hat Customer Portal account, create a no-cost RHEL developer subscription so that you can access the Knowledgebase article and download required data packages. For more information, see How do I get a no-cost Red Hat Enterprise Linux Developer Subscription or renew it?
- Your system does not have internet access.
- You are using RHSM for the upgrade and you previously downloaded an older version of the required data files but did not perform the upgrade, for example to create automated scripts. You can also delete your older version of the data files to initiate the automatic download of the latest file version.
- Temporarily disable antivirus software to prevent the upgrade from failing.
Ensure that any configuration management system does not interfere with the in-place upgrade process:
If you use a configuration management system with a client-server architecture, such as Puppet, Salt, or Chef, disable the system before running the
leapp preupgradecommand. Do not enable the configuration management system until after the upgrade is complete to prevent issues during the upgrade.
If you use a configuration management system with agentless architecture, such as Ansible, do not execute the configuration and deployment file, such as an Ansible playbook, during the in-place upgrade as described in Performing the upgrade from RHEL 8 to RHEL 9.
Automation of the pre-upgrade and upgrade process using a configuration management system is not supported by Red Hat. For more information, see Using configuration management systems to automate parts of the Leapp pre-upgrade and upgrade process on Red Hat Enterprise Linux.
- If you use a configuration management system with a client-server architecture, such as Puppet, Salt, or Chef, disable the system before running the
Ensure your system does not use more than one Network Interface Card (NIC) with a name based on the prefix used by the kernel (
eth). For instructions on how to migrate to another naming scheme before an in-place upgrade to RHEL 9, see How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7. The process for migrating naming schemes is the same for both the RHEL 7 to RHEL 8 upgrade and the RHEL 8 to RHEL 9 upgrade.
- If your NSS 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-scriptspackage that was deprecated in RHEL 8. Before you can 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.
- Ensure you have a full system backup or a virtual machine snapshot. You should be able to get your system to the pre-upgrade state if you follow standard disaster recovery procedures within your environment. For example, you can use the Relax-and-Recover (ReaR) utility. For more information, see the ReaR documentation and What is Relax and Recover (ReaR) and how can I use it for disaster recovery?. Alternatively, you can use LVM snapshots, or RAID splitting. In case of upgrading a virtual machine, you can create a snapshot of the whole VM.
3.2. Preparing a Satellite system for the upgrade
This procedure describes the steps that are necessary to prepare a system that is registered to Satellite for the upgrade to RHEL 9. There steps are performed on the Satellite Server.
Users on Satellite systems must complete the preparatory steps described both in this procedure and in Preparing a RHEL 8 system for the upgrade.
- You have administrative privileges for the Satellite Server.
- Verify that Satellite is on a version in full or maintenance support. For more information, see Red Hat Satellite Product Life Cycle.
- Import a subscription manifest with RHEL 9 repositories into Satellite Server. For more information, see the Managing Subscriptions chapter in the Content Management Guide for the particular version of Red Hat Satellite, for example, for version 6.10.
Enable and synchronize all required RHEL 8 and RHEL 9 repositories with the latest updates for RHEL 8.6 and RHEL 9.0.Note
For RHEL 9 repositories, make sure to enable version 9.0 of each repository. If you have enabled only the RHEL 9 version of the repositories, the in-place upgrade is inhibited.
For example, for the Intel architecture without an Extended Update Support (EUS) subscription, enable at minimum the following repositories:
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
Attach the content host to a Content View containing the required RHEL 8 and RHEL 9 repositories.
Verify that the latest RHEL 8 repositories have been enabled on Satellite Server. For example, to verify repositories in the Library lifecycle environment:
# hammer repository list --search 'content_label ~ rhel-9' --content-view <content_view_name> --organization <organization> --lifecycle-environment Library
Replace content_view_name with the name of the content view, and organization with the organization.