加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

基于KVMBS架构虚拟化管理系统.pdf 5页

发布时间:2022-12-05 15:32:19 所属栏目:系统 来源:转载
导读: 2013年6月计算机工程与设计Jun.2013ENGINEERINGANDDEsIGNNo.6 第34卷第6期C0ⅧU,rERV01.34基于KVM的B/S架构虚拟化管理系统党飞,江铭炎,袁东风(山东大学信息科学与工程学院,济南山东

2013年6月计算机工程与设计Jun.2013ENGINEERINGANDDEsIGNNo.6 第34卷第6期C0ⅧU,rERV01.34基于KVM的B/S架构虚拟化管理系统党飞,江铭炎,袁东风(山东大学信息科学与工程学院,济南山东250100) 摘要:为了改变c/s模式虚拟化管理系统消耗系统资源多、管理方式不够灵活等缺点,设计并实现了B/s架构的虚拟化 管理系统。该系统以web服务器取代管理中心节点,实现了网页形式的虚拟化管理。其系统架构为:进行虚拟化管理的 器后,web服务器将它们封装为Ⅺn1格式配置文件,传递给目标服务器,目标服务器执行完相应指令后再将结果返回给web 服务器,web服务器再以网页形式返回给用户。测试结果表明,该系统能够降低系统能耗,提高管理方式的灵活性。 关键词:云计算;虚拟化管理;基于内核的虚拟化;浏览器/服务器架构;虚拟桌面协议 中图法分类号:TP399文献标识号:A 文章编号:1000一7024(2013)06—2252一05architecturevirtualizationbasedonKVMB/SsystemmanagementDANGFei,JIANGMing-yan,YUANDong-feng(schoolofInfonmtionScienceand250100,Chim)Engineering,ShandongUniversity,JimnarchitectureVir—Inorderto theof architecturevir-tualization B/S Abstr躯t:C/Smanagementsystem,thechangeshortcomings tualizationbasedonKVMis andrealized.InthatcenternodeismanagementsystemdesignedsyStem,managementreplacedbyisarchitectureisasis webserver,amethodbasedonwebfollows:TheJ2EEmanagementpagespmvided.Thesystemproject incenter server(webthesubmittheirtowebserver,theweb putcontrolling server),byloginsyst锄,users optionpar锄eterssen,ereXecutethe serverconvertthemto fileofm1fomat,andthenitistransmitedtovirtualizationserver,theconfigurationtotheThewebserverreturnstheresuItasa tothecommandandthenreturnstheresults webserver. correspondingjsppage usersatlast.Theactualtestdemonstratethereductionofresourcescostand offle】(ibilitymanagement. Keywmds:cloudcomputing;virtualizationmanagement;KVM;B/Sarchitecture;spice需要预先安装管理软件;而且不同的管理软件对操作系统 0引言和硬件资源还有不同的要求。

相比起来,B/s模式的管理云计算的提出为信息技术学术界和产业界的发展提供系统就灵活很多,只要有浏览器的终端都可以用来进行管 了一个全新的思路。虚拟化作为云计算Iaas层的关键技术,理工作,提高了管理效率,节省了客户端资源占用。 近年来也得到了迅速发展。20世纪60年代,IBM就开始本文实现了一个基于KvlⅥ虚拟化产品的B/S架构的 研究虚拟化技术,使得大型机的资源能得被多用户使用[1]。 虚拟化管理系统。通过调用KVM的libvirt开发接口,利 经过几十年的发展,虚拟化技术已经日渐成熟,诞生了如用J2EE技术,系统管理员可在任何地方通过浏览器登陆系basedvirtual mware,virtualPCI…,Xen和K、,IⅥ(kernel 统,进行虚拟机和虚拟存储的管理工作。最后通过实际测 machine)等一批成熟的虚拟化产品。与其他虚拟化产品相试表明B/S架构的优越性。 比,KvM的最大优势是完全开源。KVM是基于内核的完1系统组成部分 全虚拟化,在与其他虚拟化产品效率对比中表现出色[3], 但是其管理系统仍然只有c/S架构的,C/s架构本身的缺基于KvIⅥ的虚拟化管理系统,主要包括客户端、web 点造成了系统资源的浪费。

而且用户进行管理工作之前,服务器、虚拟化服务器集群和共享存储服务器4个模块。 收稿日期:2012一09一03;修订日期:2012—11—15 基金项目:山东省自主创新成果转化重大专项基金项目(2009ZHZXlA0108、2010ZHZxlAl001) 作者简介:党飞(1988一),男,陕西商洛人,硕士研究生,研究方向为云计算、虚拟化;江铭炎(1964一),男,江苏苏州人,博士,教 授,研究方向为通信网络理论及4G中的关键技术、智能优化;袁东风(1958一),男,山东济南人,博士,教授,研究方向为宽带移动通 信、无线通信网络。E—mail:dangflying@126.com 万方数据 第34卷第6期 党飞,江铭炎,袁东风:基于KVM的B/S架构虚拟化管理系统 其中客户端是具有浏览器的上网设备,操作系统可以是数库编程接口,用一种单一方式管理不同的虚拟化提供方 Linux、windows甚至嵌入式操作系统;web服务器上安装式和管理工具,适用于主流虚拟化工具包括Xen、KⅥⅥ和 web容器tomcat,操作系统采用“nux或windows,将完 成管理工作的J2EE工程放在web容器里;虚拟化服务器 集群上统一安装Linux操作系统,KVlⅥ虚拟化软件和lib—install都是基于libvirt开发[7。

。1.4 n胃糊s virt接口,并与web服务器建立ssh无密码连接;共享存 储服务器是一个磁盘阵列,安装freenas后通过ip网络向虚 拟化集群提供数据存储服务。软件,它能将普通PC或服务器的硬盘资源变成网络存储服用户通过jsp页面登陆后进行相关操作,操作参数传递 给web服务器,web服务器与管理目标服务器建立ssh连 接,通过调用libvirt接口进行虚拟化集群的管理工作,并的设定工具。Freems还可以被安装在移动存储设备中,使 将操作结果通过jsp页面呈现给用户。用户还可以通过调用 用方便灵活,在组建网络存储服务器方面应用广泛[8]。 spice插件,用图形界面的方式查看虚拟机的工作情况。整2 J2EE工程架构 个系统结构如图1所示。系统实现的核心是完成管理工作并和用户交互的J2EE工程。J2EE工程架构如图2所示。l客l户l spi。插件I| j"-Sc咖tII J日p页面 Il层{多{≥ise乩t IsewletIl呐《淑蝎呻l●●“/N.冬淘.肇^,lllll+●●¨,/垆1眯lllll●坼 ◇ e旧l登录管理l I操作管理lf层 I读写操作l l配置文件格式转换I 1.1kIsedKvM(Ke脒IvirtIIal衄咖耻)jE◇KⅥⅥ即基于内核的虚拟化,依赖于“nux内核,其性文善匹圃 能优越,接近单机操作系统。

由于其优越的性能和开源性,仟上系 配置文件a s销划 得到业界的一致认可并在近年来取得很大的发展[4]。KⅥⅥ统U 使用软件模拟的方式实现完全虚拟化,通过将客户操作系抽l雅盘柑杜量燕 统的I/0指令提交给宿主操作系统(即Linux操作系统)图2 J2EE工程架构 上的QEMU,QEMU将操作指令转换为对宿主机的I/0操客户层实现用户和系统的交互,用户通过Web浏览器 作这种方式来实现虚拟化,然后宿主操作系统调用驱动程登录系统,并通过页面提交操作参数。浏览器负责用户请 序访问硬件。通过这种方式对硬件进行了模拟,实现起来 比较简洁,而且效率较高睁6|。求接收和服务器返回信息的显示。 1.2struts控制器负责接收和处理用户请求,并将相应请SPICE(siI叩lepmt∞ol衙illde畔IId蚰t伽pIltiI.gen“nMln烈It)求转发到业务逻辑层,然后从业务逻辑层接收结果并返回给客户层进行显示。spice是一个开源的远程桌面协议,可以用于在服务 器、远程计算机和瘦客户端等设备上部署虚拟桌面,与微业务逻辑层是J2EE工程的核心,负责接收stmts传递的用户请求,调用底层libvirtAPI完成相应的操作,并将 软的RemoteDesktopPmtocol相似,支持windows和 Linux操作系统。

处理结果经Web层展现给用户。server和spiceclient。通过在 将管理虚拟化的J2EE工程放在中心服务器(即webspice包括两部分:spice服务器)的tomcat容器里,这台web服务器应该与虚拟化 虚拟机里安装spiceServer进行相应的配置后,就可以在客集群在同一局域网中以保证连接速度。用户通过前台jsp页 户端通过spiceclient插件远程链接该虚拟机,以图形界面 形式进行操作。面登陆管理系统,web服务器接收到用户的请求参数后, 1.3 Li晰n接口与管理目标服务器通过ssh建立连接,用户即可进行相关Libvirt是一套开源的、用C语言开发的支持虚拟化函的管理操作。在web服务器接收到用户管理操作参数后, 万方数据计算机工程与设计2013年 将参数转换为libvirt接口认可的xrnl格式文件的参数,然 后发送给管理目标服务器,目标服务器接收到参数后调用 1.bvirt接口,执行相关操作。具体实现过程如下:用户提交请求参数:用户登录成功后,可以进行如下 四方面管理:用户管理、存储磁盘、虚拟机管理和集群管 理。通过用户管理可以修改用户登录密码云系统架构KVM,定期修改密码 可以增强安全性;通过存储管理可以添加或删除资源池, 查看、删除或者新建虚拟磁盘;通过虚拟机管理,可以查 看和修改虚拟机信息,并通过spice查看虚拟机图形界面; 集群管理可以查看集群中的物理机信息,并可以将虚拟机 迁移到另一台物理机上。

用户操作通过表单形式提交给 Web服务器。Web服务器转换请求参数并发送给目标服务器:web 服务器通过servIet接收到用户请求参数,转换为字符串, 然后将参数组合为ml格式的libvirt配置文件,然后与目 标服务器建立ssh连接,通过配置文件将需要进行的操作图3 系统功能结构 传递给目标服务器。目标服务器进行相关管理操作并向web服务器返回结 时提交表单包括磁盘名称和磁盘大小。表单提交给servlet进行处理。 果:目标服务器收到配置文件参数后,调用libvirt接口将3.3虚拟机管理 操作参数传人,进行相应的操作。然后将操作结果返回给 Web服务器。创建虚拟机之后,KVM会给每个虚拟机分配一个UUD(universallyuniqueidentifier),用于唯一标识该虚拟web服务器将操作结果返回给用户:web服务器接收 到返回结果后,进行相应的封装后传递给前台页面,显示机。KVM每次启动的时候,都会为每个虚拟机分配一个 给用户。如果用户的请求是图形界面查看虚拟机,则Web D。通过UUID或者D都可以唯一找到该虚拟机。 服务器将虚拟机的参数传递给客户端后,客户端与目标服虚拟机管理进行的操作包括:新建和删除虚拟机,查 务器直接建立连接。

看和修改虚拟机配置信息,启动、挂起和关闭虚拟机,导出虚拟机模板,从模板创建虚拟机,显示虚拟机界面 3系统设计功能(spice)。本系统将虚拟机的D作为参数进行传递。首先用用户登录后可以进行如下四方面管理工作:用户管理、户将操作指令和虚拟机D传递给web服务器,web服务 存储管理、虚拟机管理和集群管理。系统功能框图如图3 器封装后传递给目标服务器,然后接受目标服务器执行后 所示。的返回结果,再传递给用户显示。 3.1用户管理在调用spice通过图形界面方式查看虚拟机中,首先检用户名和密码通过加密后写在配置文件里,用户提交测spice插件是否正确安装,如果没有正确安装,提示用户 登录请求后web服务器读取配置文件并进行登录验证,验 下载并安装。如果正确安装,在拦截到查看指令后,从网 证通过即可进行权限内的相关管理操作。用户可以定期修页启动spice插件。并将虚拟机参数传递给spice,输入密码 改密码,以增强安全性。超级用户可以对用户进行管理,即可查看虚拟机的界面。其效果如图4所示。 包括添加、删除用户,为用户分配权限等,但是超级用户3.4集嚣管理 本身不能对虚拟化集群直接进行管理。

通过这种权限分离集群管理包括物理主机管理和集群调度。物理机管理 的方式提高系统的安全性。包括向虚拟化集群添加和删除物理机,通过SNMP(simplenetwork 3.2虚拟存储管理managementpmtoc01)协议收集物理机信息,维护创建虚拟磁盘之前需要先创建资源池,然后在资源池活动物理机列表;集群调度采用虚拟机迁移来实现,采用 中创建虚拟磁盘。虚拟磁盘就是提供给虚拟机用的存储空中心任务调度算法,根据管理节点服务器(即Web服务 间,是位于共享存储之上的虚拟逻辑磁盘空间。用户登录 器)通过SNⅧ协议收集到的主机状态信息,在物理机负 之后,存储管理界面提供的管理操作包括:新建和删除资载过高时,将其上的部分虚拟机迁移到其他物理机上,也 源池,新建和删除虚拟磁盘。新建和删除虚拟磁盘的时候,可以将负载量很小的物理机上的虚拟机迁移到其他主机上, 将虚拟磁盘名作为参数传递给web服务器,创建虚拟磁盘 然后关闭该物理机以节省电能。 万方数据 第34卷第6期 党飞,江铭炎,袁东风:基于KVM的B/S架构虚拟化管理系统4.2 铷锻(蛳hmno璐JavaScriptaIldⅪ咀一)技术考虑到不同的用户同时对一台服务器进行管理的可能性,本系统在向服务器读取数据的时候都是实时读取的,这就要用到Ajax技术。

页应用的网页开发技术。其工作原理是,在用户和服务器之间增加了了一个中间层——Ajax引擎.使用户操作与服务器响应异步化,部分操作由Ajax直接完成,无需向服务器提交数据。在用户需要从服务器读取新数据时由Ajax引图。l spice查看虚拟机擎代为向服务器提交请求,然后将读取结果发送给用户。在使用Ajax擎后,用户从感觉上几乎所有的操作都会很快响应没有页面重载的等待,也没有页面跳转[9]。其工作原 4关键技术理如图5所示。 4.1封装ssh连接类系统中用到建立ssh连接的地方比较多,因此通过对 连接类进行封装可以有效减少代码量,提高可读性。IJserinleI-fjcP封装ssh连接类需要用到两个类:org.1ibvirt包下的rPnIIPsl伽F篡:i Connect和LibvirtException类。实现封装的类如下:s}Ir21¨slwJnclasspublic SsHConnect{fimlHTML+CSSstaticprivateStr堍SsHURLl一”Hp_=:一 qemu+ssh://”;w抓…”staticfinal1f甲…¨”洲。”rStringprivateSsHURL2一”/system”;Datascores.})arkPndstaticC0nnectpublicgetssHConllect(StringuserIp,PmrPssi“g,189a。

y5ysIems booleanflag){SPrver—sidesvslPm8Cbnnectconn—null:rlassictry{—取’PhaD【】l计aIiflflm1)‘jPconn newConnect(SSHURLl+userIp+ SSHURL2,fIag);图j qax工作原理e){)catch(LibvirtExceptione.printstackTrace();4.3用spi∞查看虚拟机Systenout.println(e.getError()); 在创建虚拟机的时候,将图形设备选择为spice,添加retum:spicesen,er并设置端口号,将显卡设备选择为视频卡QXL)设备[1…。Web服务器在接收到查看图形界面请求后,首先returncorul:进行客户操作系统的判断,并检测用户是否正确安装}spice,如果没有安装则根据用户操作系统提示用户下载安staticvoidclose(Connectconn){ 装spice包。publicif(conn!=null){如果spice正确安装,则通过网页启动spice,并将相应try{参数传人,即可打开虚拟机的图形界面。

conn.close();4.4提供类应用软件试图e){为了使管理的步骤更加清晰和兼顾用户使用习惯,本)catch(LibvirtException系统设计类似应用软件的用户交互界面。首先将操作拆分e.printStackTrace();成各个步骤,并为每一步骤设计一个jsp页面,然后使用Systern.out.println(e_getError());)})层中内容的切换和数据的缓存,需要与服务器及时交互的}数据则采用Ajax技术实时获取。在一个操作完成后将表单 万方数据 ··2256计算机工程与设计2013年 数据整合并提交。理工作由C/S模式转向了B/S模式,用户在管理虚拟化集群之前不用先安装客户端,直接通过浏览器登陆即可进行 5系统性能测试管理,管理工作不用限定在特定的客户机上,也不用限定以哪ware的vCenterserver/vClient为例,与本系统性在特定的网络环境中。由于web服务器取代了管理中心服 能做一个比较,测试环境为包含6台服务器的集群。务器,使系统的资源消耗更少,管理方式更加灵活。本系用pc做客户端进行测试,CPU为双核2.9GHz,内存统在WindowS和Linux下经过测试,运行良好。

为2G,WindowsXp系统使用内存约350M。使用的系统资参考文献: 源情况分别如图6和图7所示。Ⅵrtualization inthe infor-[1]zHuChangyuntechnology ofpreSsmationandtechno【ogy口].ComputerKnowledgeTec}1110109y,2010,6(17):4847—4849(inChinese).[朱昌云.虚拟化技术在报业信息化建设中的应用[J].电脑知识与技术,2010,6(17):4847—4849.]Yaozu,zHOu x86-basedvi咖a1[2]DoNG zheng、^rei.systemn诅c}lineanddevelopmentapplication[J].computerEnginee_chinese).一ng,2006,32(13):71—73(in[董耀祖,周正伟.基于x86架构的系统虚拟机技术与应用[J].计算机工程,2006,32(13):71—73.]图6 vnlw£Ire客户端资源使用[3]刁啪图舶cun(砌nenree访nlIali勿6∞platfo肌testo删柳tionfor关村在线.I酗mtull.10测试三平台虚拟化比拼[EB/0L].A20111107934270-4.shⅡIlL]IntelV●dresearchandtherealiza—[4]HAOxudong.technolQgytionofthevirtualmachineinofKVM[D].Hefei:UniversityElectronicscienceand of8—15TechnologyChina,2009: (in一CKnese).[郝旭东.InteIv,r_d技术的研究及其在KⅥvI虚拟机上的实现[D].合肥:电子科技大学,2009:8—15.]aL图7 I}S架构客户端资源使用[5]zHANGBillbin,豫NGxiaolin,YANGLiang,etM0difyingtovirt垅Lli功tionirIgu鹤t()Sopt.mlizeI/0Jour-KVM口].chinese由图可见,C/S架构客户端CPU利用率约为50%,内nalC}血ese).[张 存使用为350M左右,而使用B/S架构系统的客户端CPU彬彬,汪小林,杨亮,等.修改客户操作系统优化KⅥvI虚拟机 平均使用率约为20%,内存使用为190M左右。

HA0 xIA0on[6]LIshengzhao,Qinfen, Liming.Analysis管理节点采用的是2个64位CPU,主频2.5GHz,内KVMvinualizationMackrLchangsha[J].computer 存8G,硬盘100G。安装hyper_V和作web服务器时系统Engi— 资源使用情况见表1。Chinese).[李胜召,郝沁汾,肖利民.KⅥⅥ虚拟机分析[J].计算机工表1管理节点消耗的系统资源对比程与科学,2008,30(A1):129—132.]or∥w曲/Ijb、,irL[8]BaiduBaike[DB].baidu[2012—08—13].http://baik已com、,iew/1777672.htm(inchinese).[Freenas.百度百科.Freenas[DB].[2012一08—13].http://baike.baidu.com/、,iew/1777672.htm.]由此可见,B/s架构管理系统能极大降低系统资源的[9]Y()UIjzh朗,GU0Yuc}Iull,uChun虹Theandp血dpleappli一 消耗。这一特点在集群规模增大时会体现的更加明显,因 此对大规模虚拟化集群部署有重要的参考价值。 6结束语uSer[10]RedHat,IncSpice基于KVM的B/S架构虚拟化管理系统,将虚拟化管 spice-spacBo彰docs/s西c£一uSer_m肌ual.pd£ 万方数据

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!