版权归原作者所有,如有侵权,请联系我们

[科普中国]-网络虚拟架构

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

概述

虚拟化是一种方法,本质上讲是指从逻辑角度而不是物理角度来对资源进行配置,是从单一的逻辑角度来看待不同的物理资源的方法。以此出发,虚拟化是一种逻辑角度出发的资源配置技术,是物理实际的逻辑抽象。比如说,当前只有一台计算机,通过虚拟技术,在用户看来,可以多台,每台都有其各自的CPU、内存、硬盘等物理资源。

对于用户,虚拟化技术实现了软件跟硬件分离,用户不需要考虑后台的具体硬件实现,而只需在虚拟层环境上运行自己的系统和软件。而这些系统和软件在运行时,也似乎跟后台的物理平台无关。

服务器虚拟化技术是将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/0等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器资源整合,让IT对业务的变化更具适应力。

虚拟化的概念在20世纪60年代首次出现,利用它可以对属于稀有而昂贵资源的大型机硬件进行分区。随着时间的推移,微型计算机和PC可提供更有效、更经济的方法来分配处理能力,因此到20世纪80年代,虚拟技术已不再广泛使用。

但是到了20世纪90年代,研究人员开始探索如何利用虚拟化解决与廉价硬件激增相关的一些问题,例如,利用率不足、管理成本不断攀升和易受攻击等。现在,虚拟化技术处于时代前沿,可以帮助企业升级和管理他们在世界各地的IT基础架构并确保其安全。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

所有的IT设备,不管是PC、服务器还是存储,都有一个共同点:它们被设计用来完成一组特定的指令。这些指令组成一个指令集。对于虚拟技术而言,“虚拟”实际上就是指的虚拟这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集。虚拟机把这些虚拟指令“映射”到计算机的实际指令集。硬分区、软分区、逻辑分区、Solaris Container、VMware、Ken、微软Hyper—V这些虚拟技术都是运用的这个原理,只是虚拟指令集所处的层次位置不同。无论哪一种虚拟技术,都要求需要实施虚拟化的物理服务器能够良好地支持这些的虚拟化指令集。1

虚拟化程度全虚拟化方式全虚拟化方式(Full Virtualization)是指虚拟管理层对底层硬件进行完全模拟,把底层硬件平台的API完整拷贝并提供给上层虚拟机,虚拟机中的客户操作系统和应用无法感知真实机器的存在。全虚拟化方式的优点是兼容性好,可以在虚拟机上使用任何类型的操作系统,客户操作系统无需修改,所有软件都能在虚拟机中运行;但其缺点是性能开销较大,以软件来完全模拟底层硬件必然影响硬件调用的性能。

半虚拟化方式半虚拟化方式(Para—virtualization)是指虚拟管理层对底层硬件进行部分模拟,把底层硬件平台的低级API用一套高级API来代替并提供给上层虚拟机,客户操作系统需要支持底层硬件。这样,虚拟机在运行时可减少用户模式(User Mode)和特权模式(Supervisor Mode)之间的切换,从而降低运行时的开销。例如,虚拟化软件XEN就是使用了半虚拟化方式。2

服务器虚拟化的实现技术实现虚拟化的技术主要有纯软件的虚拟化技术和硬件辅助虚拟化技术两种。前者是当前主流的虚拟化技术,具有成熟的应用,硬件辅助虚拟化技术是今后的发展方向。

软件虚拟化技术传统的计算机层次结构分为三层,即硬件层(Hardware Layer)、主机操作系统层(HostOS Layer)和应用层(Application Layer)。在这种结构中,主机操作系统统一控制、管理和分配整个计算机的硬件和软件资源,这种结构的缺点主要在于未能充分发挥CPU的性能,利用率较低;还有就是一台计算机无法满足同时运行多平台的应用需求,如果对于一种不同的应用程序采用一台独立的物理服务器,解决方案是增加服务器的数量,这无疑将增加投资成本。

