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也有

rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg">Vmware
Horizon Client
类似client。后来初步的设想是仿照VNC在OpenStack訪问原理,在Openstack其中增加类似xvpVNC的支持模块。支持Spice Client。

(未完待续,扩展或參考内容文中超链接)

OpenStack云桌面系列【2】—OpenStack和Spice的更多相关文章

  1. OpenStack云桌面系列【1】—開始

    关于"云桌面"和"桌面云" 首先,wiki里面是没有关于"桌面云"和"云桌面"的定义和其他信息.     百度百科   ...

  2. 干货|带你体验一次原生OpenStack云平台发放云主机的过程

    一个执着于技术的公众号 1 前言 上一章节我们完成了OpenStack云平台的搭建工作,今天就带大家一起学习下如何发放一台云主机 点击查看:如何搭建一套OpenStack云平台 2 发放OpenSta ...

  3. OpenStack虚拟云桌面在携程呼叫中心的应用

    编者:本文为刘科在第六期[携程技术微分享]中的分享内容.在携程技术中心(微信号ctriptech)微信后台回复[云桌面],可加入微信交流群,和关注云桌面的小伙伴一起玩耍~ 刘科,携程系统研发云平台桌面 ...

  4. 我所了解的 京东、携程、eBay、小米 的 OpenStack 云

    参加过几次 OpenStack meetup 活动,听过这几家公司的Architect 讲他们公司的 OpenStack产品.本文试着凭借影响加网络搜索,按照自己的理解,对这些公司的 OpenStac ...

  5. IBM、京东、携程、eBay 的 OpenStack 云

    我所了解的 IBM.京东.携程.eBay 的 OpenStack 云 参加过几次 OpenStack meetup 活动,听过这几家公司的Architect 讲他们公司的 OpenStack产品.本文 ...

  6. 干货 | 手把手教你搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台. 我们使用Kolla部署stein版本的OpenStack云平台. kolla是用于自动化部署OpenStack的一个项目,它基于dock ...

  7. openstack云5天资料

    在网上看到有个人的博客,写了个openstack云5天学习资料.对于英文不怎么好的童鞋来说,感觉还可以.可以对openstack有所了解和认识,对后续openstack更加深入的学习有很大的帮组.   ...

  8. OpenStack云平台网络模式及其工作机制

    转自:http://openstack.csdn.net/content.html?arcid=2808381 OpenStack云平台网络模式及其工作机制 网络,是OpenStack的部署中最容易出 ...

  9. 4 云计算系列之Openstack简介与keystone安装

    preface KVM 是openstack虚拟化的基础, 再介绍了kvm虚拟化技术之后,我们介绍下openstack和如何搭建. Openstack组件 openstack架构图如下所示 那么我们就 ...

随机推荐

  1. mybatis 详解

    http://www.cnblogs.com/ysocean/category/1007230.html

  2. 从普通函数到对象方法 ------Windows窗口过程的面向对象封装

    原文地址:http://blog.csdn.net/linzhengqun/article/details/1451088 从普通函数到对象方法 ------Windows窗口过程的面向对象封装 开始 ...

  3. Java链式异常

    以下实例演示了使用多个 catch 来处理链试异常:public class Main { public static void main (String args[])throws Exceptio ...

  4. 用xcode 5 开发访问IOS 7上面的通讯录有问题

    NSMutableArray *addressBookTemp = [NSMutableArray array]; ABAddressBookRef addressBooks = ABAddressB ...

  5. IOS开发常用宏定义

    //release屏蔽NSLog//放在.pch文件里#ifdef DEBUG #else#define NSLog(...) {};#endif //G.C.D#define BACK(block) ...

  6. 波吉亚家族第一季/全集The Borgias 1迅雷下载

    波吉亚家族 第一季 The Borgias Season 1 (2011)本季看点:<波吉亚家族>是一个非常复杂的故事,是现代人描绘这个臭名昭著的王朝家族过往历史的一副有趣又坦率的肖像画. ...

  7. win7 64位系统及开发环境重装后的总结

    前言 话说来这家公司之后就一直使用这个系统,现在感觉这系统跑的实在是有点慢了,运行,调试各种浪费时间呀,不过也用了将近20个月了,这也可以说是我用的最久的一个系统了.由于新项目即将拉开战幕,所以自己趁 ...

  8. 你真的懂Handler.postDelayed()的原理吗?

    转载自http://www.dss886.com/2016/08/17/01/   阅读之前先问大家一个问题:Handler.postDelayed()是先delay一定的时间,然后再放入messag ...

  9. Java中IO的简单举例

    package com.kale.io; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStr ...

  10. 使用SpringBoot的关于页面跳转的问题

    示例如下: @Controller public class UserController { @Resource UserService userService; @RequestMapping(& ...