服务器虚拟化将系统虚拟化技术应用于服务器上,将一个服务器虚拟成若干个服务器使用。简单的说,服务器虚拟化使得在单一物理服务器上可以运行多个虚拟服务器。服务器虚拟化为虚拟服务器提供了能够支持其运行的硬件资源抽象,包括虚拟BIOS、虚拟处理器、虚拟内存、虚拟设备与I/O,并为虚拟机之间提供良好的隔离性和安全性。

服务器虚拟化通过虚拟化软件向上提供对硬件设备的抽象和对虚拟服务器的管理。目前在描述这样的软件时通常使用两个术语:虚拟机监视器和虚拟化平台。

l   虚拟机监视器(virtual machine monitorvmm),负责对虚拟机提供硬件资源抽象,为客户操作系统提供运行环境。

l   虚拟化平台(hypervisor),负责虚拟机的托管和管理,他直接运行在硬件之上,其实现直接受底层体系结构的影响。

这两个术语不做严格区分,源于虚拟化软件的不同实现模式。在服务器虚拟化中,虚拟化软件需要实现对硬件的抽象,资源的分配。调度和管理,虚拟机与宿主操作系统及多个虚拟机间的隔离功能等。虚拟化软件提供的虚拟化层处于硬件平台之上,客户操作系统之下。根据虚拟层实现方式不同,服务器虚拟化分为

寄宿虚拟化和原生虚拟化。

l   寄宿虚拟化  运行在宿主操作系统之上的应用程序,利用宿主操作系统的功    能来实现硬件资源的抽象和虚拟机的管理。这种虚拟化实现容易,性能较低。常见的如VMware WorkstationMicrosoft Virtual PC等。

l   原生虚拟化  直接运行在硬件之上的虚拟化平台。由虚拟化平台提供指令集和设备接口供虚拟机使用。这种虚拟化实现较复杂,但具有较好的性能。常见的有Cirtrix XenVMware Esxi ServerMicrosoft Hyper-V等。

服务器虚拟化必备的是对三种硬件资源的虚拟化:CPU、内存、设备与I/O。因此CPU虚拟化、内存虚拟化、设备与I/O虚拟化是服务器虚拟化的三大核心技术。

l   CPU虚拟化 硬件辅助虚拟化技术是一种硬件方案,支持虚拟化技术的CPU加入新的指令集和处理器运行模式来完成和CPU虚拟化的相关功能。目前Intel公司和AMD公司均推出了硬件辅助虚拟化技术Intel VTAMD-V。硬件辅助虚拟化技术支持客户操作系统直接在其上运行,无需进行二进制编译或超级调用,因此减少了性能开销,简化了虚拟化平台设计。目前主流的虚拟化软件厂商在通过和CPU厂商的合作来提高其产品的性能和兼容性。

l   内存虚拟化  内存虚拟化技术把物理机的真是物理内存统一管理,包装成多个虚拟机的物理内存分别供若干个虚拟机使用,使的每个虚拟机拥有各自独立的内存空间。内存虚拟化中,逻辑内存与机器内存之间的映射关系是由内存虚拟化管理单元来负责的。内存虚拟化管理单元的实现形式主要有两种方法。

·         影子页表法,客户操作系统维护这自己的页表,该页表中的内存地   址是客户操作系统看到的“物理地址”。同时虚拟机监视器也为每台虚拟机维护着一个对应的页表,只不过这个页表中记录的是真实的机器内存地址。虚拟机监视器的页表是以客户操作系统维护的页表为蓝本建立的,并随客户操作系统页表的更新而更新,就像它的影子一样。VMware WorkstationVMware Esxi ServerKVM都是采用影子页表技术的。

·         页表写入法,客户机操作系统对页表的每次修改都会陷入虚拟机监视器,由虚拟机监视器来更新页表,保证其页表项记录的始终是真实的机器地址。页表写入法需要修改客户操作系统,Xen是采用该方法的代表。

l   设备与I/O虚拟化   把物理的真实设备统一管理,包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备响应请求和I/O请求。目前主流的设备与I/O虚拟化都是通过软件来实现的。虚拟化平台作为在共享硬件与虚拟机之间的平台,为设备与I/O的管理提供了便利,也为虚拟机提供了丰富的虚拟设备功能。网络接口是一个特殊的设备,虚拟服务器都是通过网络对外提供服务的,具有重要作用。

服务器虚拟化的技术优势

l   降低运营成本

服务器虚拟化是的系统管理员摆脱大量繁重的与物理服务器、操作系统、中间件及兼容性问题打交道的管理工作,更加专注于应用的管理。各大服务器虚拟化厂商都提供功能强大的虚拟化环境管理工具,减低管理员进行人工敢于的频率,并提供更简便、更强大的管理界面。

l   提高应用兼容性

服务器虚拟化技术提供的封装和隔离特性使得应用所在的平台与底层服务器环境隔离,管理员不再需要根据底层环境的变化频繁的调整应用,仅需构建一个应用版本,并将其发布到被虚拟化封装后的不同应用的平台上。

l   加速应用部署

采用服务器虚拟化以后,部署一个应用就是部署一个封装好的操作系统和应用程序的虚拟机,部署过程只需要几个步骤:输入激活配置参数、拷贝虚拟机、启动虚拟机、激活(配置)虚拟机。

l   提高服务可用性

由于虚拟机是单个的逻辑文件,对应的处理器和内存资源都被虚拟机管理程序封装和隔离。用户可以方便的对运行中的虚拟机快照并备份成虚拟机镜像文件。并在需要的时候动态迁移虚拟机,恢复到某个备份。或则在其他物理机上运行该备份以提高可用性。

l   提升资源利用率

采用服务器虚拟化技术后,将原有多台物理服务器整合到一台物理服务器上,提高物理服务器的使用率,同时通过虚拟化技术提供的隔离性、封装性、保证原有服务仍然可用,其安全性及性能不受影响。进行服务的整合,服务器的CPU利用率、内存利用率、存储利用率、网络利用率都会得到大幅度的提高。

l   动态调度资源

服务器虚拟化技术使的用户可以即时的调整虚拟机资源如CPU、内存等。管理员可以灵活的根据虚拟机内部的资源使用情况调整分配给虚拟机的资源。

l   降低能源消耗

采用服务器虚拟化技术后,在负载低谷时,管理员可以将运行在各个服务器上的应用整合到较少的几台服务器上,关闭空闲的物理服务器,通过减少运行的物理服务去数量、减少CPU以外各单元的耗电量,达到绿色节能的目的。