浅谈虚拟化技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现有虚拟化技术的分析与对比
现有的较成熟的虚拟化技术主要分 为服务器虚拟化 ( 也称为操作系统虚拟 化 ) ,存储虚拟化,网络虚拟化,应用 虚拟化(也称为桌面虚拟化)四种。
服务器虚拟化
服务器虚拟化是虚拟化技术最早细分出来,最成熟的领域。由于服 务器虚拟化发展时间长,应用广泛,所以很多时候人们几乎把服务器虚 拟化等同于虚拟化。 关于服务器虚拟化的概念,各个厂商有自己不同的定义,然而其核 心思想是一致的,即它是一种方法,能够通过区分资源的优先次序并随 时随地能将服务器资源分配给最需要它们的工作负载来简化管理和提高 效率,从而减少为单个工作负载峰值而储备的资源。 有了虚拟化技术,用户可以动态启用虚拟服务器(又叫虚拟机), 每个服务器实际上可以让操作系统(以及在上面运行的任何应用程序) 误以为虚拟机就是实际硬件。 服务器虚拟化按实现原理来分,主要分为基于 CPU 的虚拟化,基于 硬件的虚拟化,以及基于操作系统的虚拟化。
服务器虚拟化—基于CPU的虚拟化
服务器虚拟化—基于硬件的虚拟化
基于硬件的服务器虚拟化产品走得比较靠前的应该是IBM和HP等服务 器硬件的厂商。 IBM推出了由操作系统、系统技术和系统服务三部分组成的服务器虚 拟引擎。其中,操作系统部分技术宗旨是单台服务器内运行多种操作系 统、在异构IT基础架构中以统一的方式实现资源的共享和管理以及管理 非 IBM 操 作 系 统 平 台 ; 系 统 技 术 包 括 微 分 区 、 vLan 、 虚 拟 I/O 、 Hypervisor 等;系统服务则包括一个服务器系统服务套件和一个存储系 统服务套件。 除IBM外,HP的分区连续技术能够把服务器划分成物理或逻辑独立 的分区。硬件分区根据服务器类型提供完全的硬件和软件隔离能力以及 在一个服务器上运行多个OS实例。虚拟分区具有在一个系统或硬件分区 内实现执行多个OS实例的独特特性。资源分区-进程资源管理软件能够动 态地以多种方式把系统资源 (CPU、内存和磁盘I/O)分配给客户的应用, 分配的方式可以是根据份额、百分比和处理器组。
虚拟化技术ຫໍສະໝຸດ Baidu优势
虚拟化技术可以大大提高资源的利用率
为了达到资源的最大利用,虚拟化把一个硬件虚拟成多个硬件,这里的一个 硬件指的不是一个个体,而是有多个个体组成的一组资源,例如可以将多个硬盘 组成阵列,将多个硬盘视为计算机的硬盘部分。用户将许多资源组成一个庞大的、 计算能力十分巨大的“巨型计算机”,再将这个巨型计算机虚拟成多个独立的系 统,这些系统相互独立,但共享资源,这就是虚拟化的精髓。
服务器虚拟化—基于操作系统的虚拟化
基于操作系统的虚拟化可以视作在操作系统层面增添虚拟服务器功 能,其允许多个虚拟机通过分用时间和资源带宽的方式,共享同一个底 层物理服务器极其资源。 操作系统虚拟化的关键点在于从应用与操作系统之间的层次横切一 刀,将操作系统资源访问虚拟化。对上而言,让应用“相信”它是运行 于它自己的独立的操作系统实例中;对下而言,翻译和转换上层应用的 命名空间、资源进程需求,使之和谐共存于底层的一个操作系统内核和 硬件资源之中—从而达到更细粒度的资源控制和更有效的可管理性。 就操作系统层的虚拟化而言,没有独立的hypervisor层。相反,主 机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这 些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化, 所有虚拟服务器必须运行同一操作系统(不过每个实例有各自的应用程序 和用户账户)。
虚拟化技术的发展趋势
从技术角度来看虚拟化趋势:
今天的虚拟化可以用来进行服务器、存储、网络、桌面应用程序的整合, 提高系统资源利用率,提高管理灵活性,节省服务器控件和电耗成本,但下 一步的发展趋势会使什么?答案是:云计算。 云计算是一种新兴的共享基础架构的方法。云计算将所有的计算资源集 中起来,并由软件实现自动管理,无需人为参与。“云”中的资源在使用者 看来是可以无限扩展的,并且可以随时获取。这种特性经常被比喻为像水电 一样使用硬件资源,按需购买和使用。
服务器虚拟化—基于操作系统的虚拟化
操作系统虚拟化强调的是在单一操作系统内核实例的基础上实现虚拟 化,这一点是它与其他的软件虚拟实现方式的最本质的不同。虚拟化技术, 无论是 VMM,Hypervisor,还是ParaVirtualization并行(准)虚拟化,都是 在多个虚拟的硬件层上安装多个Guest操作系统,然后再运行应用程序。 比较两台分别采用操作系统虚拟化和采用其他软件虚拟实现方案的服 务器,我们看到的最明显的差异就是操作系统实例数量的不同。这一点核 心差异同时构成了操作系统虚拟化的最大优势和最大劣势。由于只有一个 操作系统内核,少了虚拟机和Guest操作系统两个资源消耗层次,操作系统 虚拟化的运行效率、理论最大密度和运行在虚拟环境中的应用性能都天生 超过其他软件虚拟实现方案,减少了操作系统实例的数量也意味着在安装 部署、补丁升级、备份迁移的数据量和效率等管理特性上的优势;同理, 操作系统虚拟化只能是同一种操作系统的划分和衍生,无法支持异种操作 系统并存于同一个物理服务器之上,同时由于虚拟环境不完全等同于一份 完 整的操作系统,某些需要直接访问硬件层(无论是虚拟的还是物理的) 的应用无法在操作系统虚拟化环境中运行。
从业界趋势来看,虚拟化将从三个方面继续扩展:
1.基础架构服务,可以将服务器、存储设备和网络无缝聚合为“按需使用” 云资源池,并将其分配给最需要它们的应用程序。 2.应用程序服务,可以充分确保所有应用程序的可用性、安全性和扩展性 保持在合适的级别,无论这些应用程序是针对哪些操作系统、开发框架或架 构所设计运行。 3.云服务,可以混合多个内部云和外部云,形成统一的计算力资源池,实 现基于计算力的按需使用,按需收费,最终实现云计算。
随后的网络虚拟化技术随着数据中心业务要求发展 为:多种应用承载在一张物理网络上,通过网络虚拟化分 割(称为纵向分割)功能使得不同企业机构相互隔离,但可 在同一网络上访问自身应用,从而实现了将物理网络进 行逻辑纵向分割虚拟化为多个网络. 网络虚拟化概念并不是什么新概念,因为多年来,虚 拟局域网(VLAN)技术作为基本隔离技术已经广泛应用. 当前在交换网络上通过VLAN来区分不同业务网段/配合 防火墙等安全产品划分安全区域,是数据中心基本设计 内容之一.
虚拟化的技术核心—hypervisor
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层, 可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是 虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设 备 和 虚 拟 机 , 也 叫 虚 拟 机 监 视 器 ( Virtual Machine Monitor ) 。 Hypervisor是所有虚拟化技术的核心,非中断地支持多工作负载迁移的 能力是 Hypervisor 的基本功能。当服务器启动并执行 Hypervisor 时,它 会给每一台虚拟机分配适量的内存、 CPU、网络和磁盘,并加载所有虚 拟机的客户操作系统。
提供相互隔离、安全、高效的应用执行环境
用户可以在一台计算机上模拟多个系统,多个不同的操作系统,虚拟系统下 的各个子系统相互独立,即使一个子系统遭受攻击而崩溃,也不会对其他系统造 成影响,而且,在使用备份机制后,子系统可以被快速的恢复。
采用虚拟化技术后,虚拟化系统能够方便的管理和升级资源
传统的IT服务器资源是硬件相对独立的个体,对每一个资源都要进行相应的 维护和升级,会耗费企业大量的人力和物力,虚拟化系统将资源整合,在管理上 十分方便,在升级时只需添加动作,避开传统企业进行容量规划、定制服务器、 安装硬件等工作,提高了工作效率。
hypervisor可以捕获CPU指令,为指令访问硬件控制器和外设充当中 介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安 装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。主要缺点 是 , hypervisor 给 处 理 器 带 来 开 销 。 ( 在 完 全 虚 拟 化 的 环 境 下 , hypervisor运行在裸硬件上,充当主机操作系统;而由hypervisor管理各个 虚拟服务器,并让彼此独立的虚拟服务器运行客户端操作系统(guest OS))
Hypervisor的种类
类型1:虚拟机直接运行在系统硬件上,创建硬件全仿真实例,被称为“裸机”型。 裸机型在虚拟化中Hypervisor直接管理调用硬件资源,不需要底层操作系统,也 可以将Hypervisor看作一个很薄的操作系统。这种方案的性能处于主机虚拟化与 操作系统虚拟化之间。 类型2:虚拟机运行在传统操作系统上,同样创建的是硬件全仿真实例,被称为 “托管/主机”型。托管型/主机型Hypervisor运行在基础操作系统上,构建出一 整套虚拟硬件平台(CPU/Memory/Storage/Adapter),使用者根据需要安装新 的操作系统和应用软件,底层和上层的操作系统可以完全无关化,如Windows运 行Linux操作系统。主机虚拟化中VM的应用程序调用硬件资源时需要经过:VM内 核->Hypervisor->主机内核,因此相对来说,性能是三种虚拟化技术中最差的。 类型3:虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例(容器),指 向底层托管操作系统,被称为“操作系统虚拟化”。
网络虚拟化—横向分割
从另外一个角度来看,多个网络节点承载上层应用, 基于冗余的网络设计带来复杂性,而将多个网络节点进 行整合(称为横向整合),虚拟化成一台逻辑设备,提升数 据中心网络可用性,节点性能的同时将极大简化网络架 构. 使用网络虚拟化技术,用户可以将多台设备连接,” 横向整合”起来组成一个”联合设备”,并将这些设备看作 单一设备进行管理和使用.
浅谈虚拟化技术
制作人:冯浩 日期:2016年5月
虚拟化技术的定义
虚拟化是一个广义的术语,简单来说,是指 计算机相关模块在虚拟的基础上而不是真实的独 立的物理硬件基础上运行,这种把有限的固定的 资源根据不同需求进行重新规划以达到最大利用 率的思路,从而实现简化管理,优化资源等目的 的解决方案,就叫做虚拟化技术。 虚拟化概念并不是新概念。早在20世纪70年 代,大型计算机就一直在同时运行多个操作系统 实例,每个实例也彼此独立。不过直到最近,软 硬件方面的进步才使得虚拟化技术逐渐出现在基 于行业标准的中低端服务器上。
但虚拟化技术是一套解决方案, CPU层虚拟化技术不会自动发挥作用。 为了专门支持它,必须开发虚拟化软件。完整的情况需要CPU、主板芯片组、 BIOS和软件的支持,包括虚拟化软件和某些操作系统本身。目前CPU虚拟化 技术,暂时还停留在CPU对服务器(操作系统)级别虚拟化优化这个层面。 不过,因为这种技术的优点非常诱人,预计各种类型的虚拟化软件会源源不 断地开发出来。
服务器虚拟化—基于CPU的虚拟化
CPU的虚拟化技术的最终目标是可以单CPU模拟多CPU并行,允许一个 平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行 而互不影响,从而显著提高计算机的工作效率。在处理器硬件角度就实现了 服务器(操作系统)级别虚拟化,而且效率更加高。
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化 过 的 指 令 集 来 控 制 虚 拟 过 程 , 通 过 这 些 指 令 集 , VMM(Virtual Machine Monitor,也就是虚拟机软件)会很容易提高性能,相比纯软件的虚拟实现方 式会很大程序上提高性能。 Intel 自 2005 年 末 开 始 便 在 其 处 理 器 产 品 线 中 推 广 应 用 Intel Virtualization Technology(Intel VT)虚拟化技术。而AMD方面也已经发布了 支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产 品。
网络虚拟化
网络虚拟化是目前业界关于虚拟化 细分领域界定最不明确,存在争议较多 的一个概念。总的来说,分为纵向分割 和横向分割两大类概念.
网络虚拟化—纵向分割
早期的”网络虚拟化”,是指虚拟专用网络(VPN).VPN 对网络连接的概念进行了抽象,允许远程用户访问组织 的内部网络,就像物理上连接到该网络一样.