方案,在IT方面,它是指运用模拟仿真的技术创造一个虚拟的(而不是真实)的的东西,例如硬件平台、操作系统、软件环境、一个存储设备或网络资源等等,来达到将固定的计算机资源根据不同需求达到最大利用率的一种思路。目前虚拟化技术主要关注于服务器虚拟化,即在一个宿主计算机上提供多个独立操作系统运行。
一、常用的四种虚拟化方法
实现虚拟化的方法不止一种,有几种方法都可以通过不同层次的抽象来实现相同的结果,以下介绍Linux系统下常用的四种虚拟化方法及其特点,其中宿主机表示真实计算机,客户机表示虚拟计算机。
1、硬件虚拟化
最复杂的虚拟化实现技术无疑是硬件虚拟化。在这种方法中,可以在宿主机系统上创建一个硬件虚拟机(Virtual Machine)来仿真所想要的硬件。硬件虚拟化分为硬件指令虚拟化和硬件资源虚拟化,硬件指令虚拟化目的是将客户机发出的指令翻译成所在主机平台的指令,从而实现对客户机指令的模拟执行。硬件资源虚拟化将虚拟资源映射到物理资源,并在虚拟机计算中使用本地硬件。
硬件虚拟化技术的优点是可以仿真一个与宿主机指令不同的系统,例如可以在X86的宿主机上可以虚拟仿真出MIPS或者PowerPC架构的系统来,而且X86宿主机不需要任何修改;其缺点是由于对指令的虚拟仿真,使得虚拟机的运行速度大大降低。Dynamips就是这个技术的代表产品。
2、完全虚拟化
这种方法使用一个Hypervisor或者VMM(Virtual Machine Monitor,虚拟机监视器)在客户机操作系统和宿主机的裸硬件之间提供一种协调。宿主机的特定受保护指令必须被分离出来并在Hypervisor中进行处理,底层硬件也通过Hypervisor共享被其客户机使用。虽然完全虚拟化的运行速度比硬件虚拟化的速度要快,但是由于中间经过了Hypervisor的协调过程,故其性能要低于硬件虚拟化。完全虚拟化的优点是对宿主机的操作系统无需修改就可以直接运行客户机,惟一的限制是客户机必须要受到宿主机硬件的支持。Vmware、Virtual PC 和Virtual Box是这个技术的代表产品。
3、超虚拟化
超虚拟化不仅使用了一个Hypervisor来实现对宿主机硬件的共享,而且将与虚拟化有关的代码都集成到了客户机的操作系统中,这样不再需要分离或重新编译特权指令,因为宿主机和客户机的操作系统在虚拟化进程中会相互协作。超虚拟化技术缺点是要为Hypervisor来改客户机操作系统,但优点是提供了与未经虚拟化的系统相接近的性能。与完全虚拟化相类似地,超虚拟化技术也可以同时支持多个不同的操作系统,Xen是一个超虚拟化的免费开源解决方案。
4、操作系统级别的虚拟化
这种技术在操作系统本身之上实现服务器的虚拟化。这种方法支持单个操作系统,并可以将独立的服务器相互简单地隔离开来。操作系统级的虚拟化要求对操作系统的内核进行一些修改,但是其优点是可以获得原始性能。Linux-VServer是一个操作系统级虚拟化解决方案。
二、模拟和仿真
对于虚拟化技术,不能不提到模拟仿真的概念,这两个词分别是由Simulation或者Emulation翻译过来的,关于Simulation和Emulation的定义在计算机科学里有很多的争议,一般认为Simulation是指在计算机上用软件的方式去模拟系统的一个功能,并不要求系统功能的实现细节等问题,只要保证在同样的输入下,软件的输出和所模拟部分的真实输出保持一致相似,而对具体实现过程并不注重,Simulation System设计的过程如图1。Emulation一般是指在计算机上用软件或者少量硬件去模拟仿真出系统的各个部件,真实的体现出所仿真系统的运行机制,这就要求开发者先建立真实系统的模型,即真正了解真实系统的内部结构,这样才能用编程等方法实现各个部件的模型。相比Simulation,Emulation方法更注重了实现过程,而且其输入输出结果更能真实反映真实系统的输入输出,因此Emulation System更接近真实系统,其设计过程如图2。
而我们中文的模拟的含义大多数指的是用在一个平台上用软件其实现另一个平台程序运行,这个含义同时包含了Simulation和Emulation的概念;仿真的含义大多数指结合硬件来实现另一个平台上程序的运行。
三、三种虚拟计算机网络设备比较
按照对于虚拟技术——Simulation和Emulation的分析,我们对虚拟计算机网络设备三种软件进行分类:Boson NetSim和Packet Tracer是从软件结果上模拟了CISCO设备的功能,即给出部分相关的输入能得到相应的输出,但中间如何实现和原真实设备无关,属于Simulation的范畴;而Dynamips是从真实设备各个部件的模型出发实现了虚拟设备,输入输出和真实设备运行过程相关,属于Emulation的范畴。因此从网络设备的虚拟效果来看,Dynamips更能真实的反映实验效果。
另外路由器、交换机等网络设备主要采用MIPS或者PowerPC架构,而我们的宿主机一般是X86架构,因此对这些网络设备的虚拟化技术一般才用硬件虚拟化技术实现,而Dynamips正是硬件虚拟化技术的一个代表产品,因此仿真度高的网络设备虚拟化技术主要采用Dynamips仿真器来实现。
参考文献:
[1]龙华.OPNET Modeler与计算机网络仿真[M]. 西安:西安电子科技大学出版社,2006:21
推荐访问: 计算机网络 虚拟 分析 设备 技术