今天我遇到一个问题是基于openstack平台VM无法打开novnc控制台,并且使用nova get-vnc-console $VM_UUID novnc获取URL,把URL粘贴到浏览器地址依然无法访问。
一开始我以为是Win7系统中的Firefox异常,然后重新安装了火狐。因为openstack 平台里面有bootstrap技术,火狐浏览器对openstack的平台支持比较好。
可是后来使用nova get-vnc-console $VM_UUID novnc发现依然无法访问。我觉得不是我浏览器的问题。
于是从openstack的系统中查起来。我想到:查看vnc proxy服务的状况,看openstack-nova-novncproxy服务运行情况。
使用命令:/etc/init.d/openstack-nova-novncproxy status。
发现:openstack-nova-novncproxy进程已经dead,但是PID 文件仍然存在。
看到报错,我更加确认是openstack-nova-novncproxy的服务问题,于是重启服务:
/etc/init.d/openstack-nova-novncproxy restart,重启服务依然报错。
这是由于系统还有novnc 进程在运行,导致重启openstack-nova-novncproxy服务失败。
我终于要发大招了:ps -ef|grep novnc。然后逐一kill掉正在运行的novnc进程。然后再重启openstack-nova-novncproxy进程:
/etc/init.d/openstack-nova-novncproxy restart.
终于能启动成功了,接着继续进行验证:
nova get-vnc-console $VM_UUID novnc 使用获取的URL访问,发现可以正常查看到VM的NOVNC控制台。
我终于解决了问题,我好高兴啊,嘻嘻!