本帖最后由 pig2 于 2014-8-1 23:53 编辑
问题导读:
1.连接vnc的流程是如何的?
2.在horizion中使用VNC功能,需要启动哪些服务?
3.如何获取实例的VNC访问地址?
(注:本文为E版的配置内容)
连接VNC控制台的过程
1.用户通过连接API,获得一个类似于“http://ip:port/?token=xyz”的链接地址
2.用户将该URL粘贴到浏览器或者客户端程序中
3.浏览器或客户端连接代理服务器
4.代理服务器通知nova-consoleauth程序对用户的令牌进行验证,之后将该令牌发送给某个启动VNC服务的计算实例。计算实例主机告诉代理服务器能够通过nova.conf配置文件中指定的某一个vncserver_proxyclient_address地址进行访问。在这一过程中,VNC代理服务器在公共网络和私有网络之间充当了网络桥设备的功能。
5.代理服务器发起对VNC服务器的链接,并提供代理服务直到该会话结束。
典型部署
一个典型的部署需要由下面几个组件组成:
一个nova-consoleauth进程。通常运行在控制器主机上。
一个或多个nova-novncproxy服务。该服务提供基于浏览器的novnc客户端访问。
一个或多个nova-xvpvncproxy服务。该服务提供基于Java的客户端访问。
一个或多个compute节点。需要对compute节点进行正确配置。
如何通过web浏览器访问VNC控制台
使用root用户,安装包含nova-novncproxy服务的novnc软件包
复制代码 安装之后,该服务会自动启动。之后,需要重启一下该服务:
复制代码 需要在包含消息队列服务地址和认证的配置文件nova.conf中,进行相关的设置。
复制代码
复制代码 通过web浏览器访问VNC控制台获取浏览器访问链接地址URL(server_id即实例id)
- nova get-vnc-console [server_id] novnc
复制代码
之后,粘贴该URL到你的WEB浏览器中。通常你可以通过OpenStack Dashboard去访问那些能够提供浏览器VNC访问的计算实例。
FAQ
Q:我想在horizion中使用VNC功能,需要启动哪些服务?
A:需要nova-novncproxy,nova-concoleauth,和对compute节点的正确配置。
Q:当我在horizon中使用"nova get-vnc-console"或者点击vnc选项卡,卡住了,怎么回事?
A:确保运行nova-consoleauth(nova-novncproxy附加的)。这些代理依赖于nova-conoleauth验证令牌,和倒计时截至时间回应。
Q:我的VNC 代理在All-In-One test上表现良好,但是在多个主机上不能工作,为什么?
A:默认的flag值是All-In-One的配置,当你构建集群时,必须在compute节点上修改。例如,两个compute节点。
- PROXYSERVER (public_ip=172.24.1.1, management_ip=192.168.1.1)
- COMPUTESERVER (management_ip=192.168.1.2)
复制代码
你的compute节点配置文件必须有下列参数:
- # These flags help construct a connection data structure
- vncserver_proxyclient_address=192.168.1.2
- novncproxy_base_url=http://172.24.1.1:6080/vnc_auto.html
- xvpvncproxy_base_url=http://172.24.1.1:6081/console
-
- # This is the address where the underlying vncserver (not the proxy)
- # will listen for connections.
- vncserver_listen=192.168.1.2
复制代码
注意:novncproxy_base_url和xvpvncproxy_base_url使用公共IP,这俩IP是要返回到用户端的,一般不提供给私有网络访问。你的PROXYSERVER必须能够访问vncserver_proxyclient_address,因为这个ip地址是为vnc连接提供代理的IP。
Q:我的noVNC不能支持常用的web浏览器。为什么?
A:确保你安装了支持新版本的WebSocket协议(HyBi-07+)的python-numpy,同时,如果使用diablo的nova-vncproxy,注意这个协议也没有提供。
Q:Linux系统上有哪些值得推荐的VNC客户端?
A:我目前使用的是GNOME下的Vinagre客户端,该客户端支持SSH、VNC、RDP访问,推荐使用。另外还有TightVNC等客户端也不错。
#################################################################
本文转自:http://www.weittor.com/something-about-openstack-vnc.html
|