第2讲虚拟化技术 1虚拟化技术概述 1.1什么是虚拟化技术 1、虚拟化的定义 虛拟化技术( Virtualization)是伴随着计算机技术的产生而出现的,在计 算机技术的发展历程中一直扮演着重要的角色。从20世纪50年代虚拟化概念的 提出,到20世纪60年代IBM公司在大型机上实现了虚拟化的商用,从操作系统 的虛拟化到Java语言虛拟机,再到目前基于x86体系结构的服务器虚拟化技术 的蓬勃发展,都为虛拟化这一看似抽象的概念添加了极其丰富的内涵。 虛拟化,是指通过虚拟化技术将一台计算机虛拟为多台逻辑计算机。在一台 计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并 且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的 工作效率。 虛拟化,是一种资源管理技术,是将计算机的各种实体资源,如服务器、网 络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的 障碍,使用户可以比原本的组态更好的方式来应用这些资源。 2、虚拟化的层次 计算机系统是一个庞大的整体,整个系统非常复杂,因此计算机系统被自下 而上分为多个层次,每一个层次都像上一个层次呈现一个抽象,并且每一层只需 要知道下层抽象的接口,并不需要了解其内部机制。 虛拟化技术就是下层的软件模块,根据上层软件模块的需求,抽象出一个虚 拟的软件或者硬件接口,使上一层软件可以运行在与自己所期待的运行环境完全 致的虚拟环境上。虚拟化可以发生在各个层次上,形成不同层次上的虚拟化, 通常有四个层次的虚拟化 HLL Environdge DLL ABI DLL Hardware
第 2 讲 虚拟化技术 1 虚拟化技术概述 1.1 什么是虚拟化技术 1、虚拟化的定义 虚拟化技术(Virtualization)是伴随着计算机技术的产生而出现的,在计 算机技术的发展历程中一直扮演着重要的角色。从 20 世纪 50 年代虚拟化概念的 提出,到 20 世纪 60 年代 IBM 公司在大型机上实现了虚拟化的商用,从操作系统 的虚拟化到 Java 语言虚拟机,再到目前基于 x86 体系结构的服务器虚拟化技术 的蓬勃发展,都为虚拟化这一看似抽象的概念添加了极其丰富的内涵。 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台 计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并 且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的 工作效率。 虚拟化,是一种资源管理技术,是将计算机的各种实体资源,如服务器、网 络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的 障碍,使用户可以比原本的组态更好的方式来应用这些资源。 2、虚拟化的层次 计算机系统是一个庞大的整体,整个系统非常复杂,因此计算机系统被自下 而上分为多个层次,每一个层次都像上一个层次呈现一个抽象,并且每一层只需 要知道下层抽象的接口,并不需要了解其内部机制。 虚拟化技术就是下层的软件模块,根据上层软件模块的需求,抽象出一个虚 拟的软件或者硬件接口,使上一层软件可以运行在与自己所期待的运行环境完全 一致的虚拟环境上。虚拟化可以发生在各个层次上,形成不同层次上的虚拟化, 通常有四个层次的虚拟化
(1)硬件抽象层上的虚拟化 通过虚拟硬件抽象层来实现虚拟机,为客户机操作系统呈现和物理硬件相同 或相近的硬件抽象层。 (2)操作系统层上的虚拟化 操作系统的内核可以提供多个互相隔离的用户态实例。 (3)库函数层上的虚拟化 通过虚拟化操作系统的应用级库函数的接口服务,使得应用程序不需要修改, 就可以在不同的操作系统中无缝运行,从而提高系统间的互操作性 (4)编程语言层上的虚拟化 编程语言层上的虛拟机称为语言级虛拟机,如有JWM。运行进程级作业,不 针对硬件上存在的体系结构,而是一个虚拟体系结构 3、虚拟化的价值 虛拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分 配、灵活调度、跨域共享,提高IT资源利用率,使ITˆ资源能够真正成为社会基 础设施,服务于各行各业中灵活多变的应用需求。 虛拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能 过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件,简单来说 就是将底层资源进行分区,并向上层提供特定的和多样化的执行环境。 虚拟机 虚拟机 应用程序 应用程序 AP抽象层 AP抽象层 操作系统 操作系统 软件抽象层 软件抽象层 虚拟化层 硬件抽象层 硬件 4、数据中心虚拟化 数据中心是云计算技术的核心,随着数据中心规模不断增大、成本逐渐上升 管理日趋复杂。数据中心为运营商带来巨大利益的同时,也带来了管理和运营等 方面的重大挑战。传统的数据中心网络不能满足虚拟数据中心网络高速、扁平 虚拟化的要求。传统的数据中心采用的多种技术,以及业务之间的孤立性,使得 数据中心网络结构复杂,存在相对独立的三张网,包括数据网、存储网和高性能 计算网,以及多个对外I/0接口。这些对外1/O接口中,数据中心的前端访问接 口通常采用以太网进行互连,构成高速的数据网络;数据中心后端的存储则多采
(1)硬件抽象层上的虚拟化 通过虚拟硬件抽象层来实现虚拟机,为客户机操作系统呈现和物理硬件相同 或相近的硬件抽象层。 (2)操作系统层上的虚拟化 操作系统的内核可以提供多个互相隔离的用户态实例。 (3)库函数层上的虚拟化 通过虚拟化操作系统的应用级库函数的接口服务,使得应用程序不需要修改, 就可以在不同的操作系统中无缝运行,从而提高系统间的互操作性。 (4)编程语言层上的虚拟化 编程语言层上的虚拟机称为语言级虚拟机,如有 JVM。运行进程级作业,不 针对硬件上存在的体系结构,而是一个虚拟体系结构。 3、虚拟化的价值 虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分 配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基 础设施,服务于各行各业中灵活多变的应用需求。 虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能 过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件,简单来说 就是将底层资源进行分区,并向上层提供特定的和多样化的执行环境。 4、数据中心虚拟化 数据中心是云计算技术的核心,随着数据中心规模不断增大、成本逐渐上升、 管理日趋复杂。数据中心为运营商带来巨大利益的同时,也带来了管理和运营等 方面的重大挑战。传统的数据中心网络不能满足虚拟数据中心网络高速、扁平、 虚拟化的要求。传统的数据中心采用的多种技术,以及业务之间的孤立性,使得 数据中心网络结构复杂,存在相对独立的三张网,包括数据网、存储网和高性能 计算网,以及多个对外 I/O 接口。这些对外 I/O 接口中,数据中心的前端访问接 口通常采用以太网进行互连,构成高速的数据网络;数据中心后端的存储则多采
用NAS、FC-SAN等接口;服务器的并行计算和高性能计算则需要低延迟接口和架 构,如 infiniband接口。以上这些因素,导致服务器之间存在操作系统和上层 软件异构、接口与数据格式的不统一等问题。 随着云计算的发展,传统的数据中心逐渐过渡到虚拟化数据中心,即采用虚 拟化技术将原来数据中心的物理资源进行抽象整合。数据中心的虚拟化可以实现 资源的动态分配和调度,提高现有资源的利用率和服务可靠性;可以提供自动化 的服务开通能力,降低运维成本;具有有效的安全机制和可靠性机制,满足公众 客户和企业客户的安全需求;同时也可以方便系统升级、迁移和改造。 数据中心虚拟化是通过服务器虚拟化、存储虚拟化和网络虚拟化实现的。服 务器虚拟化在云计算中是最重要和最关键的,是将一个或多个物理服务器虛拟成 多个逻辑上的服务器,集中管理,能跨越物理平台而不受物理平台的限制。存储 虚拟化是把分布的异构存储设备统一为一个或几个大的存储池,方便用户的使用 和管理。网络虚拟化是在底层物理网络和网络用户之间增加一个抽象层,该抽象 层向下对物理网络资源进行分割,向上提供虚拟网络。 1.2虚拟化技术发展历程 虛拟化技术具有悠久的历史,20世纪60年代为提高硬件利用率对大型机硬 件进行分区就是最早的虚拟化。经过多年的发展,业界已经形成多种虚拟化技术 包括服务器虚拟化、网络虚拟化、存储虚拟化、桌面虚拟化等,与之相关的虚拟 化运营管理技术也被广泛研究,虚拟化技术的具体发展历程及相关重大标志性事 件叙述如后。 1、萌芽阶段 1959年6月的国际信息处理大会( International Conference on Information Processing),计算机科学家 Christopher发表的论文《大型高速 计算机中的时间共享》( Time Sharing in Large Fast Computers)中首次提出 并论述了虚拟化技术。 1970年IBM推出的 System/370中率先使用了虛拟存储器。 1987年加利福尼亚大学的 David Patterson、 Garth gibson和 Randy Katz 描述了一个由廉价磁盘组成的冗余阵列,即RAID。如今的先进卷管理程序已经 成为每一款操作系统不可或缺的一部分,RAID技术已成为每一个磁盘子系统的 核心 2、形成阶段 X86平台服务器虚拟化技术逐步发展,存储虚拟化从NAS/SAN向ⅥTL发展, 网络虛拟化随着服务器虚拟化而出现。 1998年 VMware公司成立,1999年Xen相关研究起步。 2001年 VMware推出 ESX Server,以 Redhat7.2为基础,成为一个真正的 虚拟平台。 ESX Server的出现,正式宣告 VMware进入虚拟企业界领域
用 NAS、FC-SAN 等接口;服务器的并行计算和高性能计算则需要低延迟接口和架 构,如 infiniband 接口。以上这些因素,导致服务器之间存在操作系统和上层 软件异构、接口与数据格式的不统一等问题。 随着云计算的发展,传统的数据中心逐渐过渡到虚拟化数据中心,即采用虚 拟化技术将原来数据中心的物理资源进行抽象整合。数据中心的虚拟化可以实现 资源的动态分配和调度,提高现有资源的利用率和服务可靠性;可以提供自动化 的服务开通能力,降低运维成本;具有有效的安全机制和可靠性机制,满足公众 客户和企业客户的安全需求;同时也可以方便系统升级、迁移和改造。 数据中心虚拟化是通过服务器虚拟化、存储虚拟化和网络虚拟化实现的。服 务器虚拟化在云计算中是最重要和最关键的,是将一个或多个物理服务器虚拟成 多个逻辑上的服务器,集中管理,能跨越物理平台而不受物理平台的限制。存储 虚拟化是把分布的异构存储设备统一为一个或几个大的存储池,方便用户的使用 和管理。网络虚拟化是在底层物理网络和网络用户之间增加一个抽象层,该抽象 层向下对物理网络资源进行分割,向上提供虚拟网络。 1.2 虚拟化技术发展历程 虚拟化技术具有悠久的历史,20 世纪 60 年代为提高硬件利用率对大型机硬 件进行分区就是最早的虚拟化。经过多年的发展,业界已经形成多种虚拟化技术, 包括服务器虚拟化、网络虚拟化、存储虚拟化、桌面虚拟化等,与之相关的虚拟 化运营管理技术也被广泛研究,虚拟化技术的具体发展历程及相关重大标志性事 件叙述如后。 1、萌芽阶段 1959 年 6 月的国际信息处理大会 (International Conference on Information Processing),计算机科学家 Christopher 发表的论文《大型高速 计算机中的时间共享》(Time Sharing in Large Fast Computers)中首次提出 并论述了虚拟化技术。 1970 年 IBM 推出的 System/370 中率先使用了虚拟存储器。 1987 年加利福尼亚大学的 David APatterson、Garth AGibson 和 Randy Katz 描述了一个由廉价磁盘组成的冗余阵列,即 RAID。如今的先进卷管理程序已经 成为每一款操作系统不可或缺的一部分,RAID 技术已成为每一个磁盘子系统的 核心。 2、形成阶段 x86 平台服务器虚拟化技术逐步发展,存储虚拟化从 NAS/SAN 向 VTL 发展, 网络虚拟化随着服务器虚拟化而出现。 1998 年 VMware 公司成立,1999 年 Xen 相关研究起步。 2001 年 VMware 推出 ESX Server,以 RedHat 7.2 为基础,成为一个真正的 虚拟平台。ESX Server 的出现,正式宣告 VMware 进入虚拟企业界领域
2003年 VMware推出虚拟环境管理平台 Virtual center,包括 Virtual smp 技术 2000年,NAS和SAN兴起,并引发了ⅥTL、复制和重复数据删除等许多利用 池存储或远程存储的新技术的开发。 3、商用阶段 2005年8月 Intel首次公布了其硬件虚拟化技术细节,并于2005年11月 宣布其ⅥT技术已商用。 2006年5月,AMD硬件虚拟化技术SⅥM首款商用产品 Athlon64问世。 4、成熟阶段 x86虚拟化技术进一步发展并商用,竞争激烈,桌面和应用虚拟化逐渐成为 虚拟化领域的热点。 2009年2月, Citrix发布免费版本的企业级 Xen Server平台,其中具备管 理工具 XenCenter和实时迁移功能 emOtion,并于5月发布其更新版本 Xen Server5.5,对管理功能进行了强化, Citrix公司于2015年1月发布了全 64位的 Xen Server6.5 2009年3月, Cisco推动了虚拟化市场的硬件发展,宣布推出统一计算系统 (UCS),它结合了服务器和网络硬件,还有管理软件。在8月举行的 VMworld2009 大会上, Cisco ucs获得了硬件类的金奖,证明了其显著整合运行在数据中心硬 件的能力。 2009年4月, VMware推出 vSphere4.0,这是一款划时代的全面虚拟化解 决方案,目前较新的版本为6.7,而其5.5版本是应用较为成熟的一个版本。 2009年5月,微软发布 Hyper-VR2,这个版本对第一个版本的 Hyper-V作 出了重要改进,提供热迁移、集群共享卷和其他高级功能。更重要的是这些功能 将微软与Ⅵ Mware放在相同地位上,从而显著改变了整个虚拟化市场格局。 1.3虚拟化技术的分类 在虛拟化技术中,被虛拟的实体是各种各样的IT资源。如果按照这些资源 的类型分类,可以梳理出不同类型的虚拟化。 虛拟化常见的类型有服务器虛拟化、桌面虛拟化、存储虛拟化、网络虚拟化 应用虚拟化等 2架构模式 2.1传统基础架构模式 传统的IT基础平台采用分散建设的模式,其IT基础平台的典型的做法是网 络集中管理,信息系统根据业务的重要程度,对数据进行分块化,数据存储进行 分级化处理
2003 年 VMware 推出虚拟环境管理平台 Virtual Center,包括 Virtual SMP 技术。 2000 年,NAS 和 SAN 兴起,并引发了 VTL、复制和重复数据删除等许多利用 池存储或远程存储的新技术的开发。 3、商用阶段 2005 年 8 月 Intel 首次公布了其硬件虚拟化技术细节,并于 2005 年 11 月 宣布其 VT 技术已商用。 2006 年 5 月,AMD 硬件虚拟化技术 SVM 首款商用产品 Athlon 64 问世。 4、成熟阶段 x86 虚拟化技术进一步发展并商用,竞争激烈,桌面和应用虚拟化逐渐成为 虚拟化领域的热点。 2009 年 2 月,Citrix 发布免费版本的企业级 XenServer 平台,其中具备管 理工具 XenCenter 和实时迁移功能 XenMotion,并于 5 月发布其更新版本 XenServer 5.5,对管理功能进行了强化,Citrix 公司于 2015 年 1 月发布了全 64 位的 XenServer 6.5。 2009 年 3 月,Cisco 推动了虚拟化市场的硬件发展,宣布推出统一计算系统 (UCS),它结合了服务器和网络硬件,还有管理软件。在 8 月举行的 VMworld 2009 大会上,Cisco UCS 获得了硬件类的金奖,证明了其显著整合运行在数据中心硬 件的能力。 2009 年 4 月,VMware 推出 vSphere 4.0,这是一款划时代的全面虚拟化解 决方案,目前较新的版本为 6.7,而其 5.5 版本是应用较为成熟的一个版本。 2009 年 5 月,微软发布 Hyper-V R2,这个版本对第一个版本的 Hyper-V 作 出了重要改进,提供热迁移、集群共享卷和其他高级功能。更重要的是这些功能 将微软与 VMware 放在相同地位上,从而显著改变了整个虚拟化市场格局。 1.3 虚拟化技术的分类 在虚拟化技术中,被虚拟的实体是各种各样的 IT 资源。如果按照这些资源 的类型分类,可以梳理出不同类型的虚拟化。 虚拟化常见的类型有服务器虚拟化、桌面虚拟化、存储虚拟化、网络虚拟化、 应用虚拟化等。 2 架构模式 2.1 传统基础架构模式 传统的 IT 基础平台采用分散建设的模式,其 IT 基础平台的典型的做法是网 络集中管理,信息系统根据业务的重要程度,对数据进行分块化,数据存储进行 分级化处理
传统IT系统基础架构普遍存在以下几个突出问题 (1)硬件资源利用率低下和资源紧张并存; (2)IT资源部署周期长,难以快速满足业务需求 (3)机房空间、电力供应紧张 2.2虛拟基础架构模式 所谓虚拟基础架构,就是以一台或者多台服务器作为物理机资源,借助虛拟 化软件在物理机上构建多个虚拟机平台。借助虚拟机,用户可以在多台虚拟机之 间共享单台物理机的资源,资源在多个虚拟机和应用程序之间进行共享,从而实 现资源的高效利用 虛拟基础架构包括以下组件: (1)裸机管理程序,可使每台物理服务器实现全面虚拟化; (2)虚拟基础架构服务〔如资源管理和整合备份等),可在虚拟机之间使可 用资源达到最优配置; (3)若干自动化解决方案,通过提供特殊功能来优化特定IT流程,如资 源自动部署或灾难恢复等。 虛拟基础架构具有以下效益 (1)标准化软硬件配置和资源部署流程 (2)IT资源管理集中化 (3)设备资源利用率显著提高; (4)响应“绿色行动计划”,空间占用率和电力消耗大幅下降; (5)自动化的软硬件资源部署,显著缩短系统交付时间 (6)资源全局共享,提高系统整体可用性,有效保证数据安全性; (7)集中化管理,系统易于维护。 3服务器虚拟化 3.1服务器虚拟化的概念 服务器虚拟化的概念并不统一,服务器虚拟化技术有两个方向,一种是把一 个物理的服务器虚拟成若干个独立的逻辑服务器,比如分区;另一个是把若干分 散的物理服务器虚拟为一个大的逻辑服务器,比如网格技术。本讲关注的服务器 虚拟化是通过虚拟化层的实现,使得多个虚拟机在同一物理机上独立并行运行。 每个虚拟机都有自己的一套虚拟硬件,可以在这些硬件中加载操作系统和应用程 序。不同的虚拟机加载的操作系统和应用程序可以是不同的。无论实际上采用了 什么样的物理硬件,操作系统都将它们视为一组一致、标准化的硬件 服务器虚拟化( Server virtualization)就是将虚拟化技术应用于服务器, 将一台服务器虚拟成若干虚拟服务器,在该服务器上可以支持多个操作系统同时 运行。可以简单地理解为将物理机、操作系统及其应用程序“打包”成一个文件 称之为虚拟机
传统 IT 系统基础架构普遍存在以下几个突出问题: (1)硬件资源利用率低下和资源紧张并存; (2)IT 资源部署周期长,难以快速满足业务需求; (3)机房空间、电力供应紧张。 2.2 虚拟基础架构模式 所谓虚拟基础架构,就是以一台或者多台服务器作为物理机资源,借助虚拟 化软件在物理机上构建多个虚拟机平台。借助虚拟机,用户可以在多台虚拟机之 间共享单台物理机的资源,资源在多个虚拟机和应用程序之间进行共享,从而实 现资源的高效利用。 虚拟基础架构包括以下组件: (1)裸机管理程序,可使每台物理服务器实现全面虚拟化; (2)虚拟基础架构服务(如资源管理和整合备份等),可在虚拟机之间使可 用资源达到最优配置; (3)若干自动化解决方案,通过提供特殊功能来优化特定 IT 流程,如资 源自动部署或灾难恢复等。 虚拟基础架构具有以下效益: (1)标准化软硬件配置和资源部署流程; (2)IT 资源管理集中化; (3)设备资源利用率显著提高; (4)响应“绿色行动计划”,空间占用率和电力消耗大幅下降; (5)自动化的软硬件资源部署,显著缩短系统交付时间; (6)资源全局共享,提高系统整体可用性,有效保证数据安全性; (7)集中化管理,系统易于维护。 3 服务器虚拟化 3.1 服务器虚拟化的概念 服务器虚拟化的概念并不统一,服务器虚拟化技术有两个方向,一种是把一 个物理的服务器虚拟成若干个独立的逻辑服务器,比如分区;另一个是把若干分 散的物理服务器虚拟为一个大的逻辑服务器,比如网格技术。本讲关注的服务器 虚拟化是通过虚拟化层的实现,使得多个虚拟机在同一物理机上独立并行运行。 每个虚拟机都有自己的一套虚拟硬件,可以在这些硬件中加载操作系统和应用程 序。不同的虚拟机加载的操作系统和应用程序可以是不同的。无论实际上采用了 什么样的物理硬件,操作系统都将它们视为一组一致、标准化的硬件。 服务器虚拟化(Server Virtualization)就是将虚拟化技术应用于服务器, 将一台服务器虚拟成若干虚拟服务器,在该服务器上可以支持多个操作系统同时 运行。可以简单地理解为将物理机、操作系统及其应用程序“打包”成一个文件, 称之为虚拟机