[SOLVED] Ho, mama, I got a trouble migrating from 6.3-3 to 6.4-13, and found a solution -

Jun 25, 2019
9
1
21
54
Hi all,

I'm working on a production cluster, got a trouble migrating from 6.3-3 to 6.4-13, and found a (very simple) solution.

I post it here for further notice and help, to get it crawled by search engines.

Material: 3 nodes, Threadripper 2950X - 128Go ECC DDR4, 4x2To SSD SATA, 10G-BaseT links, 25 VMs.

As a production cluster, I tested this behavior on a test cluster before deploying.

The purpose is to upgrade a v6.3-3 cluster to v6.4, to end on a mature v7 one.

Question: Why keeping the cluster on a so old v6.3-3 version ?
Response: To keep the production server as functionnal as possible. As it is working very well, keep it working as is.

NOTICE: Please migrate all your VMs/containers before upgrading any node.

So, as you can figure out, if you try to upgrade a buster proxmox node in late september, you will get an error at "apt-get update" level as stable is Bullseye now.

~# apt-get update
Get:1 http://security.debian.org buster/updates InRelease [65.4 kB]
Get:2 http://ftp.fr.debian.org/debian buster InRelease [122 kB]
Get:3 http://ftp.fr.debian.org/debian buster-updates InRelease [51.9 kB]
Hit:4 http://download.proxmox.com/debian buster InRelease
Hit:5 http://download.proxmox.com/debian/ceph-nautilus buster InRelease
Reading package lists... Done
E: Repository 'http://security.debian.org buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://ftp.fr.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://ftp.fr.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
This error is normal, as stable is Bullseye now.

So, let's update, knowing that stable changed, allways with an "apt-get update", but with the "--allow-releaseinfo-change" option
~# apt-get update --allow-releaseinfo-change
Get:1 http://ftp.fr.debian.org/debian buster InRelease [122 kB]
Get:2 http://security.debian.org buster/updates InRelease [65.4 kB]
Get:3 http://ftp.fr.debian.org/debian buster-updates InRelease [51.9 kB]
Get:4 http://security.debian.org buster/updates/main amd64 Packages [305 kB]
Hit:5 http://download.proxmox.com/debian buster InRelease
Hit:6 http://download.proxmox.com/debian/ceph-nautilus buster InRelease
Get:7 http://security.debian.org buster/updates/main Translation-en [160 kB]
Get:8 http://ftp.fr.debian.org/debian buster-updates/main amd64 Packages.diff/Index [8,116 B]
Get:9 http://ftp.fr.debian.org/debian buster-updates/main amd64 Packages 2021-09-18-2009.26.pdiff [1,110 B]
Get:9 http://ftp.fr.debian.org/debian buster-updates/main amd64 Packages 2021-09-18-2009.26.pdiff [1,110 B]
Fetched 596 kB in 0s (1,283 kB/s)
Reading package lists... Done
N: Repository 'http://security.debian.org buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://ftp.fr.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://ftp.fr.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
This time, there are juste notifications, and no errors.

So, let's try an upgrade in "pretend" mode.

:~# apt-get -s upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
pve-kernel-5.0.21-1-pve pve-kernel-5.0.21-2-pve pve-kernel-5.0.21-3-pve pve-kernel-5.0.21-4-pve pve-kernel-5.3.10-1-pve pve-kernel-5.3.13-1-pve
pve-kernel-5.3.13-3-pve pve-kernel-5.3.18-1-pve pve-kernel-5.3.18-2-pve pve-kernel-5.4.41-1-pve
Use 'apt autoremove' to remove them.
The following packages have been kept back:
libproxmox-acme-perl libpve-storage-perl pve-container pve-kernel-5.4 qemu-server zfs-initramfs zfs-zed zfsutils-linux
The following packages will be upgraded:
(...)

Everything seems OK, so, let's download all these packages, to get them available.

~# apt-get -d upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
pve-kernel-5.0.21-1-pve pve-kernel-5.0.21-2-pve pve-kernel-5.0.21-3-pve pve-kernel-5.0.21-4-pve pve-kernel-5.3.10-1-pve pve-kernel-5.3.13-1-pve
pve-kernel-5.3.13-3-pve pve-kernel-5.3.18-1-pve pve-kernel-5.3.18-2-pve pve-kernel-5.4.41-1-pve
Use 'apt autoremove' to remove them.
The following packages have been kept back:
libproxmox-acme-perl libpve-storage-perl pve-container pve-kernel-5.4 qemu-server zfs-initramfs zfs-zed zfsutils-linux
The following packages will be upgraded:
(...)
117 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Need to get 207 MB of archives.
After this operation, 22.8 MB of additional disk space will be used.
Do you want to continue? [Y/n]
(...)
Fetched 207 MB in 22s (9,290 kB/s)
Download complete and in download only mode

Ok, then, time to upgrade them (and get an error, and workaround it).

~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
pve-kernel-5.0.21-1-pve pve-kernel-5.0.21-2-pve pve-kernel-5.0.21-3-pve pve-kernel-5.0.21-4-pve pve-kernel-5.3.10-1-pve pve-kernel-5.3.13-1-pve
pve-kernel-5.3.13-3-pve pve-kernel-5.3.18-1-pve pve-kernel-5.3.18-2-pve pve-kernel-5.4.41-1-pve
Use 'apt autoremove' to remove them.
The following packages have been kept back:
libproxmox-acme-perl libpve-storage-perl pve-container pve-kernel-5.4 qemu-server zfs-initramfs zfs-zed zfsutils-linux
The following packages will be upgraded:
(...)
117 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Need to get 0 B/207 MB of archives.
After this operation, 22.8 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Reading changelogs... Done
Extracting templates from packages: 100%
Preconfiguring packages ...
(...)
Setting up pve-manager (6.4-13) ...
Job for pvedaemon.service failed.
See "systemctl status pvedaemon.service" and "journalctl -xe" for details.
dpkg: error processing package pve-manager (--configure):
installed pve-manager package post-installation script subprocess returned error exit status 1
Setting up dnsutils (1:9.11.5.P4+dfsg-5.1+deb10u5) ...
Setting up ceph (14.2.22-pve1) ...
dpkg: dependency problems prevent configuration of proxmox-ve:
proxmox-ve depends on pve-manager; however:
Package pve-manager is not configured yet.

dpkg: error processing package proxmox-ve (--configure):
dependency problems - leaving unconfigured
Processing triggers for pve-ha-manager (3.1-1) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for systemd (241-7~deb10u8) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for dbus (1.12.20-0+deb10u1) ...
Processing triggers for initramfs-tools (0.133+deb10u1) ...
update-initramfs: Generating /boot/initrd.img-5.4.78-2-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
Errors were encountered while processing:
pve-manager
proxmox-ve
E: Sub-process /usr/bin/dpkg returned an error code (1)

Mama ! There is a problem! Let's try the "systemctl status pvedaemon.service"

~# systemctl status pvedaemon.service
● pvedaemon.service - PVE API Daemon
Loaded: loaded (/lib/systemd/system/pvedaemon.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-02-26 09:48:20 CET; 6 months 27 days ago
Main PID: 1991 (pvedaemon)
Tasks: 8 (limit: 154381)
Memory: 242.7M
CGroup: /system.slice/pvedaemon.service
├─ 1991 pvedaemon
├─1036176 pvedaemon worker
├─1045514 pvedaemon worker
├─1523990 pvedaemon worker
├─1545278 task UPID:px2:0017943E:6C413E5D:614DD7B0:vncproxy:114:root@pam:
├─1545280 /usr/bin/ssh -e none -o BatchMode=yes -o HostKeyAlias=px1 -T root@192.168.1.101 /usr/sbin/qm vncproxy 114
├─1569940 task UPID:px2:0017F494:6C446C34:614DDFD4:vncproxy:113:root@pam:
└─1569942 /usr/bin/ssh -e none -o BatchMode=yes -o HostKeyAlias=px1 -T root@192.168.1.101 /usr/sbin/qm vncproxy 113

Sep 24 16:24:48 px2 pvedaemon[1561078]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2.pm line 15.
Sep 24 16:24:48 px2 pvedaemon[1561078]: Compilation failed in require at /usr/share/perl5/PVE/Service/pvedaemon.pm line 8.
Sep 24 16:24:48 px2 pvedaemon[1561078]: BEGIN failed--compilation aborted at /usr/share/perl5/PVE/Service/pvedaemon.pm line 8.
Sep 24 16:24:48 px2 pvedaemon[1561078]: Compilation failed in require at /usr/bin/pvedaemon line 11.
Sep 24 16:24:48 px2 pvedaemon[1561078]: BEGIN failed--compilation aborted at /usr/bin/pvedaemon line 11.
Sep 24 16:24:48 px2 systemd[1]: pvedaemon.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
Sep 24 16:24:48 px2 systemd[1]: Reload failed for PVE API Daemon.

As you can figure, pve-daemon, pve-proxy, and pve-manager are not working.
No web GUI interface, big stress.

So the workaround. We have to end the upgrade. Let's dist-upgrade.

~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
pve-kernel-5.0.21-1-pve pve-kernel-5.0.21-2-pve pve-kernel-5.0.21-3-pve pve-kernel-5.0.21-4-pve pve-kernel-5.3.10-1-pve pve-kernel-5.3.13-1-pve
pve-kernel-5.3.13-3-pve pve-kernel-5.3.18-1-pve pve-kernel-5.3.18-2-pve pve-kernel-5.4.41-1-pve
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
libnvpair1linux libuutil1linux libzfs2linux libzpool2linux
The following NEW packages will be installed:
libnvpair3linux libproxmox-acme-plugins libuutil3linux libzfs4linux libzpool4linux proxmox-backup-file-restore proxmox-backup-restore-image
pve-kernel-5.4.140-1-pve
The following packages will be upgraded:
libproxmox-acme-perl libpve-storage-perl pve-container pve-kernel-5.4 qemu-server zfs-initramfs zfs-zed zfsutils-linux
8 upgraded, 8 newly installed, 4 to remove and 0 not upgraded.
2 not fully installed or removed.
Need to get 78.2 MB of archives.
After this operation, 338 MB of additional disk space will be used.
Do you want to continue? [Y/n]
(...)

We can check if pvedaemon is working

~# systemctl status pvedaemon.service
● pvedaemon.service - PVE API Daemon
Loaded: loaded (/lib/systemd/system/pvedaemon.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-02-26 09:48:20 CET; 6 months 27 days ago
Main PID: 1991 (pvedaemon)
Tasks: 8 (limit: 154381)
Memory: 306.6M
CGroup: /system.slice/pvedaemon.service
├─ 1991 pvedaemon
├─1545278 task UPID:px2:0017943E:6C413E5D:614DD7B0:vncproxy:114:root@pam:
├─1545280 /usr/bin/ssh -e none -o BatchMode=yes -o HostKeyAlias=px1 -T root@192.168.1.101 /usr/sbin/qm vncproxy 114
├─1569940 task UPID:px2:0017F494:6C446C34:614DDFD4:vncproxy:113:root@pam:
├─1569942 /usr/bin/ssh -e none -o BatchMode=yes -o HostKeyAlias=px1 -T root@192.168.1.101 /usr/sbin/qm vncproxy 113
├─1582516 pvedaemon worker
├─1582517 pvedaemon worker
└─1582518 pvedaemon worker

Sep 24 16:34:02 px2 pvedaemon[1991]: starting 3 worker(s)
Sep 24 16:34:02 px2 pvedaemon[1991]: worker 1582516 started
Sep 24 16:34:02 px2 pvedaemon[1991]: worker 1582517 started
Sep 24 16:34:02 px2 pvedaemon[1991]: worker 1582518 started
Sep 24 16:34:07 px2 pvedaemon[1036176]: worker exit
Sep 24 16:34:07 px2 pvedaemon[1523990]: worker exit
Sep 24 16:34:07 px2 pvedaemon[1045514]: worker exit
Sep 24 16:34:07 px2 pvedaemon[1991]: worker 1036176 finished
Sep 24 16:34:07 px2 pvedaemon[1991]: worker 1523990 finished
Sep 24 16:34:07 px2 pvedaemon[1991]: worker 1045514 finished

Web GUI is fonctionnal, node is upgraded to 6.4-13, more easyly upgradable to v7

Everything is back to production.

Hey ! There were a lot of removable packages !
Mainly kernel packages.
So let's remove them.

# apt-get autoremove

Thanks to the Proxmox people, for this exceptional work.
Thanks to Fabrice Bellard, for creating qemu. Fabrice Bellard homepage. QEMU homepage
 
Please do NEVER run "apt-get upgrade", this will always break your Proxmox VE.

Follow the docs.
 
Following the doc (Ceph nautilus to octopus upgrade) I've done:
sed -i 's/nautilus/octopus/' /etc/apt/sources.list.d/ceph.list
cat /etc/apt/sources.list.d/ceph.list
apt update
apt full-upgrade
but the ceph-mon restart still tell me nautilus
~# systemctl restart ceph-mon.target
~# ceph mon dump | grep min_mon_release
dumped monmap epoch 3
min_mon_release 14 (nautilus)
Is it normal ?

The doc tells
min_mon_release 15 (octopus)
 
Last edited:
In addition to this, I just finished saving a customer's 2010 MacMini running PVE 6-3-3 (took me forever a year or two ago to setup, ended up installing using a 2009 MacBook and then transferred the SSD to the MacMini) so when I came in to update their single PVE node and it started throwing errors about dependencies I flipped.

Mistakes made:
  1. apt upgrade
    Use dist-upgrade only
  2. Ignored /boot space
    This MacMini has a /boot of 256MB and a /boot/EFI of 512MB (weird) so I felt comfortable blindly upgrading.
    Turns out I had about 6 kernels with many initramfs configurations. Purged the kernels that were older than the one currently in use because the /boot was 2% free. Will remove more kernels after the next reboot. (look in /boot if you need to find out what kernels can be removed).
  3. Assumed the issue was EFI related so I reinstalled grub (did not help)
  4. Assumed the issue was EFI related so I also moved my grub config:
    sudo mv /etc/kernel/postrm.d/zz-update-grub /etc/kernel/postrm.d/zz-update-grub.bad
    Lesson learned here: Don't blindly trust reddit suggestions.
The reason why I assumed it was some sort of EFI issue is because of the old EFI quirks associated with 2010 era Macs which do not boot from USB drives usually and good luck with most CDs/DVDs.
Cheers,


Tmanok
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!