Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17505
  • 博文数量: 5
  • 博客积分: 125
  • 博客等级: 入伍新兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-03 23:00
文章分类
文章存档

2012年(5)

我的朋友

分类: 云计算

2012-06-05 13:05:44

摘要:文中将介绍在多节点和多网口的情况下怎样配置NoVNC,达到在浏览器中可以访问虚拟机的目的。

一,noVNC在控制节点上的配置
      
    openstack的安装配置不是本文的重点,请参考其他文档做安装和配置。
    在/etc/nova/nova.conf中的关于NoVNC的配置如下:
    

点击(此处)折叠或打开

  1. #novnc
  2. --vnc_enabled=True
  3. --vnc_console_proxy_url=
  4. --vncproxy_wwwroot=/opt/noVNC
  5. --vncproxy_url=
     配置中的controllereth0为对外提供服务的ip。
     如果不是自己源码安装noVNC的话,不需要--vncproxy_wwwroot,否则需要配置noVNC的具体位置。
     在对noVNC进行配置的时候,请认真理解noVNC的实际工作原理。noVNC实际上是http请求的代理,将http的请求转发到具体的VNC服务器上。

二,noVNC在被控制节点上的配置
  

点击(此处)折叠或打开

  1. #novnc
  2. # These flags help construct a connection data structure
  3. --vncserver_proxyclient_address=computeeth1
  4. --novncproxy_base_url=/vnc_auto.html
  5. --xvpvncproxy_base_url=
  6. # This is the address where the underlying vncserver (not the proxy)
  7. # will listen for connections.
  8. --vncserver_listen=computeeth1
     配置文件中的computeeth1 为被控制服务器的内网ip,controllereth0为控制节点的外网ip。 注意控制节点和被控制节点的内网(eth1)要能够互相访问。
     在实际配置的过程中,往往这么配置也不能够通过浏览器访问到虚拟机的VNC服务,是因为我们还需要修改qemu的配置文件,让VNC服务器对内网监听(eth1)
      将/etc/libvirt/qemu.conf中的
      vnc_listen = "127.0.0.1"
      修改为:
      vnc_listen = "eth1ip"
      这样实际的VNC服务就会对内网(eth1)监听了。
 
三,总结
       从noVNC的工作原理我们不难看出,实际还是一个proxy的过程。
       外网的VNC http请求的大概过程为:
       VNC request<-------------->controller noVNC server(eth0)<---proxy------> controller(eth1)<-----------------> compute VNC server (eth1)
         经过这样一个过程,请求最终达到VNC server,服务得到响应。
                                                                   
 
阅读(4155) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~