2020-08-05 19:58:17

虚拟化 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
软件
软件
编辑分类

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

基本信息

  • 中文名

    虚拟化

  • 释义

    广义的术语

  • 适用领域

    计算机领域

  • 目的

    IT基础设施进行简化

折叠 编辑本段 基本概念

虚拟化虚拟化虚拟化是指计算机在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。

虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作

虚拟化技术也与VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。

虚拟化技术有很多定义,下面就给出了一些这样的定义。

“虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。” —— Jonathan Eunice, Illuminata Inc。

“虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。” —— Wikipedia

“虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。” —— Open Grid Services Architecture Glossary of Terms。

折叠 云存储中的虚拟化技术

[1]虚拟化存储有多种分类方法,从大的方面可以分为:根据在I/O路径中实现虚拟化的位置不同进行分类;根 据控制路径和数据路径的不同进行分类。根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存 储。根据控制路径和数据路径的不同,虚拟化存储分为对称虚拟化与不对称虚拟化。

虚拟化存储的系统构成

云存储中的一种典型存储方式为分布式存储。在这种方式中,一般采用带外虚拟化的方式管理存储设备,元数据管理和数据传输都是通过IP网络来完成。这种虚拟化存储系统主要有四类不同的存储设备。

客户端:客户端向外为客户提供各种应用服务,如万维网服务、数据库、文件服务、科学计算等。客户端上运行存储代理软件,提供网络虚拟设备供应用程序读写访问。

配置管理服务器:配置管理服务器用来进行系统的配置和管理。通过Internet、Telnet或其它接口登陆云存储平台,以远程的方式配置和管理整个存储系统。

元数据服务器:云存储系统的元数据服务器(MDS)管理着整个系统的元数据和对象数据的布局信息,负责 系统的资源分配和网络虚拟磁盘的地址映射。在MDS上部署的全局虚拟化存储管理软件和集群管理软件可管理整个存储系统的配置和运行。另外,MDS通过冗余 管理软件来实现普通存储节点之间的数据冗余关系。

对象存储节点:每个存储节点都是独立的存储设备,负责对象数据的存储、备份、迁移和恢复,并负责监控其他存储设备的运行状况和资源情况。同时,存储节点上运行着虚拟化存储管理软件,并存储了应用程序所需的数据。

折叠 编辑本段 主要目的

虚拟化虚拟化虚拟化的主要目的是对 IT 基础设施进行简化。它可以简化对资源以及对资源管理的访问。

消费者可以是一名最终用户、应用程序、访问资源或与资源进行交互的服务。资源是一个提供一定功能的实现,它可以基于标准的接口接受输入和提供输出。资源可以是硬件,例如服务器磁盘、网络、仪器;也可以是软件,例如 Web 服务。

消费者通过受虚拟资源支持的标准接口对资源进行访问。使用标准接口,可以在 IT 基础设施发生变化时将对消费者的破坏降到最低。例如,最终用户可以重用这些技巧,因为他们与虚拟资源进行交互的方式并没有发生变化,即使底层物理资源或实现已经发生了变化,他们也不会受到影响。另外,应用程序也不需要进行升级或应用补丁,因为标准接口并没有发生变化。

IT 基础设施的总体管理也可以得到简化,因为虚拟化降低了消费者与资源之间的耦合程度。因此,消费者并不依赖于资源的特定实现。利用这种松耦合关系,管理员可以在保证管理工作对消费者产生最少影响的基础上实现对 IT 基础设施的管理。管理操作可以手工完成,也可以半自动地完成,或者通过服务级协定(SLA)驱动来自动完成。

在这个基础上,网格计算可以广泛地利用虚拟化技术。网格计算可以对 IT 基础设施进行虚拟化。它处理 IT 基础设施的共享和管理,动态提供符合用户和应用程序需求的资源,同时还将提供对基础设施的简化访问。

折叠 编辑本段 主要分类

折叠 简介

似乎与所有颠覆性技术一样,服务器虚拟化技术先是悄然出现,然后突然迸发,最终因为节省能源的合并计划而得到了认可。如今,许多公司使用虚拟技术来提高硬件资源的利用率,进行灾难恢复、提高办公自动化水平。本组文章分别从服务器、存储、应用程序和桌面虚拟化技术三个角度介绍了如何消除物理硬件的限制。

有了虚拟化技术,用户可以动态启用虚拟服务器(又叫虚拟机),每个服务器实际上可以让操作系统(以及在上面运行的任何应用程序)误以为虚拟机就是实际硬件。运行多个虚拟机还可以充分发挥物理服务器的计算潜能,迅速应对数据中心不断变化的需求。

虚拟化概念并不是新概念。早在20世纪70年代,大型计算机就一直在同时运行多个操作系统实例,每个实例也彼此独立。不过直到最近,软硬件方面的进步才使得虚拟化技术有可能出现在基于行业标准的大众化x86服务器上。

实际上,如今数据中心管理人员面临的虚拟化解决方案种类繁多,有些是专有方案,而有些是开源方案。总的来说,各自都基于以下三种基本技术当中的一种,但哪种技术效果最好,这取决于要进行虚拟化处理的具体工作负荷以及优先业务目标。

折叠 完全虚拟化

最流行的虚拟化方法使用名为hypervisor的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。VMware微软的Virtual PC是代表该方法的两个商用产品,而基于核心的虚拟机(KVM)是面向Linux系统的开源产品。

hypervisor可以捕获CPU指令,为指令访问硬件控制器和外设充当中介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。主要缺点是,hypervisor给处理器带来开销。

在完全虚拟化的环境下,hypervisor运行在裸硬件上,充当主机操作系统;而由hypervisor管理的虚拟服务器运行客户端操作系统(guest OS)。

IBM也有自已的虚拟化产品,Z/VM。

折叠 准虚拟化

完全虚拟化是处理器密集型技术,因为它要求hypervisor管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是,改动客户操作系统,让它以为自己运行在虚拟环境下,能够与hypervisor协同工作。这种方法就叫准虚拟化(para-virtualization)。

Xen是开源准虚拟化技术的一个例子。操作系统作为虚拟服务器在Xen hypervisor上运行之前,它必须在核心层面进行某些改变。因此,Xen适用于BSD、Linux、Solaris及其他开源操作系统,但不适合对像Windows这些专有的操作系统进行虚拟化处理,因为它们无法改动。

准虚拟化技术的优点是性能高。经过准虚拟化处理的服务器可与hypervisor协同工作,其响应能力几乎不亚于未经过虚拟化处理的服务器。准虚拟化与完全虚拟化相比优点明显,以至于微软和VMware都在开发这项技术,以完善各自的产品。

折叠 操作系统层虚拟化

实现虚拟化还有一个方法,那就是在操作系统层面增添虚拟服务器功能。Solaris Container就是这方面的一个例子,Virtuozzo/OpenVZ是面向Linux的软件方案。

就操作系统层的虚拟化而言,没有独立的hypervisor层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统(不过每个实例有各自的应用程序用户账户)。

虽然操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易。

折叠 硬件助力软件

不像大型机,PC的硬件在设计时并没有考虑到虚拟化,而就在不久前,它还是完全由软件来承担这项重任。随着AMD和英特尔推出了最新一代的x86处理器,头一回在CPU层面添加了支持虚拟化的功能。

遗憾的是,这两家公司的技术各自独立开发,这意味着它们的代码不相兼容。不过,硬件虚拟化支持功能让hypervisor从极其繁重的管理事务中脱离出来。这除了提高性能外,还有操作系统不用改动就能在准虚拟化环境下运行,包括Windows环境。

CPU层虚拟化技术不会自动发挥作用。为了专门支持它,必须开发虚拟化软件。不过,因为这种技术的优点非常诱人,预计各种类型的虚拟化软件会源源不断地开发出来。

折叠 编辑本段 维护机制

对于任何虚拟化环境来说,一个非常重要的方面是减少动态的和复杂的 IT 基础设施的管理和维护需求。另外,通过软件和工具实现的模式和技术都支持这些管理任务。这些模式和技术的组合可以实现以下功能:

为 IT 基础设施中所有资源的管理访问提供单一且安全的接口,允许管理员对所有资源进行诊断 ,对所有资源进行配置和修改管理 ,发现并维护可用资源目录, 监视资源并记录它们平时的健康状况, 当某个条件达到已建立的上限值时,触发器就会执行相应操作;此时执行的操作可能包括通知管理员手工作出响应,也可能会根据正确的条件自动进行响应 根据资源的使用情况、可用性和服务级别要求提供资源或收回资源;资源的提供可以手工、半自动或根据建立好的策略自动完成 获得并维护资源的使用和检测信息,并提供适当的报告,例如对资源消耗进行记录 提供补充最终用户或应用程序安全性的安全机制 ,为满足最终用户和应用程序 SLA 而记录所有资源的性能信息

折叠 编辑本段 解决方案

折叠 软件方案

纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过虚拟机监视器(Virtual Machine Monitor,VMM)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置。这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。

折叠 硬件方案

而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程虚拟化虚拟化度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。

虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。

两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,还有Core Duo系列和Core Solo系列中的部分产品,以及服务器/工作站平台上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列;同时绝大多数的Intel下一代主流处理器,包括Merom虚拟化虚拟化核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT虚拟化技术。

AMD方面也已经发布了支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。

折叠 编辑本段 主要模式

虚拟化可以通过很多方法来证实。它不是一个单独的实体,而是一组模式和技术的集合,这些技术提供了支持资源的逻辑表示所需的功能,以及通过标准接口将其呈现给这些资源的消费者所需的功能。这些模式本身都是前面介绍过的各种不同虚拟形式的重复出现。

下面是在实现虚拟化时常常使用的一些模式和技术:

折叠 单一资源的多个逻辑表示

这种模式是虚拟化最广泛使用的模式之一。它只包含一个物理资源,但是它向消费者呈现的逻辑表示却仿佛它包含多个资源一样。消费者与这个虚拟资源进行交互时就仿佛自己是唯一的消费者一样,而不会考虑他正在与其他消费者一起共享资源。

折叠 多个资源的单一逻辑表示

这种模式包含了多个组合资源,以便将这些资源表示为提供单一接口的单个逻辑表示形式。在利用多个功能不太强大的资源来创建功能强大且丰富的虚拟资源时,这是一种非常有用的模式。存储虚拟化就是这种模式的一个例子。在服务器方面,集群技术可以提供这样的幻想:消费者只与一个系统(头节点)进行交互,而集群事实上可以包含很多的处理器或节点。实际上,这就是从 IT 技术设施的角度看到的网格可以实现的功能。

折叠 在多个资源之间提供单一逻辑表示

这种模式包括一个以多个可用资源之一的形式表示的虚拟资源。虚拟资源会根据指定的条件来选择一个物理资源实现,例如资源的利用、响应时间或临近程度。尽管这种模式与上一种模式非常类似,但是它们之间有一些细微的差别。首先,每个物理资源都是一个完整的副本,它们不会在逻辑表示层上聚集在一起。其次,每个物理资源都可以提供逻辑表示所需要的所有功能,而不是像前一种模式那样只能提供部分功能。这种模式的一个常见例子是使用应用程序容器来均衡任务负载。在将请求或事务提交给应用程序或服务时,消费者并不关心到底是几个容器中执行的哪一个应用程序的副本为请求或事务提供服务。消费者只是希望请求或事务得到处理。

折叠 单个资源的单一逻辑表示

这是用来表示单个资源的一种简单模式,就仿佛它是别的什么资源一样。启用 Web 的企业后台应用程序就是一个常见的例子。在这种情况下,我们不是修改后台的应用程序,而是创建一个前端来表示 Web 界面,它会映射到应用程序接口中。这种模式允许通过对后台应用程序进行最少的修改(或根本不加任何修改)来重用一些基本的功能。也可以根据无法修改的组件,使用相同的模式构建服务。

折叠 复合或分层虚拟化

这种模式是刚才介绍的一种或多种模式的组合,它使用物理资源来提供丰富的功能集。信息虚拟化是这种模式一个很好的例子。它提供了底层所需要的功能,这些功能用于管理对资源、包含有关如何处理和使用信息的元数据以及对信息进行处理的操作的全局命名和引用。例如 Open Grid Services Architecture(OGSA)或者 Grid Computing Components,实际上都是虚拟化的组合或虚拟化的不同层次。    

参考资料

阅读全文

热点资讯