A new version of Proxmox Virtualization Environment (VE) was released soon after the release of Debian 12 (Bookworm). Since this is a major upgrade, there are many improvements and new features. In this post, you will learn how to perform an in-place upgrade of Proxmox VE 7 to 8.

Proxmox 8 feature highlights

  • Major release based on Debian 12 (Bookworm)
  • Latest and greatest Linux 6.2 kernel
  • Variety of enhancements to the graphical user interface (GUI)
  • Latest version of Quick Emulator (QEMU) 8.0
  • x86-64-v2-AES is the default CPU type for new VMs and offers improved performance compared to the previous default (qemu64/kvm64)
  • All-new text-based user interface (TUI) for the installation of Proxmox VE
  • Access to the latest Ceph 17.2 (Quincy) enterprise repository through a Proxmox VE subscription
  • Authentication realm sync jobs to synchronize the users and groups from AD or LDAP
  • Ability to grant fine-grained permissions to specific users and groups on network resources, such as host network bridges and VNets
  • Ability to map the USB or PCI(e) resources between the cluster nodes to enable offline VM migration with passed-through devices

To read more about Proxmox 8 features in detail, see the official roadmap page.

Back up your VMs and containers

It is highly recommended to have a good backup of the Proxmox host and the workloads running on it before upgrading because things can go wrong at any time. You can use the native Proxmox backup feature to back up your virtual machines and containers, or (optionally) install a dedicated Proxmox Backup Server to have a reliable backup solution. Having a Proxmox cluster in your environment gives you the ability to live-migrate the VMs and containers, so your critical workloads continue to run on the available nodes while you upgrade a particular node, making the entire process of upgrading Proxmox 7 to 8 seamless.

Upgrade process

To upgrade Proxmox 7 to 8, follow these steps:

  1. Make sure that the Proxmox node you are planning to upgrade is fully updated to version 7.4. If updates are available, install them, as shown in the screenshot below, and reboot the node.
    Install all available updates on the Proxmox node

    Install all available updates on the Proxmox node

    I am going to upgrade the pmox-host2 node in my cluster so I will make sure it is fully up-to-date.

  2. The next step is to run the Proxmox 7 to 8 upgrade checklist program with this command:
    pve7to8 --full
    
    Run the Proxmox 7 to 8 upgrade checklist program

    Run the Proxmox 7 to 8 upgrade checklist program

    This program carries out a full health check of your Proxmox cluster and reports errors and warnings. As you can see in the screenshot above, I received a warning that essentially states that a running guest was detected. Depending on how critical the guest VMs or containers are, you can stop or migrate them to the other Proxmox nodes. I will migrate my VM to the other node.

    Migrate a virtual machine to another Proxmox node

    Migrate a virtual machine to another Proxmox node

  3. At this point, your Proxmox node is all set for an upgrade. To avoid any unexpected disconnection or failure during the upgrade process, it is recommended to perform the next steps on an SSH console session rather than using the built-in shell option in the Proxmox GUI. I will now access my Proxmox node with SSH. You can check the current version of Proxmox VE and the kernel with the pveversion command.
    Check the version of Proxmox VE and the kernel

    Check the version of Proxmox VE and the kernel

    Proxmox VE version 7.4-15, or newer, means you are good to go for an upgrade. Alternatively, you could use the pveversion -v command to check the version of all Proxmox packages.

  4. Now update the Debian and Proxmox repositories. Our Proxmox node is currently running on Debian 11 (codename: bullseye); we need to update the repositories to Debian 12 (codename: bookworm). To do so, run the following command:
    sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
    
    Replace the bullseye repositories with the bookworm repositories using the sed command

    Replace the bullseye repositories with the bookworm repositories using the sed command

    The screenshot shows that all the entries for the bullseye repository were successfully replaced with bookworm. If you want to use Ceph, you can add the relevant repositories by running one of the following commands:

    # Use Ceph with the Proxmox no-subscription repository
    echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
    # Use Ceph with the Proxmox enterprise repository
    echo "deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise" > /etc/apt/sources.list.d/ceph.list 
    
    
  5. Once the repositories are updated, run the following commands to start the upgrade process:
    apt update
    apt dist-upgrade
    
    Start the in place upgrade of Proxmox 7 to 8

    Start the in place upgrade of Proxmox 7 to 8

    The first command refreshes the package index, and the second command starts the in-place upgrade of Debian 11 to 12 and Proxmox 7 to 8 at the same time. The system will prompt you with a choice during the process. Depending upon your use case and requirements, press Y to accept the package maintainer's version or N to keep the currently installed version of the file on your system.

  6. If the above command completes successfully without any error, reboot your Proxmox node to boot the new Proxmox kernel.
  7. After reboot, connect the Proxmox node using either SSH or the web GUI, and run the pveversion command again to verify that everything is up-to-date.

    Confirm the updated version of Proxmox and the kernel

    Confirm the updated version of Proxmox and the kernel

Congratulations! Your node is running the updated kernel and Proxmox 8. You can now restore or migrate your workloads back to this node. If everything is working correctly, follow the same steps to upgrade the other nodes of your Proxmox cluster.

Troubleshooting

pve7to8: command not found

If you get a -bash: pve7to8: command not found error while running the upgrade checklist program, make sure you run the apt update -y && apt upgrade -y command on the node, as shown in the screenshot below:

How to fix pve7to8 command not found

How to fix pve7to8 command not found

apt dist-upgrade removes Proxmox VE

You may notice that the apt dist-upgrade command wants to remove the Proxmox VE packages, as shown in the screenshot below:

The apt dist upgrade command wants to remove the Proxmox packages

The apt dist upgrade command wants to remove the Proxmox packages

This occurs if you have manually installed Proxmox 7 on top of Debian 11 (bullseye) without actually using the Proxmox installation ISO file. In this case, you might have a package named linux-image-amd64 installed on your Proxmox node, which is known to conflict with the Proxmox upgrade process. To remediate the situation, you need to remove the conflicting package with this command:

apt remove linux-image-amd64

Then run the apt dist-upgrade -y command to start the upgrade process. If this doesn't help, make sure you have correctly installed the bookworm repositories. If you have installed Ceph, you need to add the Ceph repository from the Proxmox subscription, as indicated in Step 4 above.

Subscribe to 4sysops newsletter!

You just learned how to upgrade Proxmox VE 7 to 8. Let me know if you run into any issues during the upgrade.

0 Comments

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account