商网云政务——IaaS关键实现技术之服务器虚拟化服务器虚拟化技术是指能够在一台物理服务器上运行多台虚拟服务器的技术,并且上述虚拟服务器在用户、应用软件甚至操作系统看来,几乎与物理服务器没有区别,用户可以在虚拟服务器上灵活地安装任何软件。除此之外,服务器虚拟化技术还应该确保上述多个虚拟服务器之间的数据是隔离的,虚拟服务器对资源的占用是可控的!在服务器虚拟化技术中,被虚拟出来的服务器称为虚拟机。运行在虚拟机里的操作系统称为客户操作系统,即GuestOS。负责管理虚拟机的软件称为虚拟机管理器,缩写为VMM。服务器虚拟化通常有两中架构,分别是寄生架构(Hosted)与裸金属架构。(1)寄生架构。一般而言,在使用计算机之前,首先要安装操作系统,该操作系统称为宿主操作系统,即HostOS。如果采用虚拟机技术,则需要在操作系统之上再安装一个VMM,然后利用这个VMM创建并管理虚拟机。这种后装模式称为寄生架构,因为VMM看起来像是“寄生”在操作系统上的。例如,Oracle公司的VirtualBox就是一种寄生架构。(2)裸金属架构。顾名思义,裸金属架构是指将VMM直接安装在物理服务器之上而无须安装操作系统的预装模式。在安装了VMM之后,再在VMM上安装其他操作系统。由于VMM“看起来”是直接安装在物理计算机上的,所以称为裸金属架构,例如KVM、Xen。目前,普遍认为裸金属架构的性能要比寄生架构的性能高。很多资料都宣传说,裸金属架构是直接运行在物理硬件之上的,无须通过HostOS,所以性能更高。从目前的趋势来看,虚拟化将成为操作系统本身功能的一部分。例如,KVM就是Linux标准内核的一个模块,微软的Windows2008也自带Hyper-V。其中关键部件的虚拟化方法,包括CPU、内存、I/O的虚拟化。CPU虚拟化是指将单个物理CPU虚拟成多个虚拟CPU供虚拟机使用。虚拟CPU分时复用物理CPU,虚拟机管理器负责为虚拟CPU分配时间片,并同时对虚拟CPU的状态进行管理。内存虚拟化是指VMM通过维护物理机内存和虚拟机所见到的“物理内存”的映射关系,为虚拟机分配物理机的内存,是虚拟机看到的内存为从地址0开始的联系物理地址。I/O虚拟化就是通过截获GuestOS对I/O设备的访问请求,用软件模拟真实的硬件,复用有限的外设资源。I/O虚拟化与CPU虚拟化是紧密相关的。例如,当CPU支持硬件辅助虚拟化技术时,往往在I/O方面也会采用DIrectI/O等技术,使CPU能直接访问外设,以提高I/O性能。