System upgrade after deploying image with aaPanel
I recently deployed a node instance based on a system image provisioned with aaPanel.
The base system features CentOS 7. The Linode knowledge base provides a guide for upgrading nodes deployed as CentOS 7 to system release 8. The workflow is to repartition the storage device, rebuild the node from a new base image, copy user data to the newly provisioned base system, then deploy the system from the new base.
The process is extremely cumbersome, involving numerous manual steps and potential potential points of failure. It also imposes particular constraints, such as utilization by the root file system of no more than half the capacity of the partition.
I have no idea how to migrate safely and reliably aaPanel and the site customization to a new base image.
Ideally, the nodes would be provisioned for clean separation of the base image from the site customization. In fact, a refined approach would be for the node to mount an immutable base image overlayed by a writable layer for site modifications, such that a base image may be seamlessly swapped without any manual intervention.
However, current services are much more crudely organized.
What recommendation is available for upgrading the system base?
Within aapanel, there is a plugin called "One-click migration beta" that will allow you to migrate your panel to another server. In order to use it, you will need to do the following:
- Spin up a new server running CentOS 8 Stream (or another aapanel compatible distro)
- Install aapanel manually on your fresh instance.
- Install the apps and services you have on the origin instance you wish to migrate (web server stack, additional applications, etc.)
- Install and follow instructions for using One-click migration beta to migrate your aapanel to your new instance
- Once you are confident your new instance is configured to your liking, you can either transfer the IP address from the origin server to your new one or reconfigure your DNS records to point to your new IP addresses.
Now, this is also not the most streamlined process. However, it's worth noting that CentOS 7 doesn't hit End of Life until June 30th, 2024, while CentOS 8 Stream will be EOL'd a month earlier. So, while you have some time to get your new site configured, you may want to consider CentOS Stream 9, which is estimated to get updates until 2027.