- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VirtualBoxWindows虚拟管理中心系统设计与开发
基于VirtualBoxWindows虚拟管理中心系统设计与开发
摘要:本文通过利用Oracle Virtual Box的API进行二次开发,充分发挥其虚拟机的管理功能,并扩展其只能在本地管理客户机的功能,使得可以通过物理网络远程管理多个主机;最终,使得Virtual Box也可以提供类似于VMware Vsphere类似的云管理平台。本项目依托天津市大学生创业资金,尝试在Windows7环境下开发一套虚拟机管理中心。
关键词:虚拟机 Virtual Box 云计算
中图分类号:TP333 文献标识码:A 文章编号:1007-9416(2015)10-0000-00
Oracle Virtual Box是一款功能丰富、使用简单且开源的一款虚拟机软件。本项目通过Python调用Virtual Box虚拟机SDK,并使用PyQT绘制图形界面,开发了一套基于B/S架构Virtual Box虚拟机管理中心系统。
1 Virtual Box内部结构
Virtual Box虚拟机的最底层次是虚拟机管理层(hypervisor),它运行在操作系统核心模式中,可以直接访问内存、硬盘等的物理设备。它为运行的虚拟机协调分配物理资源,控制着虚拟机的执行。
在虚拟机管理层(hypervisor)的之上,提供其他功能服务的附加模块。例如:资源监视器、RDP服务端等。在这些附加模块之上,是Virtual Box的Main API层。Virtual Box开放了API接口并提供了多种调用方式用于编程,通过API可以对虚拟机进行创建、设置、启动、关闭及删除的操作,也可以获取虚拟机的性能统计信息等等。
在Virtual Box的上层部分,包含了Virtual Box GUI、Webservice等服务,这些组件用以直接与用户进行交互,它们同样通过Virtual Box Main API层对虚拟机进行操作。
Virtual Box的组成如图1所示,从下到上分别表示Virtual Box虚拟机的底层到表层。
2 Virtual Box SDK介绍
要调用Virtual Box虚拟机的API有两种方式,其一,是使用Virtual Box自带的Web Service,它作为一个HTTP服务器,通过SOAP协议进行连接处理;其二,是使用由组建对象模型(COM)实现的API进行操作。在Windows操作系统的主机上,Virtual Box使用微软的COM组建。而在其他非Windows操作系统的主机上,第二种方式的API通过XPCOM来实现。针对使用COM方式的API,Virtual Box提供了支持多种语言的SDK版本,如Java,C#,C++,Python等。在这里使用Virtual Box虚拟机的基于Python的SDK进行API调用。具体的详细介绍可以参看Virtual Box SDK的参考与指导文档与API文档。
Virtual Box虚拟机的SDK是面向对象的形式的,在Virtual Box内部的诸如虚拟机,虚拟机磁盘,虚拟机网卡等设备在SDK中被抽象为具体的类,可以通过对应的类方法对它们进行操作与控制。其他参数诸如虚拟机内存大小,虚拟机显存大小则作为类对象的属性进行控制。
3 Virtual Box虚拟机管理中心系统架构
管理中心系统分为两部分:第一部分是安装于宿主机上用于接收执行指令与反馈信息的服务端,第二部分是安装于管理机上用于与用户交互并连接与控制服务端的管理中心。整体系统如图2。
服务端运行于宿主机中,并使用Python调用Virtual Box虚拟机的API执行相应操作。服务端内部分为四个模块:界面模块、socket通讯模块、Virtual Box控制模块、FTP模块。界面模块用于用户交互。socket通讯模块用于与管理中心进行控制命令的发送与接收;Virtual Box控制模块封装了控制操作Virtual Box 虚拟机API的函数,用于直接操作Virtual Box虚拟机;FTP模块用于在服务端上启动FTP服务,使管理中心可以远程向服务端传送文件。
管理中心运行于管理中心物理机,是与用户直接交互的部分。其内部分为以下五个模块:(1)界面模块,(2)socket通讯模块,(3)Virtual Box命令模块,(4)监控线程模块,(5)心跳检测模块。其中,界面模块用于用户交互;socket通讯模块用于与服务端进行控制命令的发送与接收;Virtual Box命令模块用于根据用户在界面上的操作生成对应的控制命令;监控线程模块用于在运行后实时获取虚拟机性能信息;心跳检测模块用于在连接服务端后实时检测服务端的运行与响应状况。
在系统运行时,先在宿主机上运行
您可能关注的文档
最近下载
- 2022东君照明集中控制系统用户手册.docx VIP
- 〖GB50011-2016〗建筑抗震设计规范(2016年版).docx VIP
- 《浙江省建设工程其他费用定额》(2018版).docx
- 怎样恢复已删除的文件.doc VIP
- 2025年中国铁道橡胶垫板数据监测报告.docx
- 2023-2024全国初中物理竞赛试题精选精编第05讲凸透镜成像(解析版).docx VIP
- 2001-2016年电子科技大学《601数学分析》历年考研真题汇总(含部分答案).pdf VIP
- 古典文献学第二章 文献的形成和流布.ppt VIP
- 2025年综合窗口岗位工作人员招聘考试笔试试题(附答案).docx VIP
- 纪念中国红军长征胜利89周年PPT课件.pptx VIP
文档评论(0)