浅析Linux虚拟化技术详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第28卷湖北师范学院学报(自然科学版)Vol128第1期Journal of Hubei Nor mal University(Natural Science)No11,2008

浅析L inux虚拟化技术

王建红

(湖北师范学院计算机科学与技术学院,湖北黄石 435002)

摘要:虚拟化是当今计算机及网络领域热门的技术方向之一,在某种程度上它为用户屏蔽了计算机底层异

构系统的复杂性,带给用户操作及管理计算机系统上的极大方便性并降低了企业的信息化成本,而L inux

是近乎免费且完全开放源代码的计算机操作系统,用户可根据需要定制和裁剪,L inux与虚拟化的结合必

然是企业追求高效率和低成本的技术选择趋势。对虚拟化技术及L inux系统下虚拟化实现作了详细的介

绍,比较了不同的实现方法和虚拟化软件平台。

关键词:L inux;虚拟化;虚拟化技术;S AN

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

0 引言

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

1 虚拟化的分类

1.1 服务器虚拟化

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

1.2 存储虚拟化

存储虚拟化技术将底层存储设备进行抽象化统一管理,向服务器层屏蔽各种不同存储设备硬件

收稿日期:2007—07—13

作者简介:王建红(1978— ),男,湖北武汉人1

2

6

的特殊性,而只保留其统一的逻辑特性,从而实现了存储系统集中、统一而又方便的管理。对比一个计算机系统来说,整个存储系统中的虚拟存储部分就像计算机系统中的操作系统,对下层管理着各种特殊而具体的设备,而对上层则提供相对统一的运行环境和资源使用方式。从系统的观点看,有三种主要的存储虚拟化方法:基于主机的虚拟存储,基于主机的虚拟存储依赖于代理或管理软件,它们安装在一台或多台主机上,实现存储虚拟化的控制和管理。由于控制软件是运行在主机上,这就会占用主机的处理时间。因此,这种方法的可扩充性较差,实际运行的性能较差。基于主机的方法也有可能影响到系统的稳定性和安全性,因为有可能导致不经意间越权访问到受保护的数据。这种方法要求在主机上安装适当的控制软件,因此一个主机的故障可能影响整个S AN系统中数据的完整性。软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互操作性开销,所以这种方法的灵活性也比较差。但是,因为不需要任何附加硬件,基于主机的虚拟化方法最容易实现,其设备成本最低。

基于存储设备的虚拟存储,基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。如果没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。对于包含多厂商存储设备的S AN存储系统,这种方法的运行效果并不是很好。

基于网络的虚拟存储,基于网络的虚拟存储是在网络设备之间实现存储虚拟化功能。主要是在互联设备、局域网、路由器上实现基于网络的虚拟存储。

1.3 网络的虚拟化

网络虚拟化概念并不是什么新概念,多年以来,虚拟局域网(VLAN)技术作为经实践证明切实可靠的一种方法,历来用于一个以太网交换上或者跨多个交换机来构建安全、独立的局域网网段。虚拟化技术也可以适用于企业网络核心或边缘的路由,如果把一个企业网络分隔成多个不同的子网络--它们使用不同的规则和控制,用户就可以充分利用交换机的虚拟化路由功能,而不是购买及插入新的机架或者设备来实现这种分隔机制。思科总裁兼首席执行官约翰・钱伯斯说过,虚拟化将推动下一波网络的增长,虚拟化意味着一个用户能够从任何屏幕访问任何应用程序而看不到网络的复杂性。

2 L inux虚拟化

2.1 实现L inux虚拟化的方法

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

硬件仿真,这是最复杂的L inux虚拟化实现技术。在这种方法中,可以在宿主系统上创建一个硬件VM(虚拟机)来仿真所想要的硬件,使用硬件仿真的主要问题是速度会非常慢。由于每条指令都必须在底层硬件上进行仿真,因此速度会减慢很多。若要实现高度保真的仿真,包括周期精度、所仿真的CP U管道以及缓存行为,实际速度甚至可能大约只有真实系统的1/10001

完全虚拟化,使用名为Hypervis or的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。Hypervis or可以捕获CP U指令,为指令访问硬件控制器和外设充当中介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。主要缺点是,Hypervis or给处理器带来了额外的开销。在完全虚拟化的环境下,Hypervis or运行在裸机上,充当主机操作系统,而由Hypervis or管理的虚拟服务器运行客户端操作系统。

准虚拟化,完全虚拟化是处理器密集型技术,因为它要求Hypervis or管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是,改动客户操作系统,让它以为自己运行在虚拟环境下,能够与Hypervis or协同工作,这种方法就叫准虚拟化。L inux的源代码是完全开放的,也即是可以修改的操作系统,是能够适用此方法的。

操作系统层虚拟化,就是在操作系统层面增添虚拟服务器功能,没有独立的Hypervis or层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。与

3

6

相关文档
最新文档