基于XEN的虚拟化技术优化

基于XEN的虚拟化技术优化
基于XEN的虚拟化技术优化

1引言

随着计算能力的不断提高,单服务器的资源利用率却反而降低,这就引发了计算资源的富余,而低水平的资源利用率催生了虚拟化技术的出现。

服务器的性能提高也由最初的依赖于CPU频率的增长转化为CPU核数的增加。多核CPU的出现,导致了计算资源由单核CPU的分时复用转变为多核CPU的并行处理。多核多CPU更加速了虚拟化技术的进程。

UVP(UnifiedVirtualizationPlatform)(基于XEN的虚拟化优化平台)通过对服务器物理资源的抽象,将CPU、内存、I/O等服务器物理资源转化为一组可统一管理、灵活调度、动态分配的逻辑资源,并基于这些逻辑资源在单个物理服务器上构建多个同时运行、相互隔离的虚拟机执行环境。通过UVP平台提供的虚拟化功能,可实现更高的资源利用率、更低的硬件采购成本和能耗以及更低的维护成本。

2XEN系统概述

2.1XEN简介和工作原理

XEN是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源虚拟化技术。XEN可以在一套物理硬件上安全的执行多个虚拟机,与Linux是一个完美的开源组合,NovellSUSELinuxEnterpriseServer最先采用了XEN虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,最大化利用数

陈宇肖国彪

(新华网北京100162)

【摘要】在云计算蓬勃发展这个外因的驱动下,虚拟化技术作为云计算的关键技术平台也正不可逆转地发展着。虚拟化使得一台计算机上能够运行多个虚拟机,虚拟机之间有很强的隔离性,且虚拟机与硬件没有直接的关联。论文从虚拟化出现的原因入手,进而介绍UVP虚拟化平台的架构、特点以及在虚拟化平台中使用的性能优化技术、节能管理技术、安全实现技术以及UVP的增强技术等,使用这些关键技术意义在于提高系统性能、增强安全性、易于后期维护和扩展等。

【关键词】虚拟化、XEN、优化设计

OptimizationofVirtualizationbasedonXEN

Chen Yu Xiao Guo-biao

(Xinhuanet Beijing100162)

【A bstract】Becauseoftherapidgrowthofcloudcomputingtechnology,virtualization,whichisthekeycomponentofcloudcomputing,isexperiencingfastdevelopmentatirreversiblerate.Thetechnologyofvirtualizationenablestheoperationofmultiplevirtualmachinesononephysicalmachine.Whilevirtualmachinescansharethephysicalresourcesofasinglecomputer,theyremaincompletelyisolatedfromeachotherasiftheywereseparatephysicalmachines.Virtualmachinesarecompletelyindependentfromtheirunderlyingphysicalhardware.Thispaperinitiatestheresearchfromthereasonwhyvirtualizationcameintobeing,andgoesontointroductionofthestructureandcharacteristicsoftheUVPvirtualizationplatform,includingthetechnologyofperformanceoptimization,energyefficiencymanagement,securityimplementandUVP'senhancement.Inaddtion,itstatesthesignificanceofthosementionedtechnology,suchasimprovingsystemperformance,strengtheningsecurity,easysystemmaintenanceandexpansionandsoon.

【K e ywords】virtualization;XEN;optimaldesign

基于XEN的虚拟化技术优化

89

··

信息安全与技术·2012年9月

据中心的IT基础架构。

在XEN环境中,主要有两个组成部分。一个是虚拟机监控器(VMM),也叫Hypervisor。XEN通过hypervisor软件层来访问物理硬件,实现在一台单独的计算机上运行多个各自独立彼此隔离的子操作系统。Hypervisor层硬件与虚拟机之间,最先被载入到硬件的第一层。Hypervisor载入就可部署虚拟机。在XEN中,虚拟机叫做Domain。在这些虚拟机中,Domain0具有很高的特权,负责一些专门的工作。由于hypervisor中不包含任何与硬件对话的驱动,也没有与管理员对话的接口,这些驱动就由domain0来提供了。通过domain0,管理员可以利用一些XEN工具来创建其它虚拟机(DomainU)。这些domainU属于无特权domain。

