VNC控制台无法访问虚拟机问题指导手册
Posted whd-672701
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VNC控制台无法访问虚拟机问题指导手册相关的知识,希望对你有一定的参考价值。
本文介绍VNC控制台访问虚拟机故障处理指导。
1:基础服务检查
ssh到控制节点(严格来说是配置VNC服务代理节点,TECS目前默认在控制节点上)
systemctl status openstack-nova-novncproxy
这个服务要是active / running的
2:基础配置检查
ssh到控制节点采集信息:
openstack-config --get /etc/nova/nova.conf DEFAULT novncproxy_host
openstack-config --get /etc/nova/nova.conf DEFAULT novncproxy_port
novncproxy_host 0.0.0.0
这个配置选项设置控制节点对外暴露的vnc服务地址,默认是全零地址,这样就可从控制节点的任意网口访问虚拟机的VNC界面了
novncproxy_port 6080
这个选项设置对外暴露的端口号,默认都是6080,最好不要改动。
ssh到计算节点采集信息:
openstack-config --get /etc/nova/nova.conf DEFAULT novncproxy_base_url
openstack-config --get /etc/nova/nova.conf DEFAULT vnc_enabled
openstack-config --get /etc/nova/nova.conf DEFAULT vncserver_listen
openstack-config --get /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address
novncproxy_base_url http://FQDN:6080/vnc_auto.html
这个选项定义通过哪个VNC proxy server访问本计算节点上的虚拟机,当计算节点数量非常多的时候,可以多设置一些代理,分工一下。比如有1000个计算节点时,可以设置10个代理节点,每个代理节点上都运行openstack-nova-novncproxy服务,每个代理节点服务100个计算节点,至于是哪100个,就是通过http链接中的“FQDN”来确定的了,比如要求用户通过ip地址为192.168.1.123那个代理来访问本计算节点上的虚拟机,这里的FQDN就得填写为192.168.1.123。
如果你的环境很简单,只有两个节点,一个控制节点,一个计算节点,那么所谓的代理就只能跑在控制节点上,这里的FQDN就是控制节点的ip,而且是外部用户能访问到的ip,一般就是常说的大网ip了,通常为访问provider的ip地址。
vnc_enabled true
在计算节点上启用vnc功能,配置为true
vncserver_listen 0.0.0.0
vncserver实际监听的地址,这个地址用全零地址,因为要写到libvirt.xml里面,得支持迁移
vncserver_proxyclient_address 192.168.0.2
这个地址是给proxy用的,用于proxy连接到本计算节点,用proxy和计算节点之间的内网地址或者计算节点本机的主机名,daisy安装的情况下默认本机主机名。
如果配置不正确可以使用如下命令修正配置:
控制节点使用:
openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_host 0.0.0.0
openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_port 6080
如果控制节点修改过配置,配置完毕重启如下服务:
systemctl restart openstack-nova-novncproxy
systemctl restart openstack-nova-scheduler
systemctl restart openstack-nova-conductor
计算节点使用:
openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://FQDN:6080/vnc_auto.html
openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled true
openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0
openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.0.2
如果计算节点修改过配置,配置完毕重启如下服务:
systemctl restart openstack-nova-compute
配置修正后观察虚拟机控制台是否正常。
3:浏览器
不能使用IE浏览器,请使用Chrome或者Firefox浏览器,其他浏览器不清楚。
使用正确的浏览器观察虚拟机控制台是否正常。
4:iptables服务
大部分情况,VNC控制台无法访问虚拟机都是因为iptables服务导致的,可以尝试禁用iptables服务。
需要在所有物理节点输入如下命令:
systemctl disable iptables
systemctl stop iptables
iptables -F
关闭iptables后观察虚拟机控制台是否正常。
5:provider故障导致控制台不正常
尝试重启provider
ssh到控制节点,找到provider运行的控制节点
docker-manage ps
如下显示provider的容器
docker-manage restart 容器名
本例为:docker-manage restart provider
provider容器重启后,等待3分钟,再次观察虚拟机控制台是否正常。
6:浏览器缓存
清空浏览器缓存后再尝试一下:
Chrome浏览器:设置--显示高级设置--清除浏览器数据
清除全部浏览器数据
Firefox浏览器:工具--选项--隐私--历史记录--清空近期历史记录--全部--立即清除
清空浏览器缓存后再次观察虚拟机控制台是否正常。
7:更换PC
如果以上方法都无效,更换一台PC客户端再次尝试使用Chrome浏览器或者Firefox浏览器打开控制台。
8:联系开发查找原因。
备注:最新版本provider,登陆虚拟机需要输入密码,这个密码就是TECS上看到的虚拟机的名称,例如下面就是lzg_test(部分版本做过安全加固,密码是ossdbg1,后续版本还是会统一为虚拟机名称的)
3.17.15版本也是一个特例,这个地方的密码更换成了虚拟机UUID前8位
以上是关于VNC控制台无法访问虚拟机问题指导手册的主要内容,如果未能解决你的问题,请参考以下文章