扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
虚拟化,曾经是一个技术人员最不喜欢的词,因为对于一个搞工程科学的人来说,实在、量化、数据逻辑才是工作进行的根本。
但是现在,最前沿的IT技术工程师们狂热的爱上了这个词,因为它代表着一系列先进的技术和产品,掀起信息科学界又一轮技术的高潮。究竟什么是虚拟化?人们往往既清晰又模糊,仿佛看到它就在面前,可是又变幻着这样或那样的模样。
通俗的定义来说,虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒。未来,所有的资源都透明地运行在各种各样的物理平台上,资源的管理都将按逻辑方式进行,完全实现资源的自动化分配,而虚拟化技术就是实现它的理想工具。用一比喻来说,虚拟化技术的绝妙之处在于,终端用户在信息化应用中,感觉不到物理设备的差异、物理距离的远近以及物理数量的多少,按照自己正常习惯操作,进行需要的信息资源调用和交互。
随着虚拟化技术的窜红,打着它的旗号的“衍生品”层出不穷,各色人等都想将自己的脑袋安装在虚拟化的屁股上,然后就能跟随这股热潮大火一把。然而尽管到现在各种虚拟化技术还没能泾渭分明,但毕竟大浪淘沙,随着时间的发展,五种主流的虚拟化技术逐步展露,它们就像如来佛祖那座著名的“五指山”一样,在天边等待人们“到此一游”。
这五种虚拟化技术分别是:CPU虚拟化、网络虚拟化、服务器虚拟化、存储虚拟化和应用虚拟化。让我们逐步揭开它们的面纱,看看它们各自的美丽。
CPU虚拟化
虚拟化在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。简单说来,CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位茫。如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
两大CPU巨头英特尔和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比英特尔落后几个月。而AMD方面也已经发布了支持AMD-V虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。
网络虚拟化
网络虚拟化是目前业界关于虚拟化细分领域界定最不明确,存在争议较多的一个概念。微软眼中的“网络虚拟化”,是指虚拟专用网络 (VPN)。VPN 对网络连接的概念进行了抽象,允许远程用户访问组织的内部网络,就像物理上连接到该网络一样。网络虚拟化可以帮助保护 IT 环境,防止来自 Internet 的威胁,同时使用户能够快速安全的访问应用程序和数据。
但是网络巨头思科(Cisco)不那么认为。出身、成名且目前称霸于网络的思科公司,当然在对IT未来的考虑上以网络为核心。它认为在理论上,网络虚拟化能将任何基于服务的传统客户端/服务器安置到“网络上”。那么,这意味着可以让路由器和交换机执行更多的服务,自然,思科在业界的重要性和生意额都将大幅增加。思科表示网络虚拟化由三个部分组成: 访问控制、路径提取,以及服务优势。从思科的产品规划图上看,该公司的路由器和交换机将拥有诸如安全、存储、VoIP、移动和应用等功能。 对思科而言,他们的战略是通过扩大网络基础设备的销售来持续产生盈利。 而对用户来讲,这能帮助他们提高网络设备的价值,并调整原有的网络基础设备。
对于网络阵营的另一巨头,3Com公司在网络虚拟化方面的动作比思科更大。3Com的路由器中可以插入一张工作卡。 该卡上带有一套全功能的Linux服务器,可以和路由器中枢相连。在这个Linux服务器中,你可以安装诸如sniffer、VoIP、安全应用等等。此外,该公司还计划未来在Linux卡上运行VMware,以让用户运行Windows Server。 3Com的这个开源网络虚拟化活动名为3Com ON(又名开放式网络)。
当然,王婆卖瓜自卖自夸,思科与3Com自己的一厢情愿决不能作为网络虚拟化大旗真正升起的标志,现在,网络虚拟化依然处于初期的萌芽阶段,但在人类网络信息化飞速需求的现在,我们有理由相信它的突破和成长将是飞速的。
服务器虚拟化
与网络虚拟化不同,服务器虚拟化却是虚拟化技术最早细分出来的子领域。根据2006年2月Forrester Research的调查,全球范围的企业对服务器虚拟化的认知率达到了75%。三分之一的企业已经在使用或者准备部署服务器虚拟化。这个产生于20世纪60年代的技术日益显示出其重要价值。由于服务器虚拟化发展时间长,应用广泛,所以很多时候人们几乎把服务器虚拟化等同于虚拟化。
关于服务器虚拟化的概念,各个厂商有自己不同的定义,然而其核心思想是一致的,即它是一种方法,能够通过区分资源的优先次序并随时随地能将服务器资源分配给最需要它们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源。
似乎与所有颠覆性技术一样,服务器虚拟化技术先是悄然出现,然后突然迸发,最终因为节省能源的合并计划而得到了认可。如今,许多公司使用虚拟技术来提高硬件资源的利用率,进行灾难恢复、提高办公自动化水平。本组文章分别从服务器、存储、应用程序和桌面虚拟化技术三个角度介绍了如何消除物理硬件的限制。
有了虚拟化技术,用户可以动态启用虚拟服务器(又叫虚拟机),每个服务器实际上可以让操作系统(以及在上面运行的任何应用程序)误以为虚拟机就是实际硬件。运行多个虚拟机还可以充分发挥物理服务器的计算潜能,迅速应对数据中心不断变化的需求。
虚拟化概念并不是新概念。早在20世纪70年代,大型计算机就一直在同时运行多个操作系统实例,每个实例也彼此独立。不过直到最近,软硬件方面的进步才使得虚拟化技术有可能出现在基于行业标准的大众化x86服务器上。