在domain0中,还会载入一个xend进程。这个进程会管理所有其它虚拟机,并提供这些虚拟机控制台的访问。在创建虚拟机时,管理员使用配置程序与domain0直接对话。

2.2XEN体系架构

2.3XEN虚拟化技术特性

XEN是目前业界性能最高的超级管理程序,其开销比同类专有产品低十倍。XEN独特的性能价值来自超虚拟化的使用。超虚拟化使托管虚拟服务器可以与超级管理程序共同协作,使企业应用程序达到最佳的性能。其他供应商(例如Microsoft)正争先恐后地实施自己的超级管理程序,但至少已落后XEN项目3年。另外,XEN还利用了IntelVT和AMD虚拟化处理器的硬件虚拟化能力。

XEN虚拟化技术的主要特性:

◆虚拟机的性能更接近真实的硬件平台;

◆可实现物理平台和虚拟平台间的自由切换;

◆在每个客户虚拟机支持到32个虚拟CPU,通过VCPU热插拔;

◆支持PAE指令集的X86/32、X86/64平台;

◆能通过硬件辅助虚拟技术进行虚拟原始操作系统,可支持MicrosoftWindows虚拟;

◆得到广泛的硬件厂家的大力支持,支持几乎所有的Linux设备驱动。

3XEN虚拟化技术优化设计-UVP解决方案

3.1UVP架构描述

UVP虚拟化平台主要由Hypervisor和Domain0组成。Hypervisor是子系统的核心,它介于硬件和操作系统之间,负责为上层运行的操作系统提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机之间的相互隔离;Hypervisor向Domain0提供了一个抽象层,其中包含了管理和虚拟硬件的API。Domain0是一个特权虚拟机,内部包含了真实的设备驱动(原生设备驱动),可直接访问物理硬件,负责与Hypervisor提供的管理API交互,并通过Agent接受管理系统的管理指令,实现对其它虚拟机(DomainU)的管理。

为了提升I/O虚拟化的性能,子系统采用分离设备驱动模型实现I/O的虚拟化。该模型将设备驱动划分为前端驱动程序、后端驱动程序和原生驱动三个部分,其中前端驱动在DomainU中运行,而后端驱动和原生驱动则在Domain0中运行。前端驱动负责将DomainU的I/O请求传递到Domain0中的后端驱动,后端驱动解析I/O请求并映射到物理设备,提交给相应的设备驱动程序控制硬件完成I/O操作。

UVP还包括一系列的外围工具,包括P2V/V2V工具、备份/快照工具、镜像制作工具等。

3.2UVP的性能优化技术

大多数的现代计算机体系结构都有两个或两个以上的特权级,用来分隔系统软件和应用软件。系统中有一些操作和管理关键系统资源的指令会被定义为特权指令,这些指令只有在最高特权级上能正确执行。如果在非最高特权级上运行,特权指令会引发一个异常,处理器会陷入到最高特权级,交由系统软件来处理。

引入虚拟化之后,有一类指令成为敏感指令,即操作特权资源的指令,包括修改虚拟机的运行模式或者物理机的状态;读写敏感的寄存器或者内存。显然,所有的

90

··

2012年9月·https://www.360docs.net/doc/4215227514.html,

特权指令都是敏感指令,但X86架构下,并不是所有的敏感指令都是特权指令。所以X86架构实现虚拟化存在“虚拟化漏洞”,即17条敏感指令不能被捕获。

虚拟化漏洞导致单纯的软件虚拟化方法存在性能不佳的问题,通过采用CPU体系架构上增加相应的硬件支持,可以有效地解决性能问题。

3.2.1使用CPU硬件辅助虚拟化技术

