已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)硬件虚拟机xen的研究和性能优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文摘要 摘要 近年来,随着互联网的发展,服务器整合、虚拟主梳和资源管理等需求的 激现,虚拟机进入了另一个繁荣时代。同时,隧着x 8 6 服务器市场的快速增长, x 8 6 虚拟机更是为人们看好。但虫于历史原因,x 8 6 本身对虚拟机的支持并不是 很好。目前x 8 6 平台下的主流虚拟机有两种:纯虚拟实现方案v m w a r e ,它不需 要修改就可以直接运行各种主流操作系统,但虚拟机的性能消耗很大;泛虚拟 实现方案x e n ,虚拟机中的操作系统需要修改小量的平台相关代码,与虚拟机 管理器配合工作性能出色,但该方案无法应用于闭源的w i n d o w s 主流操作系统。 顺应市场需求,i n t e l 推出了w x 芯片级为对虚拟桃提供支持的一种 技术,以求达到虚拟机更有效的管理和更小的开销。利用x e n 器源和性能优异 的特点,i n t e ll i n u xv m m 小组在其基础上加入了对v t - x 技术的支持,提出了 v m x 虚拟机模型,目标是要实现高性能的纯虚拟实现方案,克服v m w a r e 和x e n 各自的弊端。 本人在i n t e l 实习阶段有幸参与了该项目,主要侧重v m x 虚拟机的研究和 性能测试与调优。我们发现,在虚拟杌系统中,虚拟机管理带来的额外开销让 虚拟机的性能可能跟非虚拟桃环境下相差徽大,但霉前针对虚拟机环境的性能 测试工具却很少,测试主要还停留在使用一些基准性能测试程序( 如s p e c c p u 2 0 0 0 、s p e cj b b 2 0 0 0 、l m b e n c h 、t t c p 等) 的基础上,对虚拟机性能调优帮 助很有限。根据v m x 虚拟机的特点,我们设计了针对该环境的底层性能调试工 其e n t r a c e 。我们演示了如何利用这个工具在不同负载的v m x 虚拟机上收 集、分析数据并和用x e n t r a c e 收集的数据,我们把调优重点放在了v m x 虚拟机 的主要开销王0 虚拟上,发现并解决了一系列关键的性能闯题。性能基准 测试验证了调优前后,v m x 虚拟机性熊确实得到了很大提高。 关键词:v t x ,x e n ,泛虚拟机,全虚拟,x e n t r a c e ,性能优化 浙江大学硕士学位论文 a b s t r a c t w i t ht h ef a s tg r o w i n go fi n t e r a c ta n dt h ee m e r g i n gr e q u i r e m e n t sf o rs e r v i c e c o n s o l i d a t i n g , v i r t u a lh o s ta n dr c s o u r c cm a n a g e m e n t , t h ev i r t u a lm a c h i n e t e c h n o l o g yi se x p e r i e n c i n gr e s u r g e n c e i nt h em e a l lt i m e ,v m0 nx 8 6h a sa ne v e n m o r eb r i g h tp e r s p e c t i v ed u et om o r ea n dm o r ew i l d l yd e p l o y m e n to fx 8 68 0 1 3 1 0 1 x 8 6 p l a t f o r mi t s e l f , h o w e v e r , d o e s n tp r o v i d eas t r o n gs u p p o r tf o rv mm a n a g e m e n t c u r r e n t l y , t h e r ea l et w op o p u l a rx 8 6v mi m p l e m e n t a t i o n s :f u l l v i r t u a l i z e dv m w a r e a n dp a r a - v i r t u a l i z e dx e n t h ef o r m e rc a nr u nm o s tm a i n s t r e a mo s ,w h i l ei tb r i n g s q u i t ep e r f o r m a n c ep e n a l t y t h el a t t e rn e e d sm o d i f yaf e wh a r d w a r er e l a t e dc o d eo f o s w i t ho sc o o p e r a t i n gw i t hv m m o n i t o r , i tr u n se x c e l l e n ti nl i g h to fp e r f o r m a n c e e v a l u a t i o n b u ti th a si t so w ns h o r t c o m i n g :i tc a n td e p l o yw i n d o w sw h i c hi sw i d e l y u s e do nd e s k t o pb u tc l o s e d - s o u r c e d i nr e s p o n s et om a r k e tr e q u e s t ,i n t e ir e l e a s e dv t - x ,at e c h n o l o g yt os u p p o r tv m i n s i d et h ec h i p ,w h i c hi sa i m i n gt op r o v i d em o r ee f f i c i e n tv m m a n a g e m e n ta n dl e s s c o s t b a s e do nx e n sa d v a n t a g e so fo p e ns o u r c i n ga n de x c e l l e n tp e r f o r m a n c e ,i n t e l l i n u xv m mt e a ma d dt oi tv b xs u p p o r ta n db r i n gav m xv mm o d e l t h e p r o j e c t so b j e c t i v ei sah i 。g hp e r f o r m a n c ef u l l v i r t u a l i z e di m p l e m e n t a t i o n ,w h i c hc a n o v e r c o m er e s p e c t i v ed i s a d v a n t a g e so f v m w a r ea n dx e n t h ea u t h o rp a r t i c i p a t e di nt h ep r o j e c td u r i n gh e ri n t e r n s h i pi ni n t e l ,m a i n l y f o c u s i n go np e r f o r m a n c et e s ta n do p t i m i z a t i o n 。w ef o u n da sv m i n t r o d u c e sm o r e m a n a g e m e n to v e r h e a d ,i tm a yr e s u l t i nd r a m a t i cp e r f o r m a n c ed i f f e r e n c eb e t w e e n v i r t u a lm a c h i n ea n dn a t i v ee n v i r o n m e n t c u r r e n t l yt h e r ea r ef e we f f i c i e n tw a y st o t u n en l e 抒p e r f o r m a n c e ,e x c e p tu t i l i z i n gt h o s eg e n e r a lb e n c h m a r kt o o l sl i k es p e c c p 己趁0 0 侥s p e cj b b 2 0 0 0 ,l m b e n c h ,玎e 只e t c t h e nw es t u d i e do u rv m m o d e l s c h a r a c t e r i s t i c ,d e v e l o p e dx e n t r a c ea ,w h i c hi sal o wl e v e lx e nv i r t u a lm a c h i n e p e r f o r m a n c et u n i n gt o o l s w eu s e di tt oc o l l e c ta n dp a r s ed a t ao fv i r t u a lm a c h i n e s w i t hd i f f e r e n tw o r k l o a d s 浙注犬学矮圭学位论文 l o o k i n gi n t ot h ex e n t r a c e sd a t a , w ef i r s t l ya d d r e s s e dad e s i g nd e f e c t ,a n dt h e n s u c c e s s f u l l yr e s o l v e d 鑫s e r i e so fc r i t i c a lv i r t u a l i z e di op 锄o n n a n c ei s s u e s ,w h i c hi s t h em a i nc o s to fv m b e n c h m a r ks c o r e ss h o w e dt h ec h a n g e sr e a l l yb o o s t e dv m s p e r f o r m a n c e k e y w o r d s :v t - x ,x e 玛p a r a - v h t u a l i z a t i o n , f u l l - v i r t u r a l i z a t i o n , x e n t r a c e , p e r f o r m a n c eo p t i m i z a t i o n 浙江大学硕士学位论文 图目录 图目录 单操作系统独占所有硬件资源图5 多操作系统共享硬件所有硬件资源6 操佟系统分层机制7 硬分区技术8 j v m 工作原理1 0 x e n 泛虚拟化体系结梅。1 4 x e n 全虚拟化体系结构16 虚拟机的生存期1 7 虚拟机控铡结构。l s i o 设备d m a 的重映像2 7 h v m 虚拟机设备模型3 0 h v m 虚拟设备中湘请求的流程+ 3 6 h v m 虚拟设备中硬件中断递送流程3 7 x e n t r a c e 模型4 2 p 配修改前后的x e n t r a c e 数据比较4 8 p i c 修改前后的性能基准测试结果比较一4 9 d m 的网络模型5 3 t t c p 收集的数据( 单位:k b p s ) 5 4 l 2 3 4 5 l 2 3 4 5 l 2 3 1 l 2 3 4 2 2 2 2 2 3 3 3 3 3 4 4 4 5 6 6 6 6 圈图图图图匿图图霉图图图图图鬻图图匿 浙江大学硕士学位论文 表目录 表5 1 表6 1 表6 2 表6 3 表6 4 表6 5 表目录 x e n t r a c e 的记录格式3 9 第一次x e n t r a c e 结果( 实验1 ) 4 4 第二次x e n t r a c e 结果( 实验3 ) 4 6 基于i o 端口的第二次x e n t r a c e 结果( 实验3 ) 4 7 虚拟i 0 路径上各段的开销( 单位:t s c ) 5 0 d o m a i n 0 与i d l e 虚拟机之间的调度5 1 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得逝姿盘堂或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:书本印罱 签字日期:咖9 年6 月g 日 学位论文版权使用授权书 本学位论文作者完全了解逝望盘堂有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅。本人授权逝姿盘堂可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:7 f 磷研嚆 签- 7 - - ri i :o 孚年月8 同 学位论文作者毕业后去向: b 如扎 工作单位: 色陵 通讯地址2 酒观太与王、每、槌已蛉岁巧 刷币签名: _ 签字日期! o1 年g 月9 日 电话:i 粥觇忉6 b 一、, 邮编: 引。q 浙江大学硕士学位论文第1 章弓i 言 第l 章引言 计算机技术的发展给人们的工作和生活带来了前所未有的便利和效率,随 着计算机在社会生潘各个领域的广泛运用,计算机在人们生活申扮演着越来越 重要的角色。处理器的速度逐年提升,内存逐步加大,摩尔定律t 持续了5 0 多 年依然有效,冒前计算机的速度已经足够快了。然而,对计算机资源的利用却 不容乐观,尤其是在大型机上计算机资源浪费相当的严重,由于存在运行环境 的限制,所以不能够把剩余的资源充分利用,虚拟化技术则是一个完美的解决 方案。 1 1 选题背景 随着计算系统的资源规模不断扩展、处理能力快速增强、资源种类豳益丰 富、应用需求灵活多样,寻求新型的计算机理与模式已成为未来信息技术领域 面临的重大挑战。计算系统虚拟化作为一种新型计算模式推动科技发展和社会 进步,已成为毽际竞争的焦点和制高点。 虚拟化计算系统能够动态组织多种计算资源,隔离具体的硬件体系结构和 软件系统之闻的紧密依赖关系,实现透明化的可 枣缩计算系统架构,欲谣灵活 构建满足多种应用需求的计算环境,提高计算资源的使用效率,发挥计算资源 的聚合效能,并为用户提供个性化和普适化的计算资源使用环境。虚拟化计算 系统可以更加充分合理地利用计算资源,满足曰益多样的计算需求,使入们能 够透明、高效、可定制地使用计算资源,从而真正实现灵活构建、按需计算的 理念。 我们研究虚拟化技术主要是想支持高效率、可伸缩、个性化、易管理的虚 拟计算系统的动态构建。发展多层次的虚拟化架构及虚拟计算系统构建机制, 建立面向虚拟计算系统构建及优化的特征抽象方法及特征交互体系和方法。 我们希望实现特征可调熬的虚拟机监控程序:,根据用户计算任务的需求, 合理分配和调度虚拟化的计算资源,动态构建及调整满足用户需要的虚拟计算 系统;满足新的应用环境下用户对虚拟计算系统的监控与管理需求。 t 摩尔定律是指i c 上可容纳的晶体管数垦,约每隔1 8 个胃便会增加一倍,性 能也将提升一倍。摩尔定律是由英特尔名誉董事长戈登摩尔( g o r d o nm o o r e ) 经过长期观察发现得之。 2 虚拟机监控程序:v i r t u a lm a c h i n em o n i t o r ( v m m ) 翊,也被称为h y p e r v i s o r 1 浙江大学硕士学位论文 第1 章引言 通过对各类虚拟机的研究,最后建立一套适合现代计算机体系结构的新型 系统级虚拟化架构、理论、方法和技术。 1 2 国内外虚拟化技术研究现状 在国内,虚拟化技术,才刚刚起步,相对来其它国家来说,还是有相当大的 差距的。我们处于虚拟化技术的应用的初期。到目前为止,国内还没有一款国 人自己设计和实现的虚拟机产品。专门从事虚拟化技术的理论研究工作的科研 单位也寥寥无几,所幸的是,基于国外设计和实现的虚拟机的应用还是有一些 例子的。 据调查中国5 0 0 强企业中目前很少有用虚拟化的,而财富5 0 0 强企业中, 9 9 都已经用到了虚拟化技术。i d c 也预测,到2 0 0 9 年,企业在服务器虚拟化 方面的花费将接近1 5 0 亿美元,超过3 4 的5 0 0 人以上的企业都将部署虚拟化 的服务器。另外,根据对全球7 5 0 家企业做的服务器虚拟化调查,6 2 的受访 者表示,他们已经有一个虚拟化的解决方案,或者正在向虚拟化应用迁移的过 程中,只有4 的受访者没有任何服务器虚拟化的计划。 在欧美发达国家,虚拟化已经成为一种现实,而且正处于普及推广的阶段, 很自然的,i b m 、h p 、微软,i n t e l 这些全球性的公司就会在国内进行推广。虚 拟化对整个i t 生态圈都是有利的,硬件厂商可以卖更高端的服务器,软件厂商 可以买更多的拷贝。因此,正是大量厂商的共同推动,使得虚拟化在中国已经 成为一股热潮。 从技术上来看,随着6 4 位、多核c p u 的发展,x 8 6 服务器性能的极大提 升也为虚拟化提供了温床。因为如果计算机的性能不够,应用会消耗掉大部分 甚至全部的资源,虚拟化也就很难应用起来。早期的虚拟化就曾面临当时计算 机性能太低的困惑。而且,虚拟化技术本身是已经比较成熟的了。 还有需求方面的因素也在促进虚拟化的发展。比如,这几年我们也看到, 政府、垂直行业系统、高校、银行等领域正在把原来分散的信息中心或数据中 心进行集中,但又不希望增加太多成本,在这种条件下,虚拟化是个不错的选 择。 调查数据显示,国内只有1 2 成的用户用到了虚拟化技术。可见,国内外 截然不同的情况既证明虚拟化已经是一种成熟的技术,用户完全可以放心使用, 同时也说明中国潜在的发展空间还很大。成熟的技术和不成熟的市场之间存在 巨大的鸿沟,这是国内目前面临的一个很微妙的时期。 3 虚拟化技术:v i r t u a l i z a t i o nt e c h n o l o g y ( v t 技术) 2 浙江大学硕士学位论文第1 章引言 从总体上说,我们存在两方面的差距。一方面是虚拟化技术理论的研究, 这个在国内已经有科研单位着手此项目,而本论文也是取材于此。第二方面是 虚拟化技术的应用和推广。 1 3 本人所做的研究工作 x e n 是一个开源的虚拟机产品,具有巨大发展潜力。i n t e l 公司结合自身的 v t x 芯片级术,以l i n u xv w 项目组以其为依托,通过参与k e n 项目与剑桥大 学合作,实现了包括泛虚拟化和完全虚拟化在内的虚拟机模型,包括虚拟外部 设备等复杂逻辑的实现。 作者有幸作为l i n u xv m m 项目小组的一员,主要参与在硬件的支持下处理 器虚拟化和内存虚拟化方法的研究和性能调优。 总结下来包括以下的工作: 1 ) 调查研究各种虚拟机的整体体系结构,了解了各种比较先进的虚拟化方 法和技术。作者在对目前存在的有虚拟机的产品进行研究和分析的基础上,总 结出各个平台虚拟化产品的一些特征和共性。 2 ) 深入了解硬件虚拟机x e n 的工作机理和总体框架,尤其是在内存虚拟 化和设备虚拟化方面。为以后的性能调优打下了坚实的基础。 3 1 ) 设计出了虚拟机的性能调优工具并对虚拟机进行优化,有效地提高虚拟 机的性能。用数据证明了优化后性能确实得到了很大的提高。 1 4 论文的结构 本论文第一章为引言,主要介绍本课题的背景、虚拟化计算研究现状、本 人所做的工作以及本论文的结构脉络。 第二章为虚拟化技术概述,给出了虚拟化技术的定义,总结出虚拟化技术 的理论基础。得出虚拟化技术的特征、分类和结构。 第三章开始正式介绍本课题的正文:x e n 的虚拟机总体架构。文中概要地 介绍了泛虚拟化和全虚拟化的工作原理,同时简要地说明了处理器对硬件虚拟 机的支持。再在此的基础上,详细地讨论了内存和设备虚拟化的基本原理。 第四章讲述完全虚拟化中的设备模型,为接下来的i o 性能调优打下基础。 第五章讨论虚拟机的性能优化。通过设计出底层调优工具x e n t r a c e ,我们 发现了很多虚拟机的性能瓶颈,并介绍了其改进的方案,最终彻底地解决该问 题,使得虚拟机的性能得到提升。 第六章为总结和展望。 3 浙江大学硕士学位论文第2 章虚拟化技术 第2 章虚拟化技术 2 1 虚拟化技术的基本概念 虚拟计算机的概念最早由m m 公司在上世纪六七十年代提出【l 】并将其运 用于v m 3 7 0 系统中以共享昂贵的大型机系统。之后的发展缓慢,一度由于分 时操作系统的出现而处于停滞状态。上世纪九十年代随着j a v a 虚拟机的推出, 尤其是之后v m w a r d 8 】公司v l w a r ee s xs e e 一7 】和v l w a r ew o r k s t a t i o n 1 0 】虚拟 机的推出,使对虚拟机技术的研究再次成为处理器设计人员、软件设计人员、 服务器设计人员和网络安全设计人员的热门研究课题【2 】【3 1 。 虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础 上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重 新配置过程。c p u 的虚拟化技术可以单c p u 模拟多c p u 并行,允许一个平台 同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不 影响,从而显著提高计算机的工作效率。 目前很多企业都宣称自己使用了虚拟化技术,这些技术涵盖的范围可以从 j a v a 虚拟机技术到系统管理软件,虚拟化技术有很多定义,下面就给出了一些 这样的定义。然而,主要看作者站在什么立场,本文也会从纯粹的技术角度给 出的简洁的定义。 “虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计 算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方 式来表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供 了一个逻辑视图,而不是物理视图。j o n a t h a ne u n i c e ,i l l u m i n a t ai n e “虚拟化是表示计算机资源的逻辑组( 或子集) 的过程,这样就可以用从 原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位 置或底层资源的物理配置的限制。 w i k i p e d i a “虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和 操作之间的差异,并允许通过一种通用的方式来查看并维护资源。o p e n g r i ds e r v i c e s a r c h i t e c t u r eg l o s s a r yo ft e r m s 虚拟机是通过在物理平台上添加的软件给出的一个或多个不同的平台。一 4 浙江大学硕士学位论文 第2 章虚拟化技术 个虚拟机可以有一个操作系统,指令集或两者兼有之,但可以不同于底下的真 实的硬件。j e s m i t h 和r a v in a i r 而我们认为,在计算机科学中,虚拟化技术是一种通过组合或分割现有的 计算机资源( c p u 、内存、磁盘空间等) ,使得这些资源表现为一个或多个操作 环境,从而提供优于原有资源配置的访问方式的技术。 简单地说:虚拟化技术就是对计算机资源的重新分配,以便提高计算机资 源的利用率。 2 2 认识虚拟化技术 对于只拥有一个单操作系统的计算机来说,所有的系统资源都是由机器上 的操作系统来统一管理和调度,如图2 1 所示。操作系统为所有硬件提供驱动 程序,通过驱动程序为用户和应用程序提供一个虚拟的接口。应用程序运行在 操作系统之上,通过这些接口和设备通信。这样传统的操作系统就有效的完成 了设备的管理和利用,从而很好地满足了用户的需求。 圈匡习 图2 1 单操作系统独占所有硬件资源图 加入虚拟化技术以后。通过在现有平台( 机器) 上添加一层虚拟机监控程 序软件而实现对系统的虚拟化,如虚拟处理器( v c p u ) ,虚拟内存管理器( m m u ) 和虚拟i o 系统等。从应用程序的角度看,程序运行在虚拟机上与运行在其对 应的实体计算机上一样。虚拟机技术使得一台物理计算机可以生成多个不同的 虚拟机分别运行不同或相同的操作系统,如图2 2 所示。虚拟机技术通过将不 s 浙江大学硕士学位论文 第2 章虚拟化技术 同的应用运行在不同的虚拟机上,可以避免不同应用程序之间的互相干扰,例 如一个应用的崩溃不会影响到其它的应用等。这种由虚拟机技术实现的各个应 用之间的完全隔离在服务器领域具有尤其重要的意义,同时虚拟机技术也可以 使得企业,高校或研究所可以在不必购置大量物理计算机的情况下实现大规模 的计算机网络以从事生产及研究,例如网络及网络应用研究,操作系统内核软 件的开发和甩户操作系统的开发等。 图2 2 多操作系统共享硬件所有硬件资源 2 3 虚拟化技术分类 在目前最流行的虚拟化技术当中,有两种典型的派别:泛虚拟化和完全虚 拟化。前者通过修改客户操作系统来配合虚拟化的环境,从而达到较高的性能, 但也付出了兼容性和维护性方面的限制;而完全虚拟化技术常常需要得到处理 器级别的硬件支持,也称硬件虚拟化,也是本文的重点研究内容,或者通过对 客户机执行的代码进行动态二进制代码转换( b i n a r yt r a n s l a t i o n ) ,然后可以无 需修改地直接运行一个已有的操作系统,使得虚拟化技术的应用更加容易。 然而,这两种虚拟化都属于系统级的虚拟化,只是虚拟化技术当中的一种。 广义上讲,虚拟化技术实际上包含更多的内容。在整个计算机系统中,从不同 的部分可以有不同的虚拟化的契机。依照计算机系统层次结构分级( 图2 3 ) ,传 6 浙江大学硕士学位论文第2 章虚拟化技术 统机器以上的所有机器都可以称为虚拟机,它们是由软件实现的机器,软硬件 的功能在逻辑上是等价的,即绝大部分硬件的功能都可用软件来实现,反之亦 然。 必须要承认,在计算机被设计的最初,是从来的没有考虑未来的某一天会 被虚拟化的。因此一般来说,每个计算机只会暴露很少的接口用于虚拟化。探 索虚拟化技术就是在传统的操作系统中寻找虚拟化的契机。 图2 3 操作系统分层机制 在概念上,一个操作系统环境包括硬件,系统内核,系统调用,库和用户 应用程序。而虚拟化技术可以发生在这些层中的每一层,按照这个标准,我们 可以把虚拟化技术大致分为以下几类:硬件层,硬件抽象层( h a l ) ,指令集 架构( i s a ) 层,操作系统层,库函数层和应用层。 2 3 1 硬件层 硬件虚拟化技术是随着u n i x 服务器的发展而出现的,也是出现最早的虚拟 化技术。在u n i x 服务器上,一般将电气级的虚拟化技术称为硬分区( 图2 4 ) , 而把通过软件或固件实现的逻辑分区技术则称之为软分区。 硬分区把硬件资源被划分成很多分区,每个分区享有独立的c p u 、内存, 并安装独立的操作系统。在一台服务器上,存在有多个系统实例,同时启动了 多个操作系统。 这种分区方法的主要缺点是缺乏很好的灵活性,不能对资源做出有效调配。 随着技术的进步,现在对于资源划分的颗粒已经远远提升,例如在i b m a i x 系 统上,对c p u 资源的划分颗粒可以达到o 1 个c p u 。这种分区方式,在目前的 7 抽象程度递增 浙江大学硕士学位论文第2 章虚拟化技术 金融领域,比如在银行信息中心得到了广泛采用。 r i 蔷丽磊 厂百忑丽磊一1 厂百蔷焉磊弋 l一environment j 乙e 2 :盥2 盟:蓝jlenvironmentj 囊豳豳鎏鹭壁鲤豳 嘲黼嗣簟豳嗣嗣 图2 4 硬分区技术 大型机上的代表产品有i b ma i x 和h pu x 。 2 3 2 硬件抽象层 硬件抽象层( h a l ) 的虚拟化技术是有硬件支持的虚拟化技术,如i n t e l 公 司的v t 技术和a m d 公司s v m 技术。带有虚拟化技术支持的处理器使得虚拟 机的设计和实现变得简单,同时由于有硬件的支持,可以大大提高虚拟机的运 行效率和性能。 一般来说,此类虚拟机监控程序( h y p e r v i s o r ) 【4 】直接接管系统的所有硬件 资源,运行在特权级上。而每一个虚拟机( 订) 都运行在监控程序上。对于每一 个虚拟机里面对虚拟硬件操作,监控程序( v m m ) 都会负责将其映射为对实际硬 件资源的访问【5 1 。当虚拟机需要对临界资源访问时,监控程序负责将该资源复 用,虚拟出很多个虚拟硬件。让每个v m 都能够透明访问。 在同一个v m m 上面,可能存在许多的v m ,为了使得这些v m 相互独立, v m m 必须负责捕获每一个v m 的特权指令同时动态翻译成相应的指令并由 v m m 代其执行。而执行完成以后,v m m 再把执行结果传回给相应的虚拟机。 对特权指令的捕获有两种技术来实现:代码扫描和动态指令重写。 硬件抽象层的虚拟化技术目前最为流行。比较著名的有w v 1 w a r e ,x e n 1 1 1 , v m u a lp c 9 1 ,d e n l i ,p l e x 8 6 和u s e r - m o d el i n u x 。 2 3 3 指令集架构层 指令集结构层( i s a ) 的虚拟化技术是完全通过软件方法模拟指令的执行效 8 浙江大学硕士学位论文 第2 章虚拟化技术 果,一般来说我们更愿意称其为模拟器( 也称为仿真器) 【3 0 】。 典型的计算机系统一般由c p u ,内存,磁盘驱动器,i o 系统等。而模拟 器尝试模拟每个设备,将v m 执行的每一条指令翻译成对应的物理机器上的指 令,它尝试将一个指令集翻译成另一个指令集的一个子集,并在可用的硬件上 执行。一个模拟器要模拟一台计算机,必须能够模拟任何一个真实的计算机所 能够做的任何事情,比如读写b i o s ,r o m ,重新启动等。 这种虚拟机的架构易于实现,便于模拟多种平台,模拟多种指令集。同时 程序也有比较好的鲁棒性。但是有一个致命的问题,完全通过软件模拟v m 的 每一条指令,没有硬件的支持,在性能上牺牲比较大。 这种类型的虚拟机有b o c h s 2 1 1 ,s k y e y d 2 2 1 。c r u s o e ,q e m u t 3 1 】和b i r d 。 2 3 4 操作系统层 硬件层次虚拟机器往往高度隔离虚拟机和底层的物理机器。在概念上,一 个虚拟机就是个真实的机器。支持不同的操作系统和应用,无需重新启动或 经过复杂的双重启动安装程序,低风险,并易于维护。由于虚拟机器在这个水 平上,当终端用户需要使用虚拟机时,需要花大量的时间来安装虚拟机,以及 虚拟机里面的操作系统,应用软件,网络设置等等,使得用户基本上一天到晚 重复大部分工作安装工作。而操作系统层的虚拟机正是针对这个缺点而改进和 设计的。 一个操作系统环境一般都包括系统本身,用户库函数,应用程序,系统相 关的数据,文件系统以及其他相关的环境。如果共享所有的内容,应用程序几 乎不可能发现它与真实环境的不同。这就是操作系统虚拟化的关键思想。v m m 工作在操作系统之上。在物理机上为每一个虚拟机提供一个操作系统环境的拷 贝。运用细致的软件分区和复用技术,每个虚拟机都能够在现有的操作系统上 建立一个独立的环境。 f r e eb s dj a i l ,s o l a r i sc o n t a i n e r ,a s p l i n u x 和e n s i m 就属于该类型的虚拟 机。 9 浙江大学硕士学位论文第2 章虚拟化技术 2 3 5 库函数层 差不多所有的系统中,应用软件和程序都会调用一组用户级的实现的库函 数。这些库函数的设计初衷是为了屏蔽系统相关的细节。为应用程序员提供统 一的接口,使得应用程序变得更加简单。同时这也给虚拟化技术提供一个新的 机会。 库函数层的虚拟机主要致力于在当前操作系统下去实现另外一个系统的可 执行文件接i :i ( a b i ) 和应用程序编程接n ( a v i ) ,比如说尝试在l i n u x 下面运行 w i n d o w s 程序。准确地说,这类虚拟机就是a b i a p i 模拟器。 w i n e 就是此类虚拟机的典范,通过w i n e 可以成功地使很多w i n d o w s 下的 程序移植到l i n u x 下面运行,现实意义比较大。另外w a b i ,l x r u n 和v i s u a l m a i n w i n 也属于该类别。 2 3 6 应用层 传统的机器基于某种指令集,而其操作系统是这种具体机器指令的集合。 由于不同的机器指令集各不相同,因此无法屏蔽各类硬件操作细节以及不同的 操作系统环境。应用层的虚拟在现有的操作系统的基础上,试图建立一种通用 的中间语言。从而达到屏蔽了与具体操作系统平台相关的信息,使得程序只需 被翻译成这种中间语言,就可以在多种硬件和软件平台上不加修改地运行。当 然同样也可以直接编译成可执行代码。这种虚拟机同样有自己完善的硬体架构, 如处理器、堆栈、寄存器等。 应用层的虚拟化技术是应用比较广泛,如j a v a 虚拟机( 图2 5 ) 、微软n e tc l i 和p a r r o t 。 图2 5j v m 工作原理 1 0 浙江大学硕士学位论文 第2 章虚拟化技术 2 4 内容规范与标准化 毫无疑问虚拟化技术能够带来很多优势,但是虚拟化领域内的主要厂商和 技术却相互之间不能兼容,这就使得对虚拟化技术的管理变得相当困难。 v m w a g e 由于是一家同时支持l i n u x 和w i n d o w s 平台的厂商,也由于其优 异的性能,占据了虚拟化市场中的领先位置,有人认为它已经成为事实上的虚 拟化标准。但是随着n o v e l l 和r e dh a t 高调宣布对x e n 的支持,x e n 的前景也 更加明朗起来:而另外一家v i r t u a ls e r v e r 由于微软的背景,更不容小觑。因此, 很难判定谁家的标准将成为虚拟化的标准。 虚拟化技术的不标准,使得虚拟化的管理成为一大难题。统一的虚拟化标 准,这有助于服务器虚拟化产品的普及和推广,也有助于整个产业的快速健康 发展。 分布式管理任务组织( d m t f ,d i s t r i b u t e dm a n a g e m e n tt a s kf o r c e ) 最近发 布了一套有关虚拟服务器管理的标准。 根据d m t f 网站所公布的资料,该标准大概包括如下方面:编写虚拟机系 统的方式,管理虚拟机的生命周期;创建、修改以及删除虚拟资源;监控虚拟 机系统的状况与性能。 比如说,根据d m t f 的描述,系统虚拟化框图提供了一项服务,用以操作 虚拟机系统以及其资源,而虚拟系统框图则定义了基本的控制操作,诸如虚拟 系统的激活、解除激活、暂停以及挂起。其他的一些框图包括通用的设备资源 虚拟化框图,资源分配框图以及分配能力框图等。 虚拟化软件厂商以及虚拟化管理厂商都参与了这些框图的研发和制定,并 且正在努力将这些标准应用到其产品中去。针对虚拟机的性能测试,s p e c 公 司专门成立了虚拟化性能测试委员会( s p e cv i r t u a l i z a f i o nc o m m i t t e e ) 。另外 v 、1 w a r e 也制定了一些相关的接口标准。 2 5 设计虚拟机的应考虑的几个因素 性能:虚拟机合理地利用了系统的资源,但是在性能上也要尽可能接近真 实机器的性能。这需要优秀的设计来到达这个目标。另外,在完成虚拟机的实 现以后,专门的性能提升和优化也是必不可少的。 l l 浙江大学硕士学位论文第2 章虚拟化技术 功能:虚拟机必须要完成相应的功能。从而达到资源的合理利用和重新分 配的目的。 安全:利用了虚拟化技术以后,系统的安全性进一步受到了挑战。虚拟化 技术是对传统的操作系统架构的颠覆,必然导致新的入侵方式和漏洞的产生。 因此在设计虚拟机的时候必须要周密地考虑。 能耗:计算机对电能的消耗已经不止一次被重提。值得奇怪的是,电能的 消耗已经成为很多公司一笔巨大的开支,因此虚拟机术的引入必须充分利用 a c p i 技术,对能耗的使用进行优化。 管理:虚拟机必须要面对最终用户,对于接口和用户界面的设计必须尽量 地简单和人性化,否则将很不利于虚拟机的管理,更不利于虚拟化技术的推广 和使用。 2 6 本章小结 本章介绍了与虚拟化技术相关的知识。首先给出了虚拟化技术的定义。在 对大量虚拟化技术进行分析和研究基础上总结出虚拟化技术的特征。给出了虚 拟化技术的技术规范以及虚拟机设计和实现应该具体注意的问题。 1 2 游汪犬学硕士学位论文 第3 章x e n 虚拟枫絮构 第3 章x e n 虚拟机架构 在孳l 言中,对虚拟机化技术作了简要介绍。本章中,将对现在比较流行的 种硬件虚拟枫x c n 的絮构作深入分析。露蓊,x e n 虚拟枧架构既支持泛蘼拟 化技术,也支持完全艘擞化技术。在x e n 中,客户概被称之为虚拟域( d o m a i n ) , 其中0 号廉拟域茭服务域终为监控程序的扩展提供系统的管理服务。监控程序 拥有部分硬件f o 资源如定时器设备、串断设备p l e 统幽谨l c 圾0 a p 砧等, 其他虚拟域也可以拥有部分的f o 资源如硬盘网卡等。拥有物理设备的虚拟域 称为隔离设备驱动域( i s o l a t e dd r i v e rd o m a i n ) 或简称设备驱动域( d r i v 材 d o m a i n ) 。普通虚拟域只有虚拟设备丽不拥有感接的硬 牟设备瓷源访问权。 3 。1x e n 泛虚拟化体系结构 x e n 的泛虚拟他嗣体系结擒如图3 耋所示。监控程序( h y p e r v i s o r ) 运行 在在最高优先级( r i n go ) 上,泛虚拟化的虚拟域运行在较低的优先级上( r i n g 1 3 ) 。x c n x 8 6 泛虚拟化域的内核运行在优先级l 上,而应用程序仍然运行禚 优先级3 上。x e n 服务虚拟域拥有对整个( 或部分) 物理系统资源的管理功髓, 翔块设备、显示和输入输出等。虚拟域0 ( 帮服务应拟域) 作为h y p c r v i s o r 的 扩充,壹接拥寄系统硬件输入输出设备( i o 、d m a 等) ,也嚣蘸必须具有对 这些设备响应的原生( n a t i v e ) 驱动程序。虚拟域好提供对整个系统的管理平 台,也是一个设备驱勘域。虚拟域1 是一个设备驱动域拥有部分物理设餐,鼹 此需要n a t i v e 驱动程序及向其他客户机提供后端设备驱动程序。虚拟域2 是一 个用户泛虚拟化域,它不具有物理硬件设备,相反通过虚拟设备( 即前端设备 驱动程序) 南位于虚拟域0 的螽端设备驱动程窿审请服务,焉实现黠设备的访 阕。另外,在未经修改的操律系统上瞧可以运幸亍泛纛拟纯的翁端设餐驱动穗序, 以获取更赢的性能。 1 3 浙江大学硕士学位论文 第3 章x e a 虚拟机架构 客户操作系统 ( x m l i n u x ) l 矫躏设嚣溪动( b 酏k - e l i d ) l 来掺改的设备驱动 虚拟域1 特权域 客户操作系统 ( x m l m u x ) 后辅设鍪夔韵( b a c k - e a r l ) 来铬改的设备鞭幼 虚拟域2 非特权域 客户操作系统 ( x e n l i n u x ) 3 1 1 事件通道 图3 1x e n 泛虚拟化体系结构 事件通道( e v e n tc h a n n e l ) 是x e n 用于虚拟域和v m v l 之间、虚拟域和虚 拟域之间的一种异步事件通知机制。在3 2 位x 8 6 架构下有1 0 2 4 个事件通道, 共分8 组,每1 2 8 个通道一组。x e n 架构上的物理中断( p i r q ) 、虚拟中断( v l r q 、 虚拟处理器间中断( v l p i ) 和虚拟域间通信( i n t e rd o m a i nc o m m u n i c a t i o ,简称 i d c ) 均通过事件通道实现。向事件通道发送消息会在每一个虚拟域的内部数 据结构( e v t c h n 中置位,以便客户机处理。如果目标虚拟处理器正在_pending) 运行,则需要通过物理i p i 打断当前虚拟机的执行,以及时响应异步事件。x e n 架构上的物理中断等同于原生系统上的中断,使拥有原生设备的x e n 虚拟域可 以最大程度地利用原生操作系统( l i n u x ) 的设备驱动程序。事件通道机制使得 h y p e r v i s o r 在向客户机异步通知时可以一次承载多个异步事件( 含物理中断) , 从而一次虚拟域与h y p e r v i s o r 之间的边界穿越可以使客户机批处理多个中断事 件,大大提高了系统的总体性能。泛虚拟域对虚拟中断和物理中断的处理完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术学院模特合同范本
- 酒店土建改造合同范本
- 维修协议合同范本模板
- 直播公司外包合同协议
- 阀门厂家采购合同范本
- 羊毛成品采购合同范本
- 美容项目购买合同范本
- 迁址通知转让合同范本
- 货物买卖合同结算协议
- 网签监管协议合同样本
- 国开2023年秋《分析化学(本)》形考任务1-3参考答案
- 车联网技术与应用PPT完整全套教学课件
- 如何识别与消除七大浪费演示文稿
- 最新工程施工组织设计论文参考文献99例,参考文献
- GB/T 2585-2021铁路用热轧钢轨
- GB/T 242-2007金属管扩口试验方法
- GB/T 16825.1-2008静力单轴试验机的检验第1部分:拉力和(或)压力试验机测力系统的检验与校准
- 中东历史及文化
- 主令电器(课用)课件
- 新形势下群众工作的理论与实践课件
- 人力资源公司简介课件
评论
0/150
提交评论