Issue
The article introduces the ELevate project, describes its main peculiarities and requirements, and covers frequently asked questions.
Environment
- CloudLinux OS 7
- CloudLinux OS 8
- No control panel/custom panel system
- cPanel
Solution
About
The ELevate project is an initiative to support migrations between major versions of RHEL derivatives.
The CloudLinux Elevate variant, built on top of the AlmaLinux ELevate project, aims to provide a streamlined method of upgrading CloudLinux 7.X systems to CloudLinux 8.X in place.
The Leapp utility is the main tool used to perform the upgrade.
NB! We strongly recommend all the ELevate operations to be performed by a system administrator or DevOps with the required expertise level: advanced. |
NB! It is highly recommended to ensure you have a backup and/or a snapshot of your system before proceeding with the upgrade. Ideally, perform a trial run in a sandbox to verify that migration functions as expected before you attempt to migrate a system. |
Supported Operating Systems and Control Panels
Migrating from CloudLinux 7.X to CloudLinux 8.X on no-panel systems and cPanel is supported.
Disclaimer
We disclaim responsibility for incorrect or improper use of the tool. The support team will not be able to provide you with the services if all the steps described in the documentation were not followed or followed improperly. Or a converted server had an unsupported control panel.
According to the Support Policy, the Support Team is not responsible for providing support for any third-party utilities which might not function after the upgrade. For example, web servers, DNS servers, mail servers, database servers, and other utilities that do not belong to the CloudLinux product line.
The ELevate project only supports a subset of package repositories it's aware of. It doesn't support external repositories that aren't present in its list of vendors. Packages from repositories Leapp is unaware of will not be upgraded.
- This might cause your utilities and services to stop working after the update.
- This might cause your utilities and services to stop working on the post-upgrade machine.
NB! In particular, machines with unsupported control panels are highly likely to encounter problems after the upgrade. |
CloudLinux does not provide support related to integrating third-party repositories or packages into the upgrade process. However, you can add the aforementioned components to the Leapp database yourself. Please check the Third-party integration section in the linked README for instructions on integrating external repositories.
Video
F.A.Q.
- Is it ready for production use?
Not entirely.
While the ELevate project and its surrounding ecosystem are mature, support for CloudLinux has been introduced quite recently and as such, it hasn't been thoroughly tested and verified yet.
In particular, systems with configurations and packages that substantially differ from a typical CloudLinux OS 7 installation could encounter issues that have not been experienced before.
- Can it break something on my system?
Yes.
A full system upgrade is an inherently invasive procedure. In some cases, due to different system configurations, package errors, or even power failures, you may encounter issues during the upgrade process that can't be automatically recovered from.
Said issues may be severe, up to and including rendering the system completely inaccessible.
To that end, it's highly recommended to never run ELevate on a system without a backup ready.
Ideally, you'd like to perform a trial run in a disposable environment (like a VM or a sandbox) to verify that migration functions as expected before you attempt to migrate a system.
- Will it upgrade everything I have on my system?
It depends. It's possible that ELevate will not upgrade some software, especially one that isn't related to CloudLinux or a supported panel.
The ELevate project only supports a subset of package repositories it's aware of – that is, package repositories that are included in its configuration files.
Packages from repositories Leapp is unaware of will not be upgraded.
It's possible to add missing repositories and packages to ELevate yourself if you're so inclined. Please check the Contribution Section for more information on how to do so.
- Will it interrupt my server's functionality?
Yes.
One of the major steps of the upgrade process involves rebooting into a special initramfs
environment, from which your system's software will be upgraded. During that period of time, the system will be mostly non-functional and inaccessible.
This stage may take up to an hour, so schedule the upgrade accordingly.
During the preparation stages - that is, when the upgrade process is first initiated and before the system is rebooted - the system's services will function normally.
CloudLinux 7 no panel/custom panel and cPanel upgrade scenarios behave somewhat differently during the preparation stage. The cPanel scenario will disable the site functionality from this stage up until completion, while the no-panel/custom panel scenario will not.
- How long does it take?
Depending on the amount and size of the packages that need to be updated, the upgrade process may take a long time, up to several hours. This time also varies with the machine's resources and the speed of the internet connection.
If the machine remains unresponsive for more than 2 hours after rebooting, assume the upgrade process failed during the post-reboot phase.
- How do I use it?
Depending on the web panel you have installed on your system, the upgrade process will require different steps.
At the moment, ELevate migration from CloudLinux 7 to CloudLinux 8 is supported on the following:
- no panel/custom panel systems
- cPanel systems
- I have a CloudLinux 7 system with no web panel/a custom web panel installed, how do I upgrade to CloudLinux 8?
In such a case, you can upgrade through the Leapp tool directly.
Please refer to the CloudLinux 7 with no panel/custom panel ELevate Scenario for step-by-step instructions.
- I have a CloudLinux 7 system with cPanel installed, how do I upgrade to CloudLinux 8?
With cPanel present on the machine, you should run the upgrade process through the elevate-cpanel
tool.
Please refer to the CloudLinux 7 with cPanel ELevate Scenario for step-by-step instructions.
- I have a CloudLinux 7 system with DirectAdmin/Plesk/another panel installed, how do I upgrade to CloudLinux 8?
Unfortunately, CloudLinux ELevate doesn't support these system configurations yet.
Instead, you can create a new machine with CloudLinux 8 and migrate your system's license and configuration to it.
Please refer to the following documentation links for instructions on how to do so:
- How to Backup & Migrate All CloudLinux Settings to Another Server
- How to Restore PHP Selector Options
- How to obtain activation keys, register and migrate servers
- I ran into a problem during the upgrade process, what should I do?
Please check the Troubleshooting section of the documentation.
- The Troubleshooting section doesn't have an issue that I'm having. What now?
Please contact the CloudLinux Support with a description of your issue. When filing an issue, include:
- Steps to reproduce the issue
- All files in the
/var/log/leapp
/var/lib/leapp/leapp.db
- journalctl
- Also, you can provide other helpful materials (e.g. storage info)
For your convenience, you can pack all logs with the following command:
tar -czf leapp-logs.tgz /var/log/leapp /var/lib/leapp/leapp.db
Then you may attach only the leapp-logs.tgz
file.
Before gathering data, if possible, re-run the leapp command that encountered an issue with the --debug
flag, e.g.: leapp upgrade --debug
.
- How to check the current status?
You can check the current status of the elevation process by running the following command:
/scripts/elevate-cpanel --status
- How to check the log?
The main log from the /scripts/elevate-cpanel
can be read by running the following command:
/scripts/elevate-cpanel --log
- Where to find detailed Leapp logs?
If you need more details about why a Leapp process failed, you can access detailed logs at:
/var/log/leapp/leapp-report.txt
/var/log/leapp/leapp-report.json
/var/log/leapp/leapp-upgrade.log
- How to continue the elevation process after an error?
After addressing the reported issues, you can continue an existing elevation process by running the following command:
/scripts/elevate-cpanel --continue
- Do I need IPMI/VNC access to the server?
The main upgrade transaction is performed from a customized initramfs environment. While this stage of the upgrade process is ongoing, the system is inaccessible through SSH and is mostly non-functional - however, it can still be accessed or monitored via IPMI/VNC. This stage is time-consuming and can take up to an hour, and it is possible, even if unlikely, that the upgrade process during this stage may encounter an unrecoverable error and halt.
Therefore, although IPMI/VNC access is not strictly necessary, it's recommended, since it'll be difficult to monitor the main upgrade transaction otherwise.
Contribution
ELevate is developed and built as a tool for RHEL-based distributives, not just CloudLinux specifically. ELevate supports migrating to/from other distributions and is open for all to contribute to and enhance. You can find more information and FAQ about the AlmaLinux ELevate this project is built upon at almalinux.org/elevate and Migration SIG.
Comments
0 comments
Please sign in to leave a comment.