VT-x扩展了传统的x86处理器架构,它引入了两种操作模式:VMXrootoperation(根虚拟化操作)和VMXnon-rootoperation(非根虚拟化操作),统称为VMX操作模式。VMXrootoperation是VMM运行所处的模式,设计给VMM/Hypervisor使用,其行为跟传统的IA32并无特别不同,而VMXnon-rootoperation则是客户机运行所处的模式,在VMM控制之下的IA32/64环境。所有的模式都能支持所有的四个特权级别。

在以往,特权指令需要模拟运行。采用此种方式,VMM能从模拟运行特权指令当中解放出来,这样既能解决RingAliasing问题(软件运行的实际Ring与设计运行的Ring不相同带来的问题),又能解决RingCompression问题,从而大大地提升运行效率。

为了建立这种两个操作模式的架构,VT-x设计了一个Virtual-MachineControlStructure(VMCS,虚拟机控制结构)的数据结构,包括了Guest-StateArea(客户状态区)和Host-StateArea(主机状态区),宿主机通过VMCS结构灵活监控客户机的运行,环境切换时硬件自动保存、恢复各自的状态,并提供了VMentry和VMexit两种操作在虚拟机与VMM之间切换,用户可以通过在VMCS的VM-executioncontrolfields里面指定在执行何种指令/发生何种事件的时候,VMXnon-rootoperation环境下的虚拟机就执行VMexit,从而让VMM获得控制权,因此VT-x技术弥补了x86虚拟化漏洞,减小计算虚拟化的软件处理开销。

3.2.2使用内存硬件辅助虚拟化技术

虚拟化层的引入,使得内存地址空间引入一层新的地址空间,即客户机物理地址空间。

内存虚拟化的主要任务是实现地址空间的虚拟化,内存虚拟化是通过两次地址转换来支持地址空间的虚拟化,即客户机虚拟地址GVA->客户机器物理地址GPA->宿主机物理地址HPA的转换。

使用纯软件模式,实现两次地址的转换,即影子页表的方式,这种方式的原理是在VMM上,为每个VM中的进程建立一份GVA->HPA的页表;当VM切换进程时(需要更换CR3),VMM拦截修改CR3的指令,将VMM中的页表地址装载进CR3;所以VM中通过GVA->GHA访问内存,实际在物理CPU是通过GVA->HPA访存。

使用影子页表会带来一些问题:VMM参与客户机的每次页表修改,开销大,性能差;代码逻辑复杂,引入的锁机制损害了可扩展性。内存的硬件辅助虚拟化技术是用于替代虚拟化技术中软件实现的“影子页表”的一种硬件辅助虚拟化技术。

首先,VMM预先把客户机物理地址转换到机器地址的EPT页表设置到CPU中;其次,客户机修改客户机页表无需VMM干预;最后,地址转换时,CPU自动查找两张页表完成客户机虚拟地址到机器地址的转换。

使用内存的硬件辅助虚拟化技术,客户机运行过程中无需VMM干预,去除了大量软件开销,内存访问性能接近物理机;而且代码逻辑简单,可扩展性强。

3.2.3自伸缩内存调节技术——

—Balloon

自伸缩内存调节技术是一种VMM通过“诱导”客户机操作系统来回收或分配客户机所拥有的宿主机物理内存的技术。

当客户机物理内存足够时,客户机操作系统从其闲置客户机物理机内存链表中返回客户机物理内存给气球;当客户机物理内存资源稀缺时,客户机操作系统必须回收一部分客户机物理内存,以满足气球申请客户机物理内存的需要。

通过BalloonDriver模块,从源虚拟机申请可用内存页面,通过GrantTable授权给目标虚拟机,并更新虚拟机物理地址和机器地址映射关系表。通过使用Ballooning技术,可以有效地提升内存使用效率13%-17%。

3.2.4UVP的节能管理技术

当物理服务器处于低负载运行时,如果处理器仍处于正常状态下运行,那么会造成能源的浪费,采用CPU节能管理,用来解决CPU的能耗问题。UVP的CPU节能管理模块借鉴了Linux内核节能管理子系统的实现原理,通过其系统软件定期检测系统状态(如CPU占用率),再根据系统状态和节能策略,综合计算出CPU应该处于哪种状态,最终将状态设置到硬件,来达到节能的效果。