服务器虚拟化技术采用纯软件的方法,就是在硬件层之上仍然安装被称为主机操作系统的系统,在其上部署虚拟机软件(Virtual Machine Software,VMS),根据实际应用需求,VMS可以将物理计算机虚拟出多个分区,每一个分区称为一个虚拟机(Virtual Machine,VM)。虚拟机具有完整的计算机应用环境,包括硬件层(由VMS提供)、驱动接口层(由VMS提供)、操作系统(Guest OS Layer)及应用层(Applications),都是建立在计算机的应

用环境上,属于用户级软件。这样用户可以“随心所欲”地安装应用程序。实现这种虚拟化技术关键在于虚拟机软件的可靠性。

对于一台独立的物理服务器,在这台服务器上安装操作系统,在操作系统安装相应的应用程序,这种传统架构是一台独立的物理服务器作为一种应用程序服务器使用。服务器虚拟化之后,一台独立物理服务器的资料被虚拟化为若干个独立的主机,这些主机可以单独安装其他的操作系统,在操作系统之上又可以分别安装各种不同的应用程序。

基于软件虚拟化技术实现的虚拟机软件主要有VMware的Workstation、Microsoft的Hvper-V、Parallels等,这些软件在近年来得到了迅速的推广和应用。

硬件虚拟化技术硬件辅助虚拟化技术源于Intel公布的Vanderpool技术,即VT技术,该技术对于服务器系统,包括处理器VT技术和IO虚拟分配技术进行了规范。Intel和AMD公司在最近几年发布的CPU产品中都集成了VT技术,为进一步推动和发展虚拟化计算环境提供了硬件支持。3

虚拟化技术的特点由于虚拟化技术将物理服务器进行了抽象,形成逻辑上的服务器,因而有助于我们更好管理服务器的计算资源,与传统应用相比.有以下四大突出的特征。

(1)分区:将物理服务器进行虚拟化后。使得在一个物理服务器上同时运行多操作系统,每个操作系统单独运行在一台虚拟机,通过在多个虚机之间划分系统资源以满足使用需求,显然,这将提高服务器的利用效率。

(2)隔离:由于在硬件层实现了虚拟机之间的故障和安全隔离,因而因操作系统或应用软件带来的安全问题能够更好地进行隔离,更好地保证安全性。而且通过高级资源调控还能动态地保证不同虚机的性能。

(3)封装:运行的每个虚机都被封装为文件,这样在移动和复制虚机时就如同移动和复制文件一样简单,提高管理和部署的便利。

(4)硬件独立性:虚拟机可以在异构硬件安装和移动,基于虚拟化技术,可以在AMD或Intel架构的服务器上进行不同操作系统的安装和移动,可以更好地整合现有的异构硬件资源来提高使用效率和节约投资。1

虚拟化技术应用基于服务器虚拟化技术所体现的特点,采用虚拟化技术带来的好处非常明显通过整合物理服务器,提高的资源利用率相当充分,绝大多数应用的传统部署利用率不超过10%,虚拟化后利用率往往超过70%;此外,虚拟化意味着降低成本,节能减排,成为构建绿色IT的必然选择,因为数据中心每减少一台服务器,可以降低约4 t的二氧化碳排放量,这相当于减少了1.5辆在路上行驶的汽车或多种植55棵树木,对于环境的保护意义非凡;虚拟化实现上是对物理硬件进行抽象,形成池化的计算资源,使得用户面对多台服务器时的管理复杂度大大降低.将大幅节约在传统架构上的管理成本。正是基于这些优势,虚拟化技术得到广泛认可和应用。现在不仅服务器被广泛进行虚拟化.由于云计算的驱动,传统的桌面PC也以新的虚拟化应用方式提供,存储、网络也被虚拟化,以全池化的形式进行资源的分配和管理,通过虚拟化层的软件重新对数据中心的建设和应用方式进行定义。1