Technically Speaking

The Official Bigstep Blog

 

Testing ELevate (new CentOS upgrade tool) on Bigstep Metal Cloud

The developers of the AlmaLinux project have recently released a CentOS upgrade tool, named ELevate, that allows upgrades between RHEL-based distributions from 7.x to 8.x. In this blog post we will test it on Bigstep Metal Cloud, a bare metal dedicated server, and see if it works and can be used in a production environment.

Besides the feature of upgrading between major versions of RHEL-based distributions from 7.x to 8.x, another great feature is the option to upgrade a CentOS 7 system to four different open-source alternatives of RHEL 8: CentOS Stream 8, AlmaLinux 8, Rocky Linux 8, or Oracle Linux 8.

Testing ELevate (new CentOS upgrade tool) on Bigstep Metal Cloud

Some Linux distributions, such as Ubuntu, include a tool that allows upgrades between major versions. Red Hat Enterprise Linux (RHEL) also offers a similar tool, known as Leapp. These upgrade frameworks are not flawless and manual tweaks are usually required afterwards, but they are still very useful to keep systems up to date.

The widely used CentOS distribution, which is a binary clone of RHEL, never included Leapp, so upgrades were not possible. While some users have found manual ways to migrate to the next major version, these were very complex and risky, usually causing major errors in the end. This has always been a major problem for system administrators, since the only safe way to move from CentOS 6 to 7 for example was to reinstall the operating system and then transfer the data, which is a very time-consuming task.

Enter ELevate

ELevate is based on RHEL’s Leapp, using a library created by the AlmaLinux team, and claims to allow upgrades between major versions of RHEL-based distributions from 7.x to 8.x. Another great feature is the option to upgrade a CentOS 7 system to four different open-source alternatives of RHEL 8: CentOS Stream 8, AlmaLinux 8, Rocky Linux 8 or Oracle Linux 8.

It almost sounds too good to be true, so in this blog post we will test ELevate and see if it works and if it can be used in a production environment.

Initial configuration

For testing purposes, we will provision a bare metal server with 8 CPU threads, 32 GB RAM and a 100GB SSD disk on Bigstep’s Metal Cloud platform.

A fully upgraded CentOS 7 is required before starting the migration process, so the first step is to make sure that the server is updated:

yum -y update
reboot

The server should now run the latest CentOS 7 minor version (which is 7.9 at the moment) and the newest packages.

Installing ELevate

After rebooting the server, install the ELevate repository and GPG key:

yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

You will now have to choose the distribution to upgrade to, and the related package. There are four possible options:

  • leap-data-almalinux
  • leapp-data-centos
  • leapp-data-oraclelinux
  • leapp-data-rocky

In this example, we will upgrade a CentOS 7 system to Oracle Linux 8, so the packages are installed with this command:

yum install -y leapp-upgrade leapp-data-oraclelinux

The upgrade procedure

We can now start a pre-upgrade check, which verifies server compatibility without any actual changes:

leapp preupgrade

The check will always fail, but don’t worry, that is normal because some tweaks are required in advance. It will generate a report and sometimes an answer file, you will have to answer the questions and fix the identified issues to proceed.

While it is highly recommended to review the entire /var/log/leapp/leapp-report.txt file, only three changes are mandatory, according to the official documentation. You can apply the required changes with these commands (if you run the last one, manual editing the answer file is no longer needed):

rmmod pata_acpi

echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config

leapp answer --section remove_pam_pkcs11_module_check.confirm=True

However, depending on your system configuration, other upgrade inhibitors might be identified as well. The report also provides remediation hints and additional details.

Funny enough, the report also lists the presence of the Leapp packages ad a high-risk issue, which can of course be ignored.

You can now start the upgrade itself:

leapp upgrade

The script will run for some time and then a system reboot is required.

After rebooting, the server will be upgraded to the chosen operating system (Oracle Linux 8 in our case). You can check the current version with one of these commands:

cat /etc/redhat-release

cat /etc/os-release

Conclusions

ELevate seems to be a functional tool and a great asset for CentOS system administrators, especially considering that it will continue to be developed with new features.

Keep in mind however that our test was performed on a fresh system, with no critical applications. Before upgrading a production system, it is highly recommended to run ELevate first on an identical development machine and make sure that all services and apps function properly on the new version. Also, make sure that you always have a full backup before starting a risky operation.

If you have any questions about the upgrade process, please contact us and our system administrators will be happy to help.

Our team in your service

Our experts will take care of such tasks and keep your systems up to date so you can maintain focus on innovating your business instead of worrying about your IT infrastructure. Trust Bigstep Advanced Managed Services to provide you with specialized knowledge at a fraction of the cost of hiring a specialist internally. With this service, our team of specialized DevOps engineers take care of everything, from maintenance and troubleshooting to upgrades and security patches. 

With our ongoing offer, you get up to 50% discount on the purchased bare metal dedicated servers as well! Learn more about our services and offer here.

Got a question? Need advice? We're just one click away.
Sharing is caring:TwitterFacebookLinkedinPinterestEmail

Readers also enjoyed:

Bigstep Is Now a cPanel Certified Partner

We are proud to announce that we have officially become a cPanel Certified Partner, as part of our continuous efforts to provide the highest level of…

Building the Fastest Wordpress Stack: 2021 Edition

Two years ago I’ve written an article on how to build the fastest stack for Wordpress. It has attracted considerable interest and people continue to ask…

Leave a Reply

Your email address will not be published.

* Required fields to post your comments.
Please review our Privacy Notice in order to understand how we process your personal data and what are your rights in this respect.