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 7 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-registered system for the upgrade.
3.1. Preparing a RHEL 7 system for the upgrade
This procedure describes the steps that are necessary before performing an in-place upgrade to RHEL 8 by using the Leapp utility.
If you do not plan to use Red Hat Subscription Manager during the upgrade process, follow instructions in Upgrading to RHEL 8 without Red Hat Subscription Manager.
Prerequisites
- Ensure your system has been successfully registered to the Red Hat Content Delivery Network (CDN) or Red Hat Satellite by using the Red Hat Subscription Manager.
- If your system is registered to Satellite Server, complete the steps in Preparing a Satellite-registered system for the upgrade to ensure that your system meets the requirements for the upgrade.
- Verify that the system is subscribed using subscription-manager:
- If your system is registered by using an account with Simple Content Access (SCA) enabled, verify that the Content Access Mode is set to Simple Content Access message appears:
# subscription-manager status +-------------------------------------------+ System Status Details +-------------------------------------------+ Overall Status: Disabled Content Access Mode is set to Simple Content Access. This host has access to content, regardless of subscription status. System Purpose Status: Disabled
# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ Product Name: Red Hat Enterprise Linux Server Product ID: 69 Version: 7.9 Arch: x86_64 Status: Subscribed
# subscription-manager repos --enable rhel-7-server-rpms
# subscription-manager repos --enable rhel-7-server-extras-rpms
Optionally, you can enable the Optional (also known as CodeReady Linux Builder) or Supplementary repositories. For more information about repository IDs, see the Optional and Supplementary repositories list in RHEL 7 repositories. For more information about the content of these repositories, see The CodeReady Linux Builder repository and The Supplementary repository.
# subscription-manager release --unset
# yum versionlock clear
# yum-config-manager --enable rhui-client-config-server-7 # yum-config-manager --enable rhel-7-server-rhui-extras-rpms # yum -y install rh-amazon-rhui-client leapp-rhui-aws
# yum-config-manager --enable rhui-microsoft-azure-rhel7 # yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms # yum -y install rhui-azure-rhel7 leapp-rhui-azure
If you locked the Azure virtual machine (VM) to a minor release, remove the version lock. For more information, see Switch a RHEL 7.x VM back to non-EUS.
# yum install leapp-upgrade
Note that currently you need version 0.15.1 or later of the leapp package and version 0.18.0 or later of the leapp-repository package, which contains the leapp-upgrade-el7toel8 RPM package.
If your system does not have internet access, download the following packages from the Red Hat Customer Portal:
- leapp
- leapp-deps
- python2-leapp
- leapp-upgrade-el7toel8
- leapp-upgrade-el7toel8-deps See the How to install leapp packages on an offline system for RHEL 7.9 to RHEL 8.X upgrade? Knowledgebase article for more information.
If you are using RHEL 7.6 for IBM POWER 9 (little endian) or IBM Z (structure A) architectures, follow the Leapp data snapshots for an in-place upgrade Knowledgebase article instead.
- 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 preupgrade command. 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 7 to RHEL 8. 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.
3.2. Preparing a Satellite-registered 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 8.
Note If you plan to upgrade the Satellite system itself, follow the procedure described in Upgrading Satellite or Capsule to Red Hat Enterprise Linux 8 In-Place Using Leapp.
Users on Satellite systems must complete the preparatory steps described both in this procedure and in Preparing a RHEL 7 system for the upgrade.
Prerequisites
- 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 8 repositories into Satellite Server. For more information, see the Managing Red Hat Subscriptions chapter in the Managing Content Guide for the particular version of Red Hat Satellite, for example, for version 6.12.
- Enable and synchronize all required RHEL 7 and RHEL 8 repositories on the Satellite Server with the latest updates for RHEL 7.9 and the target OS version, for example RHEL 8.6. Required repositories must be available in the Content View and enabled in the associated activation key.
For RHEL 8 repositories, enable the target OS version of each repository, for example, 8.6. If you enable only the RHEL 8 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 7 Server (RPMs) rhel-7-server-rpms x86_64 7Server or x86_64 7.9
- Red Hat Enterprise Linux 7 Server — Extras (RPMs) rhel-7-server-extras-rpms x86_64
- Red Hat Enterprise Linux 8 for x86_64 — AppStream (RPMs) rhel-8-for-x86_64-appstream-rpms x86_64
- Red Hat Enterprise Linux 8 for x86_64 — BaseOS (RPMs) rhel-8-for-x86_64-baseos-rpms x86_64 Replace target_os_version with the target OS version, for example 8.6. For other architectures, see RHEL 7 repositories and RHEL 8 repositories. For more information, see the Importing Content chapter in the Managing Content Guide for the particular version of Red Hat Satellite, for example, for version 6.12.
Verification
- Verify that the correct RHEL 7 and RHEL 8 repositories have been added to the correct Content View on Satellite Server.
- In the Satellite web UI, navigate to Content > Lifecycle > Content Views and click the name of the Content View.
- Click the Repositories tab and verify that the repositories appear correctly.
You can also verify that the repositories have been added to the Content View using the following commands:
# hammer repository list --search 'content_label ~ rhel-7' --content-view --organization --lifecycle-environment # hammer repository list --search 'content_label ~ rhel-8' --content-view --organization --lifecycle-environment
Replace with the name of the Content View, with the organization, and > with the name of the lifecycle environment..
- In Satellite web UI navigate to Content > Lifecycle > Activation Keys and click the name of the activation key.
- Click the Repository Sets tab and verify that the statuses of the required repositories are Enabled .
# subscription-manager repos --list-enabled | grep "^Repo ID" Repo ID: rhel-7-server-extras-rpms Repo ID: rhel-7-server-rpm
Chapter 2. Planning an upgrade
The IBM POWER 9 (little endian) and 64-bit IBM Z (Structure A) architectures have reached end of life. The final upgrade path for these architectures is from RHEL 7.6 to RHEL 8.4. Later releases to the in-place upgrade, including new upgrade paths, features, and bug fixes, will not include these architectures.
- Before the upgrade, define the security standard your system needs to comply with and understand the security changes in RHEL 8.
- During the upgrade process, the Leapp utility sets SELinux mode to permissive.
- In-place upgrades of systems in Federal Information Processing Standard (FIPS) mode cannot be fully automated by Leapp . If your scenario requires upgrading RHEL 7 systems running in FIPS mode , you must:
To ensure that all cryptographic keys conform to the FIPS 140-2 standard, start a new installation in FIPS mode instead of performing an in-place upgrade of an already deployed system. Use the following steps only if the security policy of your company allows this alternative upgrade process and if you can ensure the regeneration and reevaluation of all cryptographic keys on the upgraded system.
- Disable FIPS mode in RHEL 7.
- Upgrade the system using Leapp . You must follow the pre-upgrade, upgrade, and post-upgrade instructions as in any other in-place upgrade.
- Enable FIPS mode in RHEL 8. See Switching the system to FIPS mode in the RHEL 8 Security hardening document for details.
- Re-generate cryptographic keys on your system. See Appendix C, Locations of cryptographic keys in RHEL 8 for more information.
File systems formats are intact. As a result, file systems have the same limitations as when they were originally created.
- Encryption of the whole disk or a partition, or file-system encryption currently cannot be used on a system targeted for an in-place upgrade.
- No network-based multipath and no kind of network storage mount can be used as a system partition (for example, iSCSI, or NFS).
- The in-place upgrade is currently unsupported for on-demand PAYG instances on the remaining public clouds (Huawei Cloud, Alibaba Cloud) that use Red Hat Update Infrastructure but not RHSM for a RHEL subscription.
- The in-place upgrade is not supported for systems with Ansible Tower installed. Instead, follow instructions in the How do I migrate my Ansible Tower installation from RHEL7 to RHEL8 Knowledgebase solution.
Additional resources