外部 VNC Viewer 直接访问计算节点 IP + 虚拟机的 libvirt VNC 端口可以正常打开,说明KVM 虚拟机本身 VNC 服务正常,虚拟机内部无问题;问题出在UIS 平台 Web 控制台代理链路(nova‑novncproxy 代理服务、token 鉴权、管理网互通、配置参数)。 Web 控制台不走浏览器直连计算节点,浏览器→CVM 控制节点 novncproxy 代理→计算节点 libvirt‑VNC,是代理转发架构。
现象:VNC‑Viewer 是你的 PC 直连计算节点;Web 控制台是CVM 控制节点作为中间代理去连计算节点,PC 通≠CVM 节点能通,很多故障是 CVM 到计算节点管理网不通、防火墙 /iptables 拦截。
#查看代理服务状态
systemctl status openstack‑nova‑novncproxy
systemctl status openstack‑nova‑consoleauth
#如果异常,重启服务
systemctl restart openstack‑nova‑novncproxy
systemctl restart openstack‑nova‑consoleauth
日志路径:/var/log/nova/nova‑novncproxy.log,打开控制台时实时看日志,看报错:token 校验失败、连接计算节点拒绝、超时等信息。
注意:集群多 CVM 主备场景,确认当前主 CVM 节点上面 novncproxy 是 running;备节点该服务不工作。
打开/etc/nova/nova.conf
#计算节点配置:novnc代理需要计算节点上报正确管理IP
[vnc]
enabled=true
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=【**计算节点本机管理IP,不要写127.0.0.1**】
#控制节点
novncproxy_host=0.0.0.0
novncproxy_port=6080
常见错误:计算节点
vncserver_proxyclient_address=127.0.0.1,libvirt VNC 只监听本地回环;外部 VNC‑Viewer 访问计算节点公网 IP 可以通(libvirt 配置监听 0.0.0.0),但是 nova 代理程序尝试访问 127.0.0.1,代理连接失败,页面一直 connecting。 修改配置后,所有计算节点重启 nova‑compute
systemctl restart openstack‑nova‑compute
iptables ‑nvL
UIS 不要手动修改 firewalld,平台会自动维护;排查可以临时放行测试。
nova‑consoleauth;
websocket 一直 pending,代表 CVM 代理到计算节点网络不通。在 CVM 控制节点执行:
source /etc/profile.d/openstack.sh
openstack console url show 【虚拟机UUID】
拿到返回的 novnc url,复制到浏览器打开。
表格
| 现象 | 根因 |
|---|---|
| VNC‑Viewer (PC 直连计算节点) 正常;CVM 控制节点上 nc 也可以连通计算节点 VNC 端口,网页 connecting | novncproxy/consoleauth 服务异常,token 鉴权失败,查看 novncproxy 日志 |
| VNC‑Viewer (PC 直连计算节点) 正常;但是 CVM 控制节点无法访问计算节点 VNC 端口 | 管理网隔离、iptables 拦截、计算节点 nova.conf 的 vncserver_proxyclient_address 写 127.0.0.1 |
nova‑novncproxy、nova‑consoleauth,测试网页控制台。nova.conf里面vncserver_proxyclient_address不能写 127.0.0.1,修改后重启 nova‑compute。/var/log/nova/nova‑novncproxy.log日志定位具体报错。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论