虚拟化风云
虚拟化是目前IT 业界一个非常热门的话题,也许你知道Java这门目前最流行的编程语言,一个Java程序要在电脑上运行,就必须安装 JVM ;也许我们曾尝试在 Windows 上用 VMware Workstation安装另一个Windows 或Linux。而JVM和VMware都属于虚拟化技术的应用。
按照虚拟机实现的层次,我们可将虚拟化技术分为以下几类:
1.指令级虚拟化,代表产品有Bochs、QEMU等;
2.硬件级虚拟化,代表产品有Xen、VMware ESX Server 、KVM、Virtual PC等;
3.操作系统级虚拟化,代表产品有Jail、Solaris Container 等;
4.编程语言级虚拟化,代表产品有JVM、.NET CLI 等;
5.程序库级虚拟化,代表产品有WINE、LxRun等。
虚拟化技术的起源可以追溯到20世纪50年代末,但其真正的发展是从20世纪60年代开始的。为了使昂贵的硬件资源得到充分的利用,IBM最早发明了一种操作系统虚拟机技术,能够让用户在一台主机运行多个操作系统,IBM7044计算机就是典型的代表。同期的另一个虚拟化技术是仿真处理器,也叫做 P-code 机。JVM采用的就是P-code模型,使得Java程序可以“一处编译,到处执行”。到20世纪的70、80年代,随着计算机技术的发展,虚拟化技术慢慢变得无人问津,只是在高档服务器上继续存在。20世纪90年代末,以 VMware 为代表的虚拟化软件产商率先实施了以虚拟机监视器为中心的软件解决方案,为虚拟化技术在x86服务器环境的发展开辟了道路。随之而来是以Denali 项目和Xen 项目为代表的“半虚拟化”技术,及以Intel的VT和AMD的SVM为代表的硬件虚拟化技术。
可见,虚拟化在近年来得到了迅猛的发展,也涌现了许多非常优秀的虚拟化产品。在服务器虚拟化方面,IBM 公司使用 IBM Director 及企业工作负载管理器等实现了对企业资源的虚拟化管理,并利用IBM TotalStorageProductivity Center 实现了存储的虚拟化管理和访问,而Sun 公司将LDoms 与Solaris Container及S u n中高端服务器中的Dynamic SystemDomain(DSD) 一起构成了Sun服务器的虚拟化解决方案。在桌面虚拟化方面,也涌现了VMwareWorkstation 及 VirtualBox 这些非常优秀的产品。Xen、VMware ESXServer、KVM等一系列硬件级虚拟化产品的出现,真正掀起了虚拟化发展的热潮。2001年,IBM 把大型主机上的 VM System 向下迁移到 p 系列和 i 系列上时,将虚拟控制程序称之为“Hypervisor”,并先后实现了逻辑分区与动态逻辑分区。2004年,依靠40年的大型主机创新并经过3年的研发之后,IBM推出了虚拟引擎(VirtualizationEngine),大大提高了系统和分区的利用率。2008年,Sun 公司扩充了其强大的虚拟化产品套件xVM Server 和xVM Ops Center 2.0,能让企业和用户更加方便地管理各种复杂的服务资源,从而感受无与伦比的系统性能。
在软硬件管理开销逐年增加的今天,虚拟化能有效地降低管理成本,提高系统利用率;同时,虚拟化技术能实现资源的动态部署和分配,从而能满足企业或用户复杂而多样化的需求;此外,虚拟化技术给系统带来了更高的安全性、可用性和可扩展性。但是目前虚拟化技术还不完善,如虚拟化引入的性能开销导致其不能完全满足高性能计算的需求,而多机虚拟化的研究仍处于初级阶段,虚拟化安全机制、虚拟性能评测手段等仍在进一步的研究和发展之中。
目前很多 IT 公司都已经进军云计算领域,而虚拟化技术正是云计算所依托的基石,下一代的数据中心也基于虚拟化来进行构建。我们坚信虚拟化技术将会拥有非常广阔的应用前景。█