码迷,mamicode.com
首页 > 其他好文 > 详细

VNC控制台无法访问虚拟机问题指导手册

时间:2020-05-21 10:22:20      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:显示   启用   不能   openstack   ssd   虚拟   历史记录   缓存   server   

本文介绍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控制台无法访问虚拟机问题指导手册

标签:显示   启用   不能   openstack   ssd   虚拟   历史记录   缓存   server   

原文地址:https://www.cnblogs.com/whd-672701/p/12928378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!