安装完,集群后,vm的控制口打不开,页面报1006错误,定位过程解决过程如下。打开nova-novncproxy.log看到下面的报错。
找到了vnc的原理图如下,日志问题报错,看了nova对应的代码后,在14和15校验token出问题了,nova-novncproxy向nova-consoleauth check token。
在浏览器中多次打开vm的控制口,发现下面log不在一个节点的log中
Received Token: 834f67e6-e5ba-4d4b-bbcb-a7e0d1aef210, {'instance_uuid': u'07fbdd20-8f9c-46f8-be5c-fd24bb0770c6', 'access_url': u'http://10.27.24.50:6080/vnc_auto.html?token=834f67e6-e5ba-4d4b-bbcb-a7e0d1aef210', 'token': u'834f67e6-e5ba-4d4b-bbcb-a7e0d1aef210', 'last_activity_at': 1629194797.839682, 'internal_access_path': None, 'console_type': u'novnc', 'host': u'10.27.24.54', 'port': u'5900'}
2021-08-17 18:07:25.430 21577 INFO nova.consoleauth.manager [req-4f9847fc-987d-459a-abb6-fede2688781d - - - - -] Checking Token: 909de399-c9a6-4ecf-a1ce-f5eefa9c6dea, False
怀疑是和cache 有关系,保留了一个节点上的nova服务,stop其余两个节点的nova相关服务,再次尝试打开nova的控制口,发现成功了。问题清楚了,就是cache 配置导致的问题。三个控制节点的nova.conf中加入下面的配置:
[cache]
memcache_servers=10.1.1.51:11211,10.1.1.52:11211,10.1.1.53:11211
backend=oslo_cache.memcache_pool
enabled=True
debug_cache_backend=True
重启三个控制节点上的nova 相关服务,完美解决问题。