OpenStack之noVNC问题(Failed to connect to server (code: 1006))处理

转载 2016年08月29日 17:54:02

原博文地址 : http://www.itbaofeng.com/?p=264


1.环境及问题描述

环境

  • OpenStack版本:juno
  • 操作系统版本:CentOS 7.1 x86_64
  • 3个controller节点 + 1个computer节点 + 1个haproxy节点(其中controller节点兼computer使用)

问题描述

搭建好测试环境后,发现在打开云主机控制台的时候,显示:Failed to connect to server (code: 1006)
每刷新3次,有1次可以连接。

3个controller节点的consoleauth日志信息如下:

  1. #controller1:
  2. 2015-10-10 11:05:05.051 1104 AUDIT nova.consoleauth.manager [req-0f697774-b778-4ce8-9cff-7078e2036317 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  3. 2015-10-10 11:05:23.870 1104 AUDIT nova.consoleauth.manager [req-b04e2736-6283-4ba2-bea3-bc556a8e60d6 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  4. 2015-10-10 11:13:48.088 1104 AUDIT nova.consoleauth.manager [req-a9258fed-35d4-492f-9a5a-00a3b58240d4 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  5. 2015-10-10 11:36:18.694 1104 AUDIT nova.consoleauth.manager [req-c5a66fba-b99d-4a57-840f-a74ed3c7c2da None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  6. #controller2:
  7. 2015-10-10 11:05:07.044 1103 AUDIT nova.consoleauth.manager [req-ca733888-bfa0-46f4-abf2-49e1c8693b9c None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  8. 2015-10-10 11:05:56.271 1103 AUDIT nova.consoleauth.manager [req-b4310c18-61c1-49e9-97dd-8db8ea0c4ef5 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  9. 2015-10-10 11:13:45.048 1103 AUDIT nova.consoleauth.manager [req-a1ddd835-1694-4d28-956b-6d700b550897 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  10. 2015-10-10 11:13:49.734 1103 AUDIT nova.consoleauth.manager [req-e278eede-ed05-4bc7-b667-c393f9c900f1 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, False
  11. #controller3:
  12. 2015-10-10 11:05:04.723 1096 AUDIT nova.consoleauth.manager [req-2c015318-f860-4ab9-addf-22681c72c7ef None] Received Token: fef65824-406b-42e5-9199-4ee8194e39fa, {'instance_uuid': u'88445c97-f175-4225-9ff3-be7e4bc621ca', 'internal_access_path': None, 'last_activity_at': 1444446304.72337, 'console_type': u'novnc', 'host': u'172.168.128.138', 'token': u'fef65824-406b-42e5-9199-4ee8194e39fa', 'port': u'5901'}
  13. 2015-10-10 11:05:10.897 1096 AUDIT nova.consoleauth.manager [req-5b2bece9-89d3-4099-b3e9-af9dd69e6481 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, True
  14. 2015-10-10 11:06:02.011 1096 AUDIT nova.consoleauth.manager [req-38d0ceb4-67fb-4ed3-b10e-25e69e31548e None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, True
  15. 2015-10-10 11:13:46.502 1096 AUDIT nova.consoleauth.manager [req-2a26287c-d33e-4201-9641-27caadccf446 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, True
  16. 2015-10-10 11:13:51.365 1096 AUDIT nova.consoleauth.manager [req-bf01a298-7cc7-4fcd-a565-3e96fdf29226 None] Checking Token: fef65824-406b-42e5-9199-4ee8194e39fa, True

2. 问题分析

通过日志我们可以总结:当我们通过dashboard通过novnc访问控制台的时候,获取到的token值是固定的,然后会轮询到3个controller节点进行token验证,而这3个controller节点上对同一个实例的token值是不同的。

2.1 NOVNC实现原理

我们先了解一下NOVNC的实现原理:
参考:

noVNC的处理流程如下图所示:

2.2 问题分析

从上面的图中可以看出,本次的问题出现在第7步,check token不一致。为什么会出现不一致呢?
原因在于3个controller节点的nova-consoleauth的cache是独立的,对同一个实例存放了3个节点有3个不同的token,因此导致每3次连接有2次连接报错(Invalid Token)

3. 问题解决方法

参考:high-availability-guide中memcached章节
使用memcache,把consoleauth的cache存放在memcache中,这样3个controller节点中对同一个instance的token就一致了。
在3个controller节点的在nova.conf中添加:

  1. # Memcached servers or None for in process cache. (list value)
  2. memcached_servers = controller3:11211,controller2:11211,controller1:11211

重启openstack-nova-consoleauth服务后noVNC就可以正常访问了。


openstack控制台出错Failed to connect to server (code: 1006)

错误描述 :打开openstack控制台后,控制台出错,显示Failed to connect to server (code: 1006),如下图: 错误分析:点击只显示控制台可看到地址是cont...
  • Moolight_shadow
  • Moolight_shadow
  • 2015年04月12日 22:05
  • 9077

Openstack 出现"Failed to connect to server (code: 1006)“总结

在安装了正确的Openstack后出现了
  • yzg2010a
  • yzg2010a
  • 2014年08月04日 21:50
  • 7794

openstack 安装常见配置和错误处理

问题一:重启机器出现组件没法互通   openstack Failed to connect to server code:1006   重启后出现组件无法互通,很可能是因为防火墙问题。 简...
  • xinxing__8185
  • xinxing__8185
  • 2016年06月24日 15:47
  • 11362

关于Spark报错不能连接到Server的解决办法(Failed to connect to master master_hostname:7077)

如何彻底解决 Failed to connect to master master_hostname:7077
  • ybdesire
  • ybdesire
  • 2017年04月24日 22:48
  • 9178

LoadRunner - Failed to connect to server "127.0.0.1:8888"

最近在用loadRunner做性能测试的时候,发现原本录制好的脚本在本地可以replay成功,但是放到VM的时候就出现Failed to connect to server "127.0.0.1:88...
  • xunyicaoding
  • xunyicaoding
  • 2013年10月11日 10:05
  • 4756

openstack vnc分析

VNC (Virtual Network Computer)是虚拟网络计算机的缩写。VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX...
  • hao119119
  • hao119119
  • 2015年06月29日 11:19
  • 3525

openstack novnc 配置详解

openstack中 novnc配置相关选项 VNC配置 (转载)   2013-09-27 14:57:30|  分类: openstack |举报 |字号 订阅 ...
  • yuyezhulan
  • yuyezhulan
  • 2015年01月26日 14:11
  • 647

rsync错误处理-failed to connect to 192.168.xxx.xxx: Connection refused (111)

=================================================================================================== ...
  • Cookie_1030
  • Cookie_1030
  • 2014年12月11日 13:48
  • 4843

愚蠢的错误 Failed to connect to 127.0.0.1 port 8888 :conection refused

Android Studio 链接GITHUB的一个错误。 Push failed Failed with error:fatal:unable to access 'https://github.c...
  • jamin0107
  • jamin0107
  • 2017年01月12日 17:59
  • 5940

Failed to connect to SDP server on FF:FF:FF:00:00:00: Connection refused问题解决方法

如果在移植bluez时使用的是5.xx版本,很可能会遇到Failed to connect to SDP server on FF:FF:FF:00:00:00: Connection refused...
  • u010406724
  • u010406724
  • 2017年03月31日 17:37
  • 1175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenStack之noVNC问题(Failed to connect to server (code: 1006))处理
举报原因:
原因补充:

(最多只允许输入30个字)