OpenStack和VNC
Openstack默认安装的訪问控制台基于VNC的。我们从Horizon进入主机实例的控制台,就是noVNC。我在之前的一篇文章里专门对noVNC也做过測试(http://blog.csdn.net/chao_beyond/article/details/24922397)。这里不讨论noVNC的原理,主要罗列下我在使用OpenStack过程其中。关于VNC的几点记录:
1。 通过nova get-vnc-console <server id> novnc命令。能够获取对应云主机实例的url。然后拷贝到浏览器直接打开。
2, 除了noVNC的訪问类型,默认还有xvpVNC訪问类型。能够通过普通client来訪问控制台。
在github上实用java写的xvpvncviewer,代码还是比較好读,执行起来也简单。后期也计划对xvpvncviewer做更进一步的二次开发。获取xvpVNC訪问的url同上面的命令,仅仅须要将novnc改成xvpvnc。个人更喜欢xvpvnc。
3, Openstack的云主机实例,默认是从5900port開始的,对于少量測试的主机实例来说,能够猜測出vnc地址和port,这样一来。不论什么VNC Client都能够用来连接。
4,OpenStack有获取訪问控制台url 的api。能够在代码其中调用。地址。
Spice和VNC
刚開始是在VNC上折腾。后面将windows镜像放在Openstack,发现VNC非常多问题。比方出现两个鼠标光标、屏幕无法自适应等,桌面系统的用户体验非常糟糕。考虑在VNC上进行改动意义不大。而且參考了网上关于Spice和VNC的比較,最后放弃VNC选择了Spice。以下主要讲OpenStack和Spice的融合。
OpenStack和Spice-HTML5
Openstack是支持Spice,用devstack安装Openstack,仅仅须要在localrc文件中面凝视掉vnc的配置项。增加下面内容就可以:
enable_service n-spice
disable_servicen-novnc
disable_service n-xvnc
可是,须要注意下面几点:
1, 眼下仅仅在Centos和Fedora上測试成功。Ubuntu不行。
Ubuntu系统眼下还没有Spice的安装包。手动安装也没有成功,听说未来Ubuntu会支持Spice。
2, 通过以上配置,在Openstack节点安装了Spice-Server,Spice-Protocol和Spice-HTML5,仅仅能通过网页訪问实例主机控制台(Spice-HTML5和noVNC类似)。
3。 假设Spice-HTML5未自己主动安装,须要手动安装,RPM包地址。还须要将Spice-HTML5的文件夹文件拷到/opt/stack以下。
OpenStack和Spice-http
关于Spice-http的设想源于xvpVNC,由于通过网页訪问控制台(系统桌面)还是有非常大的局限性,当初希望Openstack也有类似client。后来初步的设想是仿照VNC在OpenStack訪问原理,在Openstack其中增加类似xvpVNC的支持模块。支持Spice Client。
(未完待续,扩展或參考内容文中超链接)