如图2所示,Hypervisor层Cpufreq子系统的实现架构,Hypervisor层实现三个组件,即Cpufreqcore、

91

··

信息安全与技术·2012年9月

Cpufreqgovernor和Cpufreqdriver。

Cpufreqcore作为Cpufreq子系统的核心,负责governor模块和driver模块的结耦,是所有控制逻辑的核心;Cpufreqdriver负责操作硬件,设置硬件的运行状态;Cpufreqgovernor管理节能执行策略,如cpu需要运行的状态。

UVP中提供governor策略,Ondemand:选择最适合系统运行的频率;Userspace:选择用户指定的频率;Performance:选择最高运行频率;Powersave:选择最低运行频率。

在Domain0中实现两个组件,ACPI分析模块和xenpm工具模块,ACPI分析模块解析ACPI相关的表,并将获取的信息传递给Hypervisor层的Cpufreqcore模块,xenpm模块是一种面向用户的管理工具,可以用来指定governor和设置各种节能策略参数等。

利用CPU节能模块可以节省物理机能耗(最大约节省20%能耗)。同时可以为上层提供节能管理接口、能耗信息和运行状态信息查询接口等。

3.2.5UVP的安全实现技术

vLAN

通过虚拟网桥实现虚拟交换功能,虚拟网桥支持vLANtagging功能,实现vLAN隔离,确保虚拟机之间的安全隔离。

虚拟网桥的作用是桥接一个物理机上的虚拟机实例。虚拟机的网卡eth0、eth1……称为前端接口(front-end)。后端(back-end)接口为vif,连接到Bridge。这样,虚拟机的上下行流量将直接经过Bridge转发。Bridge根据mac地址与vif接口的映射关系作数据包转发。

Bridge支持vLANtagging功能,这样,分布在多个物理机上的同一个虚拟机安全组的虚拟机实例,可以通过vLANtagging对数据帧进行标识,网络中的交换机和路由器可以根据vLAN标识决定对数据帧路由和转发,提供虚拟网络的隔离功能。

安全组

虚拟机安全组是一组虚拟机的集合,也是关于这组虚拟机的网络安全规则的集合。同一个虚拟机安全组中的虚拟机可能分布在多个物理位置分散的物理机上,一个安全组内的虚拟机之间是可以相互通信,而不同的安全组之间的虚拟机是不允许进行通信的。因此虚拟机安全组的作用是在一个物理网络中,划分出相互隔离的逻辑虚拟局域网,提高网络安全性。

3.2.6UVP的增强技术

(1)黑匣子技术——

—KBox

黑匣子主要用于收集并存储已安装UVP的物理机(即Domain0)异常退出前内核日志、诊断工具的诊断信息等数据,以便系统死机后,导出分析。为了让存储的信息不丢失,黑匣子支持把死机前收集的信息通过netpoll方式实时发送至远端服务器(TFTP服务器)。

黑匣子抓取的上下文内容有:存储内核日志;异常退出前屏幕输出信息;诊断工具(内核模块)的诊断信息。使用黑匣子,可以快速获取异常日志和程序堆栈,缩短问题定位时间,继而快速解决问题。

(2)虚拟机在线迁移

虚拟机的在线迁移,是指在虚拟机运行的情况下,实时将虚拟机从一台物理服务器上迁移到另外一台物理服务器上;虚拟机对动态迁移过程无感知,迁移过程中,业务不会中断。动态迁移是一个内存信息的移交和转换过程,虚拟机内存的所有信息全部封包并通过网络移交到另外一台物理服务器上,从而形成新的虚拟机。

虚拟机在线迁移为跨物理机管理虚拟机提供了条件,在此基础上可以扩展很多的特性,给客户带来很多的价值。

