环境背景:
n版本采用pacemaker部署的openstack集群环境,对接ceph存储。
使用crm 管理各服务状态
问题现象:
用户通过页面或者后台get-novnc命令获取虚机的vnc窗口,通过获取的链接登陆后,闪现1-2s为虚机实际页面,然后就提示超时断开,无法访问虚机页面。
排查过程:
1. 首先,集群的控制服务均正常,例如nova-api,rabbitmq,mariadb。
vnc相关的novncproxy以及consoleauth服务均显示active
2. 处理该问题之前,了解一下,vnc服务这块的逻辑(网上都可以搜到,比较简单),主要如下:
根据遇到上面的现象,看起来已经进行到了最后一步,整个流程看起来没有问题,难道是token有效期非常短?
3. 于是检查了nova、keystone的token的过期时间,也没问题。
4. 根据之前遇到过的已知经验,重启了nova-novncproxy服务,仍然不行,
/var/log/nova/novncproxy日志里,一直打印connection reset by peer,
这个打印也很符合遇到的现象: 连接上了然后又突然中断。
此时,想到了ssh的一种场景: ssh链接上了,然后突然断掉。
此时,茅塞顿开!找到了问题的根本原因! 你们觉得原因会是什么呢。。欢迎评论