一种基于OpenStack和Spice的云桌面实现方法

文档序号:8248184阅读:1004来源:国知局
一种基于OpenStack和Spice的云桌面实现方法【
技术领域
】[0001]本发明属于云计算领域,特别涉及一种基于OpenStack和Spice的云桌面实现方法。【
背景技术
】[0002]OpenStack是美国国家宇航局和Rackspace发起、全球众多IT公司共同参与开发的软件项目,该项目旨在为公有云和私有云的IaaS(基础设施即服)层提供可靠、可扩展的云部署方案,从而实现类似于Amazon的云基础架构服务。目前,日益成熟的OpenStack拥有云计算系统的绝大多数功能,已经可以满足企业对云服务的需求。同商业的云计算软件相比,开源的云计算软件不仅降低了企业部署私有云或者公有云平台的成本,企业还可以通过修改源码定制特定的业务服务。现在开源的云计算系统有很多,比如OpenNebula、CloudStack和Eucalyptus等,和这些系统相比,OpenStack具有模块松親合、组件配置灵活和二次开发容易等特点,使得它能够脱颖而出,受到众多公司的青睐。[0003]云桌面是云计算领域的一个应用分支,它将系统桌面、应用桌面等作为云端的服务向用户提供,一般通过客户端或者其他任何与网络相连的设备来访问跨平台的整个桌面系统和其中应用程序。传统的计算机桌面和个人电脑密切相关,使用方式上受限于单台主机的资源限制和空间位置,并且计算机桌面的安装、升级和备份等都需要用户自己完成。和传统的计算机桌面相比,云桌面主要有以下优势:(1)云桌面通过集中化的管理,省去单个用户在桌面系统安装、升级等的管理成本;(2)云桌面的所有的数据和运算都在服务器端进行,客户端只用于显示桌面变化的影像,具有更高的安全性;(3)云桌面对客户端设备的资源配置要求低,可以节省硬件资源、降低能源消耗。但是,对于企业和普通用户来说,云桌面能否推广取决于它是否和传统桌面有相同的体验。[0004]Spice(独立计算环境的简单协议,SimpleProtocolforindependentComputingEnvironment)是一个开放的远程计算解决方案,该项目提供了和虚拟桌面进行交互的解决方案,并且是完全开源的,客户端可以通过该协议访问远程系统桌面和使用本地设备(比如键盘,鼠标,aud1和USB)。通过Spice我们可以像使用本地计算机一样访问远程系统,这样可以把CPU密集工作从客户端移交给远程高性能机器。Spice适用于LAN和WAN,并且不会损害用户体验。Spice项目可以处理虚拟设备的前端(front-end)和后端(back-end),在前端和后端间通过VDI(VirtualDeviceInterfaces,虚拟设备接口)进行交互。[0005]云桌面和传统桌面相比所体现出来的优势,已经受到很多企业的关注,同时带动了更多的市场需求。然而,受到技术的限制,云桌面市场一直被VMware、Citrix和微软等商业公司所占有,普通企业应用云桌面的成本高昂。【
发明内容】[0006]本发明的目的在于克服现有技术的缺点与不足,提供一种基于OpenStack和Spice的云桌面实现方法,该方法融合OpenStack和Spice的优势,针对云桌面的体验需求进行功能扩展和技术优化,降低了使用成本,适合普通企业的使用。[0007]本发明的目的通过下述技术方案实现:一种基于OpenStack和Spice的云桌面实现方法,包括以下步骤:[0008]步骤1、制作OpenStack的云桌面系统镜像;[0009]步骤2、整合OpenStack和Spice,封装有Spice协议的云桌面客户端直接与OpenStack的云桌面系统进行连接;[0010]步骤3、将OpenStack的配置属性need_usb_tablet修改为True,根据OpenStack修改后的属性将OpenStack中的云桌面系统在云桌面客户端中的鼠标光标进行重影;[0011]步骤4、在OpenStack的云桌面系统实例主机中安装Spice中的GuestTools,云桌面系统根据Spice中的GuestTools对云桌面客户端所在终端的屏幕进行自适应显示;[0012]步骤5、在OpenStack的云桌面系统中添加音频模块并且进行视频加速:在OpenStack的云桌面系统中注册虚拟声卡,根据云桌面系统的类型选择相应的声卡模式,为云桌面系统中添加音频模块;将OpenStack中云桌面系统的视频类型换成SpiceQXL,并配置2D/3D加速属性,实现视频的加速;[0013]步骤6、更改云桌面系统实例主机中disk的源文件路径或者替换已有文件,将云桌面系统中的镜像文件加载到云桌面CD-ROM中;[0014]步骤7、定制云桌面客户端:将云桌面系统中返回的对应云桌面客户端的地址写入到remote-viewer模块中,并且在remote-viewer模块中添加OpenStack的认证部分。[0015]优选的,所述步骤2中整合OpenStack和Spice时,封装有Spice协议的云桌面客户端直接连接OpenStack的云桌面系统的具体步骤如下:[0016]步骤2-1、打开终端中封装有Spice协议的云桌面客户端;[0017]步骤2-2、云桌面客户端向OpenStack中的Nova-API模块发送需要连接的云桌面系统ID,Nova-API模块根据云桌面系统ID获取到Spice访问地址;[0018]步骤2-3、OpenStack中的Nova-API模块在获取到Spice访问地址后,向OpenStack中Nova-Compute模块发送资源请求,Nova-Compute模块根据其接收到的资源请求向Libvirt模块获取云桌面Spice控制台信息;[0019]步骤2-4、Nova-Compute模块向Libvirt模块获取云桌面Spice控制台对应的地址和端口;[0020]步骤2_5、Libvrit模块从云桌面系统对应的实例主机的信息中获取云桌面Spice控制台对应的地址和端口;[0021]步骤2-6、Libvrit模块将云桌面Spice控制台地址和端口信息发送给Nova-Compute模块和Nova-API模块,并且通过Nova-API模块将云桌面Spice控制台地址和端口信息返回到Nova-ConsoleAuth模块中;[0022]步骤2-7、Nova-Compute模块接收到Libvrit模块发送的云桌面Spice控制台地址和端口信息后,生成认证token并且返回给Nova-API模块;[0023]步骤2-8、Nova-API模块接收到云桌面Spice控制台信息后,Nova-API模块向云桌面客户端返回调取云桌面Spice控制台信息的认证token;[0024]步骤2-9、云桌面客户端通过认证token在Nova-ConsoleAuth模块获取Spice控制台地址和端口信息;[0025]步骤2-10、Nova_ConsoleAuth模块将Spice控制台地址和端口信息返回给云桌面客户端,云桌面客户端根据Spice控制台地址和端口信息连接到对应OpenStack的云桌面系统。[0026]优选的,所述步骤2中整合OpenStack和Spice时采用devstack来安装OpenStack,在devstack的1calrc配置文件当中启动Spice服务,并且在OpenStack的云桌面系统中添加Spicechannel(Spice传输通道)。[0027]优选的,根据权利要求1所述的基于OpenStack和Spice的云桌面实现方法,其特征在于,所述步骤5中当云桌面系统的类型为WindowsXp时选择的声卡模式为ac97,当云桌面系统的类型为Windows7时选择的声卡模式为ich6。[0028]更进一步的,当云桌面系统的类型为Windows7时,所述步骤2制作云桌面系统镜像时,选择的镜像格式为QC0W2,云桌面系统镜像时安装的虚拟磁盘要大于30G;云桌面系统中镜像安装有磁盘驱动文件和网络驱动文件。[0029]优选的,所述云桌面客户端所在终端为移动终端或普通个人电脑。[0030]本发明相对于现有技术具有如下优点及效果:[0031](I)本发明的云桌面在OpenStack和Spice两个优秀开源技术的前提下完成,针对云桌面的体验需当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1