降低客户的业务运行成本:根据时间段的不同,客户的服务器会在一定时间内处于相对空闲状态,此时若将多台物理机上的业务迁移到少量或者一台物理机上运行,而将没有运行业务的物理机关闭,就可以降低客户的业务运行成本,同时达到了节能减排的作用。

保证客户系统的高可靠性:如果某台物理机运行状态出现异常,在进一步恶化之前将该物理机上运行的业务迁移到正常运行的物理机上,就可以为客户提供高可用性的系统。

92

··

2012年9月·https://www.360docs.net/doc/4215227514.html,

近些年来,非线性规划理论和系统控制理论被引入到拥塞控制的研究中来,一些研究者尝试使用严格的数学模型来描述端系统和网关组成的系统。这对拥塞控制的研究有很大的推动作用。最后需要指出的是,对于Internet这样一个复杂系统的分析与控制,只有通过通信、控制、经济学和数学等多学科的共同努力,才有望获得突破性的成果。

参考文献

[1]李红,李永宏,韩瑛.Internet拥塞控制分析.福建电脑,2006.1.

[2]王会灵,桂志波.TCP/IP网络的拥塞控制综述.广东通信技术,2005.09.

[3]黄卫平.TCP/IP协议中拥塞控制算法探讨.广西工学院学报,2003.06.

[4]霸桂芳,杨金山.TCP/IP拥塞控制研究现状的分析.衡水学院学报,2007.03.

[5]刘拥民.TCP拥塞控制技术初探.信息技术,2007.01.

作者简介:

郭琎(1983-),男,山西大同人,汉族,就职于煤炭科学研究总院安全装备分院,生产管理部副主任,助理工程师;主要研究方向为煤炭安全设备。

硬件在线升级:当客户需要对物理机硬件进行升级时,可先将该物理机上的所有虚拟机迁移出去,之后对物理机进行升级,升级完成再将所有虚拟机迁移回来,从而实现在不中断业务运行的情况下对硬件进行升级。4结论

UVP作为开放的、功能稳定的服务器虚拟化解决方案,通过对服务器物理资源的抽象,将CPU、内存、I/O等服务器物理资源转化为一组可统一管理、灵活调度、动态分配的逻辑资源,并基于这些逻辑资源在单个物理服务器上构建多个同时运行、相互隔离的虚拟机执行环境。并采用硬件辅助虚拟化技术提高计算资源的计算效率;并针对CPU能耗问题采用节能管理,降低服务器能耗;更针对用户对安全的要求,对虚拟机进行隔离,保证虚拟机安全可靠。更有电信特有的黑匣子技术,对异常宕机进行快速定位,易于维护管理等。UVP还通过虚拟机迁移更大程度的改善系统的可靠性。UVP通过一些列的技术实现,增强用户的灵活性、可扩展性和可管理性。参考文献

[1]雷葆华,饶少阳,江峰.《云计算解码:技术架构和产业运营》.电子工业出版社,2011.

[2]Kenneth Hess,Amy Newman,徐炯(译者).《虚拟化技术实战》.人民邮电出版社,2012.

[3]吕斯特(Danielle Ruest),Nelson Ruest,陈奋.《虚拟化技术指南》.机械工业出版社,2011.

[4]石磊,邹德清,金海.《Xen虚拟化技术》.华中科技大学出版社, 2009.

作者简介:

陈宇(1973-),男,1996年毕业于山东大学计算机专业,本科,学士学位。1996年在新华网技术部参加工作,目前工作职务为技术总监,高级工程师,一直从事内容管理、网站架构、虚拟化等领域的研究,曾负责新华网内容管理系统、中国政府网站建设等。

肖国彪(1977-),男,2000年毕业于北京信息工程学院管理信息系统专业,本科,学士学位。2000年在新华网技术部参加工作,高级工程师,一直从事搜索、Web2.0、虚拟化等领域的研究,曾参与新华网社区系统、中国政府网站建设等。

【上接第85页】

93

··

信息安全与技术·2012年9月

相关主题
相关文档
最新文档