noVNC-Konsole funktioniert bei keiner VM

AlmanAchim

Member
Mar 15, 2024
2
0
6
Hallo zusammen,

ich habe ein Problem mit der noVNC-Konsole auf meinem Proxmox-Server, bei dem ich bisher nicht weiterkomme. Bei allen VMs schlägt die Konsolenverbindung fehl. Die VMs selbst laufen normal, aber über die Weboberfläche kann ich keine Konsole öffnen.

Ursprünglich lief der Server mit Proxmox VE 8. Da ich die Ursache dort nicht finden konnte, habe ich inzwischen auf Proxmox VE 9 aktualisiert und den Server neu gestartet. Leider besteht das Problem weiterhin.

Ich hoffe, jemand hat eine Idee, wo ich noch suchen kann.

Fehlerbild​

Beim Öffnen der Konsole einer VM erscheint in der Proxmox-Weboberfläche:

  • Failed to connect to server
  • teilweise TASK ERROR: connection timed out
In der Browser-Konsole erscheint außerdem:

WebSocket connection ... failed
Connection closed (code: 1006)
Das Problem betrifft alle VMs, nicht nur eine einzelne VM.

1791675254469.png

Was ich bisher geprüft habe​

1. Die VMs laufen weiterhin

Beispielsweise zeigt qm status 269:

status: running
Auch die QEMU-Prozesse laufen.

2. Die Proxmox-Dienste sind aktiv

Die Dienste pveproxy, pvedaemon und pve-cluster waren während der Fehlersuche aktiv.

3. QEMU und der VNC-Socket funktionieren grundsätzlich

Für VM 269 existiert der Socket:

/var/run/qemu-server/269.vnc
Mit folgendem Test erhielt ich eine VNC-Antwort:

timeout 3 socat - UNIX-CONNECT:/var/run/qemu-server/269.vnc
Ausgabe:

RFB 003.008
Das spricht dafür, dass der VNC-Dienst der VM grundsätzlich erreichbar ist.

4. Der VNC-Proxy lässt sich erstellen

Der Aufruf

pvesh create /nodes/node01/qemu/269/vncproxy
liefert einen Port, ein Ticket und eine UPID zurück. Der temporäre Proxy lauscht anschließend auf Port 5900.

Allerdings erscheint im Journal von pvedaemon wiederholt:

starting vnc proxy ...
connection timed out
Der Timeout tritt ungefähr zehn Sekunden nach dem Start auf, wenn sich kein Client erfolgreich mit dem Proxy verbindet.

5. WebSocket-Verbindung untersucht

Im Browser-Netzwerkmonitor wird der Request auf vncwebsocket angezeigt. Im Access-Log von pveproxy findet sich unter anderem:

GET /api2/json/nodes/node01/vncwebsocket?port=5900&vncticket=... HTTP/1.1" 101 -
Der HTTP-Status 101 bedeutet, dass der WebSocket-Handshake grundsätzlich akzeptiert wurde. Anschließend meldet der Browser jedoch den Fehler 1006.

6. Firewall und Namensauflösung geprüft

  • Die geprüften Regeln von iptables, ip6tables und nftables waren leer bzw. nicht blockierend.
  • /etc/hosts enthält die korrekte Zuordnung von localhost zu 127.0.0.1.
  • getent hosts localhost liefert 127.0.0.1.
Die üblichen Verdächtigen konnten das Problem bisher also nicht erklären.

Update auf Proxmox VE 9​

Da ich unter Proxmox VE 8 keine Lösung gefunden habe, habe ich den Server auf Proxmox VE 9 aktualisiert und anschließend neu gestartet. Der Fehler ist unverändert vorhanden.

Es scheint daher nicht einfach an einem vorübergehenden Zustand eines einzelnen Dienstes oder einer einzelnen VM zu liegen.

Meine Fragen​

  1. Wo könnte die Verbindung zwischen pveproxy, vncwebsocket und dem temporären VNC-Proxy abbrechen?
  2. Welche Logs oder Tests wären als Nächstes sinnvoll, um die Ursache genauer einzugrenzen?
  3. Gibt es bekannte Ursachen für dieses Verhalten, die auch nach einem Upgrade von PVE 8 auf PVE 9 bestehen bleiben?
System: Kein Cluster. Vor 10 Minuten auf PVE9 latest Version aktualisiert:
root@node01:~# pveversion -v
proxmox-ve: 9.2.0 (running kernel: 7.0.14-23-pve)
pve-manager: 9.2.21 (running version: 9.2.21/4f6e0ac86f9e8c7f)
proxmox-kernel-helper: 9.2.0
proxmox-kernel-7.0: 7.0.14-23
proxmox-kernel-7.0.14-23-pve-signed: 7.0.14-23
proxmox-kernel-6.8.12-43-pve-signed: 6.8.12-43
proxmox-kernel-6.8: 6.8.12-43
proxmox-kernel-6.8.12-22-pve-signed: 6.8.12-22
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6
proxmox-kernel-6.5: 6.5.13-6
proxmox-kernel-6.5.13-3-pve-signed: 6.5.13-3
proxmox-kernel-6.5.13-1-pve-signed: 6.5.13-1
proxmox-kernel-6.5.11-8-pve-signed: 6.5.11-8
amd64-microcode: 3.20251202.1~bpo13+1
ceph-fuse: 19.2.6-pve4
corosync: 3.1.10-pve3
criu: 4.1.1-1
frr-pythontools: 10.6.1-1+pve3
ifupdown2: 3.3.0-1+pmx12
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-7
libproxmox-acme-perl: 1.7.2
libproxmox-backup-qemu0: 2.0.3
libproxmox-rs-perl: 0.4.1
libpve-access-control: 9.1.2
libpve-apiclient-perl: 3.4.3
libpve-cluster-api-perl: 9.1.6
libpve-cluster-perl: 9.1.6
libpve-common-perl: 9.2.3
libpve-guest-common-perl: 6.0.5
libpve-http-server-perl: 6.0.5
libpve-network-perl: 1.6.7
libpve-notify-perl: 9.1.6
libpve-rs-perl: 0.15.3
libpve-storage-perl: 9.1.12
libspice-server1: 0.15.2-1+b1
lvm2: 2.03.31-2+pmx1
lxc-pve: 7.0.0-2
lxcfs: 7.0.0-pve1
novnc-pve: 1.7.0-2
proxmox-backup-client: 4.2.8-1
proxmox-backup-file-restore: 4.2.8-1
proxmox-backup-restore-image: 1.0.0
proxmox-enterprise-support-keyring: 1.1
proxmox-firewall: 1.2.3
proxmox-kernel-helper: 9.2.0
proxmox-mail-forward: 1.0.3
proxmox-mini-journalreader: 1.7
proxmox-offline-mirror-helper: 0.7.4
proxmox-widget-toolkit: 5.2.10
pve-cluster: 9.1.6
pve-container: 6.1.14
pve-docs: 9.2.13
pve-edk2-firmware: 4.2026.08-1
pve-esxi-import-tools: 1.0.1
pve-firewall: 6.0.6
pve-firmware: 3.18-7
pve-ha-manager: 5.2.5
pve-i18n: 3.10.0
pve-qemu-kvm: 11.0.3-4
pve-xtermjs: 6.0.0-2
qemu-server: 9.2.10
smartmontools: 7.5-pve2
spiceterm: 3.4.2
swtpm: 0.8.0+pve3
vncterm: 1.9.2
zfsutils-linux: 2.4.4-pve1
root@node01:~#

Vielen Dank vorab