Migration from 6.0 to 7.X or 8.X

Jun 14, 2022
20
0
6
Currently we having 4 node cluster with Proxmox 6.0.4. In this we are having centos 6, centos7, ubuntu 14, ubuntu 18 and ubuntu 20 which is is running legacy application which we cannot upgrade the container OS. We having planning to move to new hardware with new proxmox, can we take the backup of lxe and migrate to new 7.x or 8.x? Regarding cgroup also how can i fix it. Kindly advise since i am new to this one.
 
Hello,

do I understand you correct that you are using the legacy applications inside containers? Then a migration will only be possible if you enable an option for backward compatibility. Please note however that with Proxmox VE 9 (already in beta) even this won't work any more:

Old Container and CGroupv2
Since Proxmox VE 7.0, the default is a pure cgroupv2 environment. Previously a "hybrid" setup was used, where resource control was mainly done in cgroupv1 with an additional cgroupv2 controller which could take over some subsystems via the cgroup_no_v1 kernel command line parameter. (See the kernel parameter documentation for details.)

cgroupv2 support by the container’s OS is needed to run in a pure cgroupv2 environment. Containers running systemd version 231 (released in 2016) or newer support cgroupv2, as do containers that do not use systemd as init system in the first place (e.g., Alpine Linux or Devuan).

CentOS 7 and Ubuntu 16.10 are two prominent Linux distributions releases, which have a systemd version that is too old to run in a cgroupv2 environment, for details and possible fixes see: https://pve.proxmox.com/pve-docs/chapter-pct.html#pct_cgroup_compat
https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0
Reminder, since the previous major release Proxmox VE 7.0, the default is a pure cgroupv2 environment. While Proxmox VE 8 did not change in this regard, we'd like to note that Proxmox VE 8 will be the last release series that supports booting into the old "hybrid" cgroup system, e.g. for compatibility with ancient Container OS.

That means that Containers running systemd version 230 (released in 2016) or older won't be supported at all in the next major release (Proxmox VE 9, ~ 2025 Q2/Q3). If you still run such container (e.g., CentOS 7 or Ubuntu 16.04), please use the Proxmox VE 8 release cycle as time window to migrate to newer, still supported versions of the respective Container OS.
https://pve.proxmox.com/wiki/Upgrade_from_7_to_8
Reminder, since the previous major release Proxmox VE 7.0, the default is a pure cgroupv2 environment. While Proxmox VE 8 did not change in this regard, we'd like to note that Proxmox VE 8 will be the last release series that supports booting into the old "hybrid" cgroup system, e.g. for compatibility with ancient Container OS.

That means that Containers running systemd version 230 (released in 2016) or older won't be supported at all in the next major release (Proxmox VE 9, ~ 2025 Q2/Q3). If you still run such container (e.g., CentOS 7 or Ubuntu 16.04), please use the Proxmox VE 8 release cycle as time window to migrate to newer, still supported versions of the respective Container OS.
https://pve.proxmox.com/wiki/Upgrade_from_8_to_9

In any case I would recommend following:
  • Backup all your old VMs and containers in your ProxmoxVE 6 environment.
  • Setup a testsystem (can be a VM) with ProxmoxVE6, restore your legacy VMs/containers to it
  • Upgrade to ProxmoxVE7, test the compatibility switch, then upgrade to ProxmoxVE8, test again
A better longterm solution might be to setup tightly secured VMs on ProxmoxVE8 with your old operating systems and migrate your legacy applications to them. VMs are less likely to get hurt by a major release upgrade and will still work even with ProxmoxVE 9. It will be released this year and will be based on Trixie, so support for Proxmox VE 8 will end soon:
Proxmox VE versions are supported at least as long as the corresponding Debian Version is oldstable. Proxmox VE uses a rolling release model and using the latest stable version is always recommended.

Another viable option might be to have one tightly secured ProxmoxVE VM (so in this case ProxmoxVE 8) with the latest version still able to run your legacy applications to host them until you can finally dump them. The benefit of that option would be again, that you could isolate that specific VM in a way, that a security issue of the old OS or applications won't bite you.
 
Last edited: