网络虚拟架构又称服务器虚拟化,是指将一台物理的计算机软件环境分割为多个独立分区,每个分区均可以按照需求模拟出一台完整计算机的技术。
网络虚拟架构又称服务器虚拟化,是指将一台物理的计算机软件环境分割为多个独立分区,每个分区均可以按照需求模拟出一台完整计算机的技术。
概述
虚拟化是一种方法,本质上讲是指从逻辑角度而不是物理角度来对资源进行配置,是从单一的逻辑角度来看待不同的物理资源的方法。以此出发,虚拟化是一种逻辑角度出发的资源配置技术,是物理实际的逻辑抽象。比如说,当前只有一台计算机,通过虚拟技术,在用户看来,可以多台,每台都有其各自的 CPU、内存、硬盘等物理资源。
对于用户,虚拟化技术实现了软件跟硬件分离,用户不需要考虑后台的具体硬件实现,而只需在虚拟层环境上运行自己的系统和软件。而这些系统和软件在运行时,也似乎跟后台的物理平台无关。
服务器虚拟化技术是将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让 CPU、内存、磁盘、I/0 等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器资源整合,让 IT 对业务的变化更具适应力。
虚拟化的概念在 20 世纪 60 年代首次出现,利用它可以对属于稀有而昂贵资源的大型机硬件进行分区。随着时间的推移,微型计算机和 PC 可提供更有效、更经济的方法来分配处理能力,因此到 20 世纪 80 年代,虚拟技术已不再广泛使用。
但是到了 20 世纪 90 年代,研究人员开始探索如何利用虚拟化解决与廉价硬件激增相关的一些问题,例如,利用率不足、管理成本不断攀升和易受攻击等。虚拟化技术处于时代前沿,可以帮助企业升级和管理他们在世界各地的 IT 基础架构并确保其安全。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU 的虚拟化技术可以单 CPU 模拟多 CPU 并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
所有的 IT 设备,不管是 PC、服务器还是存储,都有一个共同点:它们被设计用来完成一组特定的指令。这些指令组成一个指令集。对于虚拟技术而言,“虚拟”实际上就是指的虚拟这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集。虚拟机把这些虚拟指令“映射”到计算机的实际指令集。硬分区、软分区、逻辑分区、Solaris Container、VMware、Ken、微软 Hyper—V 这些虚拟技术都是运用的这个原理,只是虚拟指令集所处的层次位置不同。无论哪一种虚拟技术,都要求需要实施虚拟化的物理服务器能够良好地支持这些的虚拟化指令集。
虚拟化程度
全虚拟化方式
全虚拟化方式(Full Virtualization)是指虚拟管理层对底层硬件进行完全模拟,把底层硬件平台的 API 完整拷贝并提供给上层虚拟机,虚拟机中的客户操作系统和应用无法感知真实机器的存在。全虚拟化方式的优点是兼容性好,可以在虚拟机上使用任何类型的操作系统,客户操作系统无需修改,所有软件都能在虚拟机中运行;但其缺点是性能开销较大,以软件来完全模拟底层硬件必然影响硬件调用的性能。
半虚拟化方式
半虚拟化方式(Para—virtualization)是指虚拟管理层对底层硬件进行部分模拟,把底层硬件平台的低级 API 用一套高级 API 来代替并提供给上层虚拟机,客户操作系统需要支持底层硬件。这样,虚拟机在运行时可减少用户模式(User Mode)和特权模式(Supervisor Mode)之间的切换,从而降低运行时的开销。例如,虚拟化软件 XEN 就是使用了半虚拟化方式。
服务器虚拟化的实现技术
实现虚拟化的技术主要有纯软件的虚拟化技术和硬件辅助虚拟化技术两种。前者是当前主流的虚拟化技术,具有成熟的应用,硬件辅助虚拟化技术是今后的发展方向。
软件虚拟化技术
传统的计算机层次结构分为三层,即硬件层(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 等,这些软件在近年来得到了迅速的推广和应用。
虚拟化技术的特点
由于虚拟化技术将物理服务器进行了抽象,形成逻辑上的服务器,因而有助于我们更好管理服务器的计算资源,与传统应用相比.有以下四大突出的特征。
(1)分区:将物理服务器进行虚拟化后。使得在一个物理服务器上同时运行多操作系统,每个操作系统单独运行在一台虚拟机,通过在多个虚机之间划分系统资源以满足使用需求,显然,这将提高服务器的利用效率。
(2)隔离:由于在硬件层实现了虚拟机之间的故障和安全隔离,因而因操作系统或应用软件带来的安全问题能够更好地进行隔离,更好地保证安全性。而且通过高级资源调控还能动态地保证不同虚机的性能。
(3)封装:运行的每个虚机都被封装为文件,这样在移动和复制虚机时就如同移动和复制文件一样简单,提高管理和部署的便利。
(4)硬件独立性:虚拟机可以在异构硬件安装和移动,基于虚拟化技术,可以在 AMD 或 Intel 架构的服务器上进行不同操作系统的安装和移动,可以更好地整合现有的异构硬件资源来提高使用效率和节约投资。