keepcalculator

06 Numbers and Powers

RHEL 7 to RHEL 8 Upgrade: What You Need to Know

Card No. 06·67998 · Updated · Standard formula, shown below

The direct answer: you cannot perform an in-place upgrade from RHEL 7 to RHEL 9, and even the RHEL 7-to-8 path is limited and requires a clean install in most cases. Red Hat officially supports upgrading from RHEL 7.9 to RHEL 8 using the Leapp utility, but there is no supported path from RHEL 7 directly to RHEL 9—you must go through RHEL 8 first, or do a fresh installation.

Why the Upgrade Path Matters

RHEL 7 reached its end of maintenance support on June 30, 2024. After that date, no new bug fixes, security patches, or hardware enablement are provided unless you purchase Extended Lifecycle Support (ELS), which is expensive and limited. Staying on RHEL 7 means your systems are exposed to known vulnerabilities that Red Hat will not patch. Upgrading to a supported release like RHEL 8 or 9 is essential for security compliance and to keep receiving updates.

RHEL 8 itself is in its maintenance support phase until 2029, while RHEL 9 is the current major release with full support until 2032. Many organizations are now planning their move from RHEL 7 directly to RHEL 9, but the technical reality is that Red Hat only provides an in-place upgrade path from 7 to 8. To reach RHEL 9, you either perform a two-step upgrade (7 → 8 → 9) or do a fresh installation of RHEL 9 and migrate your workloads.

What the In-Place Upgrade Actually Does

Red Hat’s supported in-place upgrade tool is Leapp, which was introduced in RHEL 7.9. Leapp analyzes your system for potential blockers, prepares the environment, and then replaces the OS packages while preserving your configuration, applications, and data. The process involves several phases:

  • Pre-upgrade check: Leapp scans for incompatible software, deprecated settings, and missing requirements.
  • Upgrade execution: The system reboots into a special upgrade environment, applies the new packages, and reboots again.
  • Post-upgrade verification: You check logs, verify services, and fix any remaining issues.

Leapp is only officially supported for RHEL 7.9 to RHEL 8. There is no Leapp-based upgrade from RHEL 7 to RHEL 9. Red Hat has not provided that path because the differences between the two major versions are too large—especially in system libraries, the kernel, and the default filesystem (XFS vs. ext4).

How to Choose Between In-Place and Fresh Install

For most production environments, a fresh installation is the safer and more predictable approach. Here’s how to decide:

  • Choose in-place upgrade (7→8) if: you have a simple, well-documented server with few custom packages, and you can afford downtime for testing. Leapp works best on minimal installs.
  • Choose fresh install if: you have complex applications, custom kernels, proprietary drivers, or a large number of servers. A fresh install lets you start clean, avoid legacy configuration, and deploy on the latest hardware.
  • Choose two-step upgrade (7→8→9) if: you absolutely need to keep the existing system state and are willing to test both upgrades thoroughly. This doubles the effort and risk.

In practice, most organizations prefer a fresh install for major version jumps because it eliminates unknown configuration drift and makes rollback easier (just switch back to the old server).

Common Problems and How to Avoid Them

The most frequent issues during RHEL 7 to 8 upgrades are:

  • Third-party modules: Kernel modules from vendors (like security agents or storage drivers) often break because the kernel API changed. Check with each vendor for RHEL 8-compatible versions before upgrading.
  • Package conflicts: Leapp may fail if you have packages from EPEL or other repositories that are not compatible with RHEL 8. Remove or update them first.
  • Application incompatibility: Python 2 is removed in RHEL 8 (Python 3 only), and many older scripts and tools rely on Python 2. Rewrite or containerize them.
  • Firewall and network changes: RHEL 8 uses nftables instead of iptables by default. Custom firewall rules may need to be rewritten.
  • Disk space: The upgrade requires at least 5 GB of free space in /var and /usr, plus enough for the new packages. Check with df -h and expand if needed.

Always run the Leapp pre-upgrade check (leapp preupgrade) and address every reported issue before attempting the actual upgrade.

Costs and Subscription Considerations

Upgrading to a newer RHEL version requires an active Red Hat subscription. The cost depends on your subscription tier (Self-Support, Standard, or Premium) and the number of systems. RHEL 7 ELS is an add-on that costs extra, so moving to RHEL 8 or 9 may actually reduce long-term costs. However, you need to ensure your subscription covers the new version—Red Hat does not automatically grant access to newer releases; you must update your subscription entitlements.

If you are using a free developer subscription, you can upgrade to RHEL 8 or 9 at no cost, but that subscription is limited to 16 systems and is intended for development only, not production.

Alternatives to Upgrading

If an upgrade is not feasible, consider these alternatives:

  • Rebuild on RHEL 9: Reinstall the OS and re-deploy your applications using configuration management (Ansible, Puppet) or containers.
  • Use containers: Run your legacy applications in containers on a newer RHEL host. This isolates the old dependencies and allows you to modernize the host OS.
  • Migrate to a different distribution: Some organizations switch to AlmaLinux or Rocky Linux, which are binary-compatible with RHEL and offer similar upgrade tools. However, this is not an official Red Hat path and may affect support.
  • Stay on RHEL 7 with ELS: For a short period, you can purchase ELS to get security patches, but this is only a temporary measure and does not provide new features or hardware support.

Frequently Asked Questions

Can I upgrade from RHEL 7 to RHEL 9 directly?

No. Red Hat does not provide a supported in-place upgrade path from RHEL 7 to RHEL 9. You must first upgrade to RHEL 8 using Leapp, then upgrade from RHEL 8 to RHEL 9 (also using Leapp), or perform a fresh installation of RHEL 9.

Is the Leapp upgrade safe for production?

Leapp is officially supported by Red Hat for RHEL 7.9 to RHEL 8, but it is not without risk. It is critical to back up your system, test on a clone, and run the pre-upgrade checks. Many production environments have succeeded, but the more customized the system, the higher the chance of issues.

What happens to my applications after the upgrade?

Most applications that run on RHEL 7 will run on RHEL 8, but some may need updates. Applications compiled for older libraries may break, and anything relying on Python 2 will not work. You should test every application in a staging environment before upgrading production.

How long does the upgrade take?

The Leapp upgrade process itself typically takes 30–60 minutes per server, but the total time depends on the number of packages, disk speed, and whether you need to fix pre-upgrade issues. Planning, testing, and post-upgrade validation can take days or weeks.

Do I need to buy a new subscription for RHEL 8?

Yes, you need a subscription that includes RHEL 8. If you have an active RHEL 7 subscription, you may be able to convert it to RHEL 8, but that depends on your agreement. Contact Red Hat or your reseller to confirm.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →