Fuel6.1 Mirantis OpenStack 中使用vnc无法连接虚拟机
来源:互联网 发布:淘宝买东西在哪里备注 编辑:程序博客网 时间:2024/06/05 09:45
用Mirantis搭建了OpenStack环境,但是在instance启用虚拟机的时候显示连接超时(“Connection timeout“),问题排查了一天,终于找到了原因,下面挨踢小茶来介绍一下具体有哪些因素可能会导致这种情况。
首先查看controller下/var/log/nova/nova-novncproxy.log文件,看看会有什么报错:
2015-07-15 12:28:49.341 3960 INFO nova.console.websocketproxy [req-a08c6137-5729-47ba-9d4e-2f7db78a12b7 None] 46: connecting to: 10.186.182.7:5900
2015-07-15 12:28:59.358 3960 INFO nova.console.websocketproxy [req-a08c6137-5729-47ba-9d4e-2f7db78a12b7 None] handler exception: [Errno 32] Broken pipe
看到了虚拟机尝试连接compute节点(10.186.182.7)的VNC端口(5900),但直接出现了报错。
因此先查看一下10.186.182.4的5901的联通性:
在controller下查看:
[root@node-4 ~]# telnet 10.186.182.7 5900
Trying 10.186.182.7…
Connected to 10.186.182.7.
Escape character is ‘^]’.
RFB 003.008
发现compute节点的5900端口是打开的,而且可以正常连接该端口。
因此重新检查controller节点和compute节点关于nova的配置文件,配置文件也没有太大问题。
在controller节点上输入“nova get-vnc-console test2 novnc”,结果如下:
+——-+———————————————————————————–+
| Type | Url |
+——-+———————————————————————————–+
| novnc | http://10.186.182.2:6080/vnc_auto.html?token=1a724d49-dd86-4081-aa05-64cadeac52ef |
+——-+———————————————————————————–+
通过此URL去访问虚拟机,发现还是同样的报错”connection timeout”
后来在一个论坛上终于找到了解决的方案,是一个DNS引起的问题。
https://bugs.launchpad.net/mos/+bug/1409661
原因是Mirantis的Master节点没有连接到公网的地址,而默认在这个节点上会使用8.8.8.8的DNS服务器地址来做地址解析,所以如果该节点访问不了这个地址(就算连接到Internet也可能访问不了这个地址,因为8.8.8.8是Google的服务器,会被和谐掉,你懂的),就会出现DNS解析超时的情况,因此会出现如题所示的错误。解决方法有2个,一个是将8.8.8.8地址改为一个内网或者公网可以访问到DNS服务器,二是将这个地址改为127.0.0.1,此服务器会忽略DNS解析过程。具体操作步骤如下:
- dockerctl shell cobbler
- vi /etc/dnsmasq.upstream
- 更改8.8.8.8到一个内网或者公网的DNS服务器,或者改成127.0.0.1
- /etc/init.d/dnsmasq reload
然后再试试访问虚拟机的VNC Console,发现已经可以正常访问啦!
其实后来挨踢小茶发现,主要原因是因为用Mirantis部署的所有节点,都会默认使用Mirantis Master上的cobbler机器来做DNS解析,其实解决这个问题的最好方法是将所有节点的/etc/resolv.conf文件进行修改,将DNS修改为公网地址或者是内网可以访问的DNS服务器的地址!
- Fuel6.1 Mirantis OpenStack 中使用vnc无法连接虚拟机
- Mirantis OpenStack Fuel6.0安装使用—Step1
- Mirantis OpenStack Fuel6.0安装使用—Step2
- Mirantis OpenStack
- openstack vnc连接错误
- 使用fuel6.0自动安装openstack-juno版本
- 使用fuel6.0自动安装openstack-juno版本(2)
- OpenStack Horizon 使用VNC
- vnc连接xen虚拟机
- Mirantis OpenStack HA
- windows上通过vnc连接虚拟机中linux系统
- windows上通过vnc连接虚拟机中linux系统
- windows上通过vnc连接虚拟机中linux系统
- openstack中使用GRE后,外部网络无法ssh到虚拟机的解决办法
- 使用VNC连接Ubuntu Server 12.10无法输入字母D
- 使用VNC连接Ubuntu Server 12.10无法输入字母D
- Mirantis、 IBM对OpenStack进行性能测试,规模达到75000个虚拟机(转)
- Mirantis Fuel OpenStack快速安装
- android:visible = "invisible"和android:visible = "gone"的区别
- OpenCV获取与设置像素点的值的几个方法
- android屏幕自适应
- mybatis学习笔记(-)
- Nginx做前端Proxy时TIME_WAIT过多的问题
- Fuel6.1 Mirantis OpenStack 中使用vnc无法连接虚拟机
- CentOS添加Tomcat自启动
- codeforces568E.Longest Increasing Subsequence
- NSDate 使用
- linux-centos6.5 yum安装php5.4 apache2.2
- 会编程的煤老板
- session之servlet
- mybatisl中#和$区别
- 支持向量机SVM(一):支持向量机SVM的推倒:从logistic回归,到函数间隔,集合间隔,到寻找最优间隔分类器。