所谓虚拟化,是指将单台电脑软件环境分割为多个独立分区,每个分区均可以按照需要模拟电脑的一项技术。它的技术实质是通过中间层次实现计算资源的管理和再分配,使资源利用实现最大化。
虚拟化分区带来的最大好处是使同一个物理平台能够同时运行多个同类或不同类的操作系统,以分别作为不同业务和应用的支撑平台。分区使得应用之间能够更好地隔离,通过把不同的应用安装到不同的分区上,可以避免在同一个系统运行多个应用时相互影响,包括计算资源争用,单一应用的崩溃对整个系统造成影响,或单一应用的维护和升级影响其他应用的运行,以及各应用对系统平台环境组件版本的不同要求等矛盾;同时使得系统的备份、迁移和升级更加简单灵活,由于资源管理中间层的存在,不但操作变得非常
简单,而且可以很容易实现在线实施;当然,最重要的是分区可以实现计算资源的实时按需动态分配,负载大的分区可以获得更多的计算资源。在负载下降时,计算资源可以被回收、返还或再分配给其他的分区,以最大限度地实现资源整合和按需动态分配。
2005年8月,Intel首次公布了其针对硬件虚拟化的Vanderpool技术细节,这种技术可以用于PC和服务器系统,它可以让一台计算机同时运行多个操作系统。Vanderpool技术通过增添新的指令,使得Intel处理器支持硬件虚拟化; 而软件方面则由一个被称为虚拟机监视器(VMM)的程序对虚拟机进行24小时不间断的管理。分析家认为,到2010年,大约95% 的新出产的Wintel服务器都会采用带有虚拟化技术的硬件。
同年11月,Intel又宣布,虚拟化技术Vanderpool被改成VT,并已经被Acer和联想应用在其基于Intel Pentium 4的PC上。Intel推出的Pentium 4核心为Prescott处理器,型号为Intel Pentium 4 662及Intel Pentium 4 672。Intel在6×2处理器中加入Intel VT技术,让一个平台能在独立的分区 (partitions) 或 “ 容 器 ” (containers)内执行多个作业系统与应用程式,单一的实体运算系统能以多个“虚拟”系统的方式进行运作。
英特尔虚拟化技术是一组可增强纯软件虚拟化解决方案能力的硅芯片技术。这些虚拟化解决方案可支持多个操作系统,并支持相关应用在单个分区同时运行。这样,单个物理系统可作为多个逻辑虚拟系统运行。英特尔的硬件技术(英特尔虚拟化技术)通过提高虚拟化解决方案的可靠性、支持性、安全性和灵活性来改进现有的纯软件虚拟化解决方案。
虚拟操作系统模型是基于虚拟机运行的主机操作系统创建了一个虚拟层,用来虚拟机主机的操作系统。在这个虚拟层之上,可以创建多个相互隔离的虚拟专用服务器(Virtual Private Server, VPS)。这些VPS可以最大化的效率共享硬件、软件许可证以及管理资源。对其用户和应用程序来讲,每一个VPS平台的运行和管理都与一台独立主机完全相同,因为每一个VPS均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件。对于运行着多个应用程序和拥有实际数据的产品服务器来说,虚拟操作系统的虚拟机可以降低成本消耗和提高系统效率。swsoft的virtuozzo是这一领域的成熟产品。
PC、NB,虽然可以安装多个操作系统,但是都只能同时运行一个操作系统,如果想要同时运行多个操作系统,答案就是虚拟。早在VT技术诞生之前,VMware,Vitrual PC等虚拟机软件就做了一个很好的典范,它们虚拟一台计算机的底层,然后过了操作系统,从而能够同时运行多个操作系统。不过VMware,Vitrual PC等软件的性能有一定限制,而且其作为一个软件,必须运行在某个操作系统之上,这就造成了其虚拟系统的性能,完全无法和独立系统相提并论。为了解决这些问题,VT技术就应运而生了。硬件层之上就是操作系统,而通过VT技术,在这两者之前增加了一个名叫Virtual Machine Moniter(VMM)的软件。VMM可以为每个操作系统提供一个虚拟的硬件环境,从而实现多个操作系统的共存。此外,由于所有的操作系统都是建立在一个虚拟的硬件上,任何一个操作系统的重启、重装甚至删除,都不会影响其它操作系统的运行。
优势
虚拟化能使用户在一台服务器上同时运行多个操作系统,这与“多重任务处理”技术有些类似。不过“多重任务处理”技术只允许用户在同一机器设备的同一操作系统中运行多个程序,而虚拟化则可让用户在同一机器设备中运行多个操作系统。这样用户能更灵活高效地配用计算机资源,并且有助于提高安全性能。
想象一下,一个操作系统几乎不需花任何时间就可被启动,即使它崩溃了,你只需简单地将它剔除出去,同时立即装载一个新的。如果你正在同时运行几个操作系统,当你准备给其中一个载入新的映像时,你可马上将它关闭,并把该系统正在处理的工作分流给其他系统运行。如果你有5个RedHat的副本正在运行Apache服务器软件,而其中一个因满负荷而停止响应,没问题,你只需简单地将响应请求转交给其他4个系统处理,同时重启那个停止工作的系统就行了。
如果你已为你正在运行的操作系统存储了一份“快照”,那么每当有一些不愉快的事情发生时你都可重新启动它,例如被黑客攻击、感染病毒。从一个安全的分区载入映像并修复好它就行了。虚拟化还可让用户毫不费时地重新安装操作系统而不需像以往使用Ghost那样去安装设备驱动。你可简单地就像使用普通程序那样去载入、卸载和存储操作系统。
同样,它也允许你在同一台机器上使用多个不同的操作系统。如果你是一名程序员,需要编写代码使它们在Windows95/98/Me/2000/XP上都能运行,你可在你的办公桌上准备5台机器或是1台运行了5种虚拟化操作系统的电脑。同时,作为程序员的你需在每个浏览器的每个版本上校验这些代码,很明显微软不会让你在一个已拥有高版本IE的情况下去安装更低版本的IE去做这些事,但你可一个个地安装旧的操作系统或采取更好一些的解决方法——让它们同时运行。
(3)虚拟机监视器(VMM)和已安装的Guest OS(虚拟机上的操作系统)的处理器状态信息保留在专用内存地址空间中,这样可以缩短各个操作系统访问硬件之间的间隔时间,同时提高了各个虚拟机上的操作系统之间的安全隔离性。
实现方式
虚拟化有两种实施方式:传统的纯软件虚拟化方式和更新的硬件辅助虚拟化方式。在保护模式下,X86处理器一共有4个不同优先级,术语称为Ring,从Ring 0-Ring3。Ring 0的优先级最高,Ring 3最低。Ring 0用于操作系统内核, Ring 1和Ring 2用于操作系统服务,Ring 3用于应用程序。
位于Ring 0特权空间的操作系统可以优先访问各种硬件资源。传统的虚拟化技术是在Ring 0 中运行一个称为虚拟机监视器(VMM)的软件中间层,以负责控制和排列各个分区访问硬件资源的优先顺序。它要求在软件堆栈的较高层运行操作系统——通常是在Ring 1或者与系统应用共用Ring 3。
由于传统的纯软件实现方式在测试、验证和维护每款新操作系统和相关补丁方面,付出了大量的时间和资金, 同时二进制码翻译需要消耗处理器的很多计算资源。纯软件虚拟化运行时的开销会造成系统运行速度较慢,有数据表明其引起的系统性能下降可能达5%-20%。
使用方式
根据intel的资料,intel虚拟技术的实现需要同时具有处理器、芯片组、BIOS、VMM软件的支持,这些特定的平台软件必须全部到位。同时性能方面要视不同的硬件和软件平台而定,intel虚拟技术支持的BIOS和VMM程序正在开发之中。
据我们所知,还没有支持虚拟技术的VMM软件,所以即使你买了一款支持VT技术的CPU,你还要等待Intel放出VMM软件才能使用上VT技术。同时还要等主板厂商放出VMM支持的BIOS(或者保证使得现有的主板BIOS支持虚拟技术)。
未知的就是,至关重要的虚拟技术VMM软件intel将是免费放出还是需要交费才可以。定价如何才合适呢?类似的软件虚拟技术,VMware Workstation 5价格为189~199美元之间,所以我们希望intel即使不免费提供VMM软件也会比这个价格要少很多。
系统应用
* VMWare(EMC):ESX Server、VMWare服务器(VMWare Server)、VMWare Player、VMware Workstation6.5以上以及 VirtualCenter*
*微软:Virtual Server,Virtual PC和Windows 7 中的Windows Virtual PC
* Xen开放源代码社区:Xen
* Virtual Iron:Virtual Iron
* SW Soft:Virtuozzo
* Parallels:Parallels Workstation
英特尔正积极与软件厂商合作,帮助推动该系统的发展。英特尔正与 Vmware在多个市场开发与培训计划上展开合作,包括通过直接参与制作目标材料内容,直接向 IT经理宣讲并引荐虚拟化的价值。为了帮助培育市场并推动虚拟化技术的普及,英特尔还投资开发了一套完整的虚拟化技术初学者套件。该虚拟化技术初学者套件包括特性完备的产品,以及有助于新客户开始使用虚拟化技术的支持资源。