@Alex-Zhao
2018-05-29T10:23:31.000000Z
字数 2177
阅读 283
OpenStack
在控制节点高可用情况下,需要使用到多个memcache节点。而openstack-nova-consoleauth在check token的时候需要去memcache里获取token,以下简述VNC运行过程。
关于OpenStack的VNC运行过程简述如下:
环境概括:
3个controller节点+10个计算节点(3个controller节点包含nova的相关控制服务还有memcache服务)
问题现象:
在打开某台虚拟机的console过程中发现在浏览器出现Failed to connect to server (code: 1006)
,刷新3次以内会有一次访问成功。通过nova-consoleauth log发现每次打开console时候是在三个节点上轮询的,三个节点其中一个是可以成功,其他两个都是访问不成功导致token过期。
2018-04-26 16:22:53.833 1918 INFO nova.consoleauth.manager [req-a84cf44b-d7ae-4e7b-a2d9-24bc67ee0649 - - - - -] Checking Token: d4069504-ee8d-4375-8908-ff16897bcfc4, False
2018-04-26 16:22:58.287 1918 INFO nova.consoleauth.manager [req-ed78807e-f7cf-445f-9d7f-ff98213cb9a4 - - - - -] Checking Token: d4069504-ee8d-4375-8908-ff16897bcfc4, False
2018-04-26 16:25:21.048 1918 INFO nova.consoleauth.manager [req-f3773af1-a9df-4b80-8d6f-7d6b46ff2198 - - - - -] Checking Token: d4069504-ee8d-4375-8908-ff16897bcfc4, False
将console相关的服务(测试的服务有memcache、openstack-nova-novncproxy)都变为单节点时,问题依旧,直到将openstack-nova-consoleauth服务变为单节点时,问题解决。
解决方法:
发现在OpenStack从M版本开始,cache参数配置开始出现变化。
参考文档:New, updated, and deprecated options in Mitaka for Compute
[cache]
enabled = true
backend = oslo_cache.memcache_pool
memcache_servers = "controller1:11211,controller2:11211,controller3:11211"
关于oslo.cache的参数可以参考文档:oslo.cache - Configuration Options
顺便补充一点:发现从N版本开始neutron的cache配置改为和nova一致了