虚拟化技术源于大型机。大型机上的虚拟分区技术最早可以追溯到上世纪六、七十年代。早在上世纪60年代,IBM公司就发明了一种操作系统虚拟机技术,允许在一台主机上运行多个操作系统,让用户尽可能地充分利用昂贵的大型机资源。随着技术的发展和市场竞争的需要,大型机上的技术开始向小型机或UNIX服务器上移植。IBM、HP和SUN后来都将虚拟化技术引入各自的高端RISC服务器系统中。30多年来,应该说虚拟化技术以及在上述高端产品上的应用日臻成熟。但真正使用大型机和小型机的用户毕竟还是少数,加上各家产品和技术之间并不兼容,致使虚拟化曲高和寡。 随着X86处理器性能的提升和应用普及,人们开始考虑将这一技术导入用户面更广泛的X86平台。早在1998年,通过运行在Windows NT上的Vmware来启动Windows 95的做法让人们惊叹不已。 2005年11月,英特尔发布了新的Xeon MP处理器系统7000系列,X86平台历史上第一个硬件辅助虚拟化技术――VT(Vanderpool Technology)技术也随之诞生。这一里程碑式的事件也拉开了X86平台普遍虚拟化计算的帷幕。 进入2006年,从处理器层面的AMD和Intel到操作系统层面的微软的加入,从数量众多的第三方软件厂商的涌现到服务器系统厂商的高调,我们看到一个趋于完整的服务器虚拟化的产业生态系统正在逐渐形成。这也使得在过去的一两年时间里,虚拟化开始成为广受关注的热点话题。 所谓虚拟化,是指将单台电脑/服务器软件环境分割为多个独立分区,每个分区均可以按照需要模拟电脑/服务器的一项技术。它的技术实质是通过中间层次实现计算资源的管理和再分配,使资源利用实现最大化。 硬件辅助虚拟化:一种更高效可靠的实现方式 虚拟化有两种实施方式:纯软件虚拟化方式和硬件辅助虚拟化方式。 虚拟化技术最早在大型主机上采用,随着技术的发展和竞争的加剧,IBM、HP、Sun后来纷纷将其下移,逐渐将其引入到高端RISC服务器系统中。随着X86处理器性能的提高和应用的普及,业界很多公司都看到了虚拟化在X86平台上实施的价值,因此VMware、Xen、微软和SWsoft等软件厂商纷纷推出了支持X86平台的虚拟化软件。这些软件虚拟化产品基本的思路是在操作系统与硬件层之间或者操作系统之上建立一层独立控制、分配硬件资源的软件层来达到虚拟化系统资源的目的。不过,不同的虚拟化产品其实现模式也有很大的不同,通过介于底层硬件和操作系统之间的软件层实现虚拟化功能的代表为VMware和Xen的产品,而SWsoft的产品则是在特定的操作系统之上“虚拟”出多个系统资源副本(SWsoft有支持Windows和Linux的版本),其好处是没有对系统软件的修改,对系统性能的影响较小,但由于实现虚拟化的层级不够“低”,灵活性不如前者,如VMware的产品可以在Linux系统基础上虚拟化出Windows的应用环境。 对于X86处理器来说,其保护模式下一共有4个不同优先级,称为Ring,命名从Ring 0直到Ring3。这些Ring的优先级随其所执行的功能的不同也有所不同。其中Ring 0用于操作系统内核,优先级最高,拥有最高的“特权”,Ring 1和Ring 2用于操作系统服务,优先级次之,Ring 3用于应用程序,优先级最低。 软件虚拟化技术工作原理 位于Ring 0特权空间的操作系统可以优先访问各种硬件资源。传统的软件虚拟化技术是在Ring 0 中运行一个称为虚拟机监视器(VMM)的软件中间层,以负责控制和排列各个分区访问硬件资源的优先顺序。它要求在软件堆栈的较高层运行操作系统─―通常是在Ring 1或者与系统应用共用的Ring 3。 由于操作系统设计缺省工作在Ring 0 特权级别,而现在Ring 0被虚拟机监视器(VMM)所拥有,所以传统的纯软件虚拟化技术需要虚拟机监视器(VMM)通过复杂的软件编程来解决这个矛盾。其中一种方法是通过打补丁修改操作系统内核源代码让其认知到工作在Guest OS 虚拟操作系统模式下,另一种方法是需要对运行期间操作系统的某些硬件调用指令作二进制码翻译等。由于上述原因,传统的纯软件实现方式在测试、验证和维护每款新操作系统和相关补丁方面,付出了大量的时间和资金, 同时二进制码翻译需要消耗处理器的很多计算资源。
|
正在阅读:服务器虚拟化历史与市场展望服务器虚拟化历史与市场展望
2007-10-30 09:29
出处:PConline
责任编辑:gongjianhui
键盘也能翻页,试试“← →”键