浅析Linux虚拟化技术详解

  • 格式:pdf
  • 大小:161.18 KB
  • 文档页数:3

第28卷湖北师范学院学报(自然科学版)Vol128

第1期JournalofHubeiNormalUniversity(NaturalScience)No11,2008

浅析Linux虚拟化技术王建红(湖北师范学院计算机科学与技术学院,湖北黄石 435002)

摘要:虚拟化是当今计算机及网络领域热门的技术方向之一,在某种程度上它为用户屏蔽了计算机底层异构系统的复杂性,带给用户操作及管理计算机系统上的极大方便性并降低了企业的信息化成本,而Linux

是近乎免费且完全开放源代码的计算机操作系统,用户可根据需要定制和裁剪,Linux与虚拟化的结合必然是企业追求高效率和低成本的技术选择趋势。对虚拟化技术及Linux系统下虚拟化实现作了详细的介绍,比较了不同的实现方法和虚拟化软件平台。关键词:Linux;虚拟化;虚拟化技术;SAN

中图分类号:TP302 文献标识码:A 文章编号:100922714(2008)0120062203

0 引言 当今社会,随着计算机科学技术和互联网的飞速发展,信息也正以人们难以想象的爆炸式速度在增长。无论是企业的服务器还是普通的个人电脑,它们平台的多样性、信息资源的快速膨胀及对网络带宽的无尽需求,对于用户和管理者来说,要存储、管理好这些宝贵的信息资源并给网络上的用户提供资源共享和优质的服务那是一项严峻的挑战。虚拟化计算及存储技术的出现,是应对这一挑战的重要技术体系。虚拟化的含义丰富,应用广泛,进行虚拟化就是要将某种形式的东西以另外一种形式呈现出来。对计算机进行虚拟化就是要将计算机以多台或一台完全不同的计算机的形式呈现出来。虚拟化也可以将多台计算机组合成一台计算机的形式呈现出来,这通常称为服务器聚合或网格计算。Linux作为服务器上常用的而且源代码完全公开的操作系统,在它之上做系统的虚拟化有着其它操作系统平台没有的优势。

1 虚拟化的分类1.1 服务器虚拟化关于服务器虚拟化的概念,各个厂商有各自不同的定义,然而其核心思想是一致的,即它是一种方法,能够通过区分资源的优先次序,并随时随地能将服务器资源分配给最需要它们的工作负载,以此来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源。实际上,虚拟化技术可以通过两个方向来帮助服务器更加合理地分配资源,一种方向就是把一个物理的服务器虚拟成若干个独立的逻辑服务器,这个方向的典型代表就是分区;另一个方向,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器,这个方向的典型代表就是网格。1.2 存储虚拟化存储虚拟化技术将底层存储设备进行抽象化统一管理,向服务器层屏蔽各种不同存储设备硬件

收稿日期:2007—07—13

作者简介:王建红(1978— ),男,湖北武汉人1・26・的特殊性,而只保留其统一的逻辑特性,从而实现了存储系统集中、统一而又方便的管理。对比一个计算机系统来说,整个存储系统中的虚拟存储部分就像计算机系统中的操作系统,对下层管理着各种特殊而具体的设备,而对上层则提供相对统一的运行环境和资源使用方式。从系统的观点看,有三种主要的存储虚拟化方法:基于主机的虚拟存储,基于主机的虚拟存储依赖于代理或管理软件,它们安装在一台或多台主机上,实现存储虚拟化的控制和管理。由于控制软件是运行在主机上,这就会占用主机的处理时间。因此,这种方法的可扩充性较差,实际运行的性能较差。基于主机的方法也有可能影响到系统的稳定性和安全性,因为有可能导致不经意间越权访问到受保护的数据。这种方法要求在主机上安装适当的控制软件,因此一个主机的故障可能影响整个SAN系统中数据的完整性。软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互操作性开销,所以这种方法的灵活性也比较差。但是,因为不需要任何附加硬件,基于主机的虚拟化方法最容易实现,其设备成本最低。基于存储设备的虚拟存储,基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。如果没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。对于包含多厂商存储设备的SAN存储系统,这种方法的运行效果并不是很好。基于网络的虚拟存储,基于网络的虚拟存储是在网络设备之间实现存储虚拟化功能。主要是在互联设备、局域网、路由器上实现基于网络的虚拟存储。1.3 网络的虚拟化网络虚拟化概念并不是什么新概念,多年以来,虚拟局域网(VLAN)技术作为经实践证明切实可靠的一种方法,历来用于一个以太网交换上或者跨多个交换机来构建安全、独立的局域网网段。虚拟化技术也可以适用于企业网络核心或边缘的路由,如果把一个企业网络分隔成多个不同的子网络-

-它们使用不同的规则和控制,用户就可以充分利用交换机的虚拟化路由功能,而不是购买及插入新的机架或者设备来实现这种分隔机制。思科总裁兼首席执行官约翰・钱伯斯说过,虚拟化将推动下一波网络的增长,虚拟化意味着一个用户能够从任何屏幕访问任何应用程序而看不到网络的复杂性。

2 Linux虚拟化2.1 实现Linux虚拟化的方法实现Linux虚拟化的方法不止一种,实际上,有几种方法都可以通过不同层次的抽象来实现相同的功能。Linux中常用的有四种虚拟化方法:

硬件仿真,这是最复杂的Linux虚拟化实现技术。在这种方法中,可以在宿主系统上创建一个硬件VM(虚拟机)来仿真所想要的硬件,使用硬件仿真的主要问题是速度会非常慢。由于每条指令都必须在底层硬件上进行仿真,因此速度会减慢很多。若要实现高度保真的仿真,包括周期精度、所仿真的CPU管道以及缓存行为,实际速度甚至可能大约只有真实系统的1/10001完全虚拟化,使用名为Hypervisor的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。Hypervisor可以捕获CPU指令,为指令访问硬件控制器和外设充当中介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。主要缺点是,Hypervisor给处理器带来了额外的开销。在完全虚拟化的环境下,Hypervisor运行在裸机上,充当主机操作系统,而由Hypervisor管理的虚拟服务器运行客户端操作系统。准虚拟化,完全虚拟化是处理器密集型技术,因为它要求Hypervisor管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是,改动客户操作系统,让它以为自己运行在虚拟环境下,能够与Hypervisor协同工作,这种方法就叫准虚拟化。Linux的源代码是完全开放的,也即是可以修改的操作系统,是能够适用此方法的。操作系统层虚拟化,就是在操作系统层面增添虚拟服务器功能,没有独立的Hypervisor层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。与・36・其它方法相比一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统。2.2 支持Linux虚拟化的软件平台常见的虚拟化软件平台有VMware,MicrosoftVirtualServer2005,OpenVZ,Q,QEMU,Xen等。但并不是每一种都适合Linux系统的虚拟化,这其中以开源的OpenVZ和Xen对Linux系统支持最好。OpenVZ是一款让IT管理者创建一个安全的虚拟环境的基于Linux的软件。每一个独立的虚拟服务器都可以独立启动,可以与其他的独立的虚拟服务器共存,并可以互为冗余。OpenVZ项目是由SWsoft公司支持的开源项目,其目的是为满足社区中希望参加并加速技术发展进程的开发人员、测试人员、文档专家及其他技术爱好者们的需要。OpenVZ是以SWsoft公司Virtuozzo虚拟化软件产品为基础的开源项目,是操作系统级服务器虚拟化技术,基于Linux系统,它可以在单个物理服务器上创建多个完全隔离、安全的虚拟环境,这不仅提高了服务器的利用率,而且还大幅降低了服务器的故障率。OpenVZ也是非常容易操作的,该项目目前支持x86、x86/64和RISC处理器。Xen素有开源虚拟化的一面旗帜之称。其开源虚拟化工具对商业虚拟化软件公司如微软、VM2ware等有重大的影响,迫使这些公司将一些工具开源,免费供用户使用。Xen是一专为x86服务器虚拟化准备的开源软件包,它是由英国剑桥大学开发的,由XenSource公司进行商业化运作。Xen运行在Linux上,虚拟机上支持Windows和Linux。Xen已经提供对RedHatEnterpriseLinux4.1、SUSE

LinuxEnterpriseSever9.2/Fedora4等操作系统的支持,支持32路SMP系统,支持两大x86处理器提供商的虚拟化技术--IntelVT-x和AMDPacifica,其PAE支持32位服务器拥有超过4GB的内存,

其x86/64特性支持AMD64和IntelEM64T。

3 结束语 尽管Linux在全球的付费服务器操作系统环境上落后于微软和其他竞争者,但Linux在市场占有率上几乎是进步最快的。Linux与虚拟化的结合必然有着非常强大的互相增益效果,尤其是在当今企业信息计算环境日趋复杂,成本居高不下的情况下,更加显示其重要及迫切。

参考文献:

[1]吴松,金海.存储虚拟化[J].小型微型计算机系统,2003.24(4):728~732.[2]芥末.选择服务器虚拟化技术要点[J].中国传媒科技,2007.13(1):23~24.[3]温伟鸽,曾雷杰.浅谈存储区域网络的虚拟化技术[J].计算机时代,2005,15(7):7~8.[4]王敏,李静.一种虚拟化资源管理服务模型及其实现[J].计算机学报,2005,28(5):856~863.

TheanalysisoncomputervirtualizationoflinuxWANGJian2hong(DepartmentofComputerScience,HubeiNormalUniversity,Huangshi 435002,China)

Abstract:Virtualizationisoneofthehottechnologyincomputerandinternetfield.Tocertainextent,itcanscreentheusersagainstthecomplexityofthebottomheterogeneoussystemsandbringthegreatconvenienceofoperationandmanagementofthecomputersystemsandofcoursecanbringdowntheinformationcostsofthecompany.Linuxisthealmostfreeandcompletelyopen-of-source-codecomputeroperatingsysteminwhichuserscancustomizeandclipaccordingtotheirneeds.Thecom2binationofLinuxandvirtualizationisboundtobethetendencytothecompaniesforthesearchofhighefficiencyandlowcost.ThisarticlegivesanelaborateintroductiontothevirtualizationandtherealizationofvirtualizationundertheLinuxsystem.Andalso,itcomparesthedifferentrealizationandthedifferentsoftwareplatforms.Keywords:linux;virtualization;virtualtechnology;SAN