[SOLVED] Cluster based vnc / console error - Version 2

spintike

Member
Oct 22, 2022
10
2
8
42
Stuttgart
Hello community!

First of all I have to thank fmgoodman again for writing such a detailed explanation of his error, described in his post. I come to find that I have a very, very similar problem as his cluster.

Having five hosts in a cluster (host01..05) I can access the GUIs of each of them. When trying to access a console (all standard settings, nothing fancy configured) of a VM from another host, it doesn't work and I can even see an error message in journalctl -f (where 115 is the ID of the VM running on another host):

Apr 15 08:52:12 proxmox141 pvedaemon[280615]: <root@pam> starting task UPID:proxmox141:00046F1C:237C01C9:69DF359C:vncproxy:115:root@pam:
Apr 15 08:52:12 proxmox141 pvedaemon[290588]: starting vnc proxy UPID:proxmox141:00046F1C:237C01C9:69DF359C:vncproxy:115:root@pam:
Apr 15 08:52:13 proxmox141 pveproxy[290382]: Clearing outdated entries from certificate cache
Apr 15 08:52:13 proxmox141 pveproxy[290382]: Use of uninitialized value $statuscode in concatenation (.) or string at /usr/share/perl5/PVE/APIServer/AnyEvent.pm line 678.
Apr 15 08:52:15 proxmox141 pvedaemon[280615]: <root@pam> end task UPID:proxmox141:00046F1C:237C01C9:69DF359C:vncproxy:115:root@pam: OK

Line 678 of the file "AnyEvent.pm" reads:

Code:
$self->dprint("websocket received close. status code: '$statuscode'");


However when I try the same stunt with a LXC running on another node, it works miraculously. Journactl -f tells me:

Apr 15 08:54:32 proxmox141 pvedaemon[291162]: starting lxc termproxy UPID:proxmox141:0004715A:237C384C:69DF3628:vncproxy:200:root@pam:
Apr 15 08:54:32 proxmox141 pvedaemon[280613]: <root@pam> starting task UPID:proxmox141:0004715A:237C384C:69DF3628:vncproxy:200:root@pam:
Apr 15 08:54:32 proxmox141 pvedaemon[280615]: <root@pam> successful auth for user 'root@pam'

What I have done after reading the post from fmgoodman:
  • made sure that ssh connections as user root inbetween all nodes is working
  • refreshed the certificates by executing pvecm updatecerts -f on all nodes
  • restarted the core processes pveproxy and pvedaemon on all nodes
Results of commands which I learned from other posts:

pveversion -v:
proxmox-ve: 9.1.0 (running kernel: 6.17.4-2-pve)
pve-manager: 9.1.7 (running version: 9.1.7/16b139a017452f16)
proxmox-kernel-helper: 9.0.4
proxmox-kernel-6.17: 6.17.13-2
proxmox-kernel-6.17.13-2-pve-signed: 6.17.13-2
proxmox-kernel-6.17.13-1-pve-signed: 6.17.13-1
proxmox-kernel-6.17.4-2-pve-signed: 6.17.4-2
proxmox-kernel-6.8: 6.8.12-16
proxmox-kernel-6.8.12-16-pve-signed: 6.8.12-16
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
ceph-fuse: 19.2.3-pve1
corosync: 3.1.10-pve2
criu: 4.1.1-1
frr-pythontools: 10.4.1-1+pve1
ifupdown2: 3.3.0-1+pmx12
intel-microcode: 3.20251111.1~deb13u1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libproxmox-acme-perl: 1.7.1
libproxmox-backup-qemu0: 2.0.2
libproxmox-rs-perl: 0.4.1
libpve-access-control: 9.0.6
libpve-apiclient-perl: 3.4.2
libpve-cluster-api-perl: 9.1.1
libpve-cluster-perl: 9.1.1
libpve-common-perl: 9.1.9
libpve-guest-common-perl: 6.0.2
libpve-http-server-perl: 6.0.5
libpve-network-perl: 1.2.5
libpve-rs-perl: 0.11.4
libpve-storage-perl: 9.1.1
libspice-server1: 0.15.2-1+b1
lvm2: 2.03.31-2+pmx1
lxc-pve: 6.0.5-4
lxcfs: 6.0.4-pve1
novnc-pve: 1.6.0-3
proxmox-backup-client: 4.1.5-1
proxmox-backup-file-restore: 4.1.5-1
proxmox-backup-restore-image: 1.0.0
proxmox-firewall: 1.2.1
proxmox-kernel-helper: 9.0.4
proxmox-mail-forward: 1.0.2
proxmox-mini-journalreader: 1.6
proxmox-offline-mirror-helper: 0.7.3
proxmox-widget-toolkit: 5.1.9
pve-cluster: 9.1.1
pve-container: 6.1.2
pve-docs: 9.1.2
pve-edk2-firmware: 4.2025.05-2
pve-esxi-import-tools: 1.0.1
pve-firewall: 6.0.4
pve-firmware: 3.18-2
pve-ha-manager: 5.1.3
pve-i18n: 3.7.0
pve-qemu-kvm: 10.1.2-7
pve-xtermjs: 5.5.0-3
qemu-server: 9.1.6
smartmontools: 7.4-pve1
spiceterm: 3.4.1
swtpm: 0.8.0+pve3
vncterm: 1.9.1
zfsutils-linux: 2.4.1-pve1

pvecm status:
Cluster information
-------------------
Name: ProxmoxCluster
Config Version: 5
Transport: knet
Secure auth: on

Quorum information
------------------
Date: Wed Apr 15 08:58:19 2026
Quorum provider: corosync_votequorum
Nodes: 5
Node ID: 0x00000002
Ring ID: 1.483
Quorate: Yes

Votequorum information
----------------------
Expected votes: 5
Highest expected: 5
Total votes: 5
Quorum: 3
Flags: Quorate

Membership information
----------------------
Nodeid Votes Name
0x00000001 1 192.168.253.140
0x00000002 1 192.168.253.141 (local)
0x00000003 1 192.168.253.142
0x00000004 1 192.168.253.143
0x00000005 1 192.168.253.144

corosync-cfgtool -n:
Local node ID 2, transport knet
nodeid: 1 reachable
LINK: 0 udp (192.168.253.141->192.168.253.140) enabled connected mtu: 8885

nodeid: 3 reachable
LINK: 0 udp (192.168.253.141->192.168.253.142) enabled connected mtu: 8885

nodeid: 4 reachable
LINK: 0 udp (192.168.253.141->192.168.253.143) enabled connected mtu: 8885

nodeid: 5 reachable
LINK: 0 udp (192.168.253.141->192.168.253.144) enabled connected mtu: 8885


Due to time running out currently (work is calling) I did not do any other commands or else. Is there anything else I can do at this point or did I miss a critical information? I was starting to read about the spiceproxy process, that's why I added the corresponding tags to my post.

In any case, thanks in advance for your consideration!

Best regards.
 
After accessing the Proxmox Cluster again right now, the console of VMs being situated on other hosts are shown without a flaw or error message in journalctl -f. That's strange as I have made no further changes since the last test.

Anyway, setting the thread to Solved as it does not need more attention.