什么是虚拟化技术?虚拟化技术有哪些分类和方法?

什么是虚拟化技术?虚拟化技术有哪些分类和方法?,第1张

要了解详情,请加我的号,或照片上有我的照片,我们私聊。
可以免费试用的哦!!!!!!!!!
自从虚拟化提出以后,至今虚拟化技术分类有很多,方法也有很多,下面来一起了解下什么是虚拟化技术,及分类和方法。
当今发达国家在设计、制造、加工技术等方面已经达到相当自动化的水平,其产品设计普遍采用CAD、CAM、CAE和计算机仿真等手段,企业管理也已采用了科学的规范化的管理方法和手段,目前其主要从制造系统自动化方面寻找出路,为此提出了一系列新的制造系统,如敏捷制造、并行工程、计算机集成制造系统等。近些年,从虚拟机的大量部署到成功案例逐渐涌现,越来越多的制造企业开始关注虚拟化技术给优化IT基础架构,推动业务创新带来的启发,希望将其与业务相结合,找到掌握新技术、革新先进制造系统和先进制造模式的方法。虚拟化目前应用于制造业信息化主要体现在IT整合和节约成本,在其他方面很少,而实际上由于虚拟化技术的特点,其应用价值可以在远程办公、虚拟制造、工业控制等制造业相关领域都能得到体现。本文主要对虚拟化技术及其在制造业的应用现状进行综述,提出虚拟化在制造业的应用框架,为相关人员提供该领域的应用研究进展与发展趋势方面的介绍。
1 虚拟化技术
虚拟化是指为运行的程序或软件营造它所需要的执行环境,在采用虚拟化技术后,程序或软件的运行不再独享底层的物理计算资源,它只是运行在一个完全相同的物理计算资源中,而底层的影响可能与之前所运行的计算机结构完全不同。虚拟化的主要目的是对IT基础设施和资源管理方式的简化。虚拟化的消费者可以是最终用户、应用程序、 *** 作系统、访问资源或与资源交互相关的其他服务。由于虚拟化能降低消费者与资源之间的耦合程度,消费者不再依赖于资源的特定实现,因此在对消费者的管理工作影响最小的基础上,可以通过手工、半自动、或者服务级协定(SLA)等来实现对资源的管理。
11 虚拟化的分类
从虚拟化的目的来看,虚拟化技术主要分为以下几个大类:
(1)平台虚拟化(Platform Virtualization),它是针对计算机和 *** 作系统的虚拟化,又分成服务器虚拟化和桌面虚拟化。服务器虚拟化是一种通过区分资源的优先次序,并将服务器资源分配给最需要它们的工作负载的虚拟化模式,它通过减少为单个工作负载峰值而储备的资源来简化管理和提高效率。桌面虚拟化是为提高人对计算机的 *** 控力,降低计算机使用的复杂性,为用户提供更加方便适用的使用环境的一种虚拟化模式。平台虚拟化主要通过CPU虚拟化、内存虚拟化和I/O接口虚拟化来实现。
(2)资源虚拟化(Resource Virtualization),针对特定的计算资源进行的虚拟化,例如,存储虚拟化、网络资源虚拟化等。存储虚拟化是指把 *** 作系统有机地分布于若干内外存储器,两者结合成为虚拟存储器。网络资源虚拟化最典型的是网格计算,网格计算通过使用虚拟化技术来管理网络上的数据,并在逻辑上将其作为一个系统呈现给消费者,它动态地提供了符合用户和应用程序需求的资源,同时还将提供对基础设施的共享和访问的简化。当前,有些研究人员提出利用软件代理技术来实现计算网络空间资源的虚拟化,如Gaia,Net Chaser[21],Spatial Agent。
(3)应用程序虚拟化(Application Virtualization),它包括仿真、模拟、解释技术等。Java 虚拟机是典型的在应用层进行虚拟化。基于应用层的虚拟化技术,通过保存用户的个性化计算环境的配置信息,可以实现在任意计算机上重现用户的个性化计算环境。服务虚拟化是近年研究的一个热点,服务虚拟化可以使业务用户能按需快速构建应用的需求,通过服务聚合,可屏蔽服务资源使用的复杂性,使用户更易于直接将业务需求映射到虚拟化的服务资源。现代软件体系结构及其配置的复杂性阻碍了软件开发生命周期,通过在应用层建立虚拟化的模型,可以提供最佳开发测试和运行环境。
(4)表示层虚拟化。在应用上与应用程序虚拟化类似,所不同的是表示层虚拟化中的应用程序运行在服务器上,客户机只显示应用程序的UI界面和用户 *** 作。表示层虚拟化软件主要有微软的Windows 远程桌面(包括终端服务)、Citrix Metaframe Presentation Server和Symantec PcAnywhere等。
12 虚拟化的方法
通常所说的虚拟化主要是指平台虚拟化,它通过控制程序隐藏计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。通常虚拟化可以通过指令级虚拟化和系统级虚拟化来实现。
121 指令级虚拟化方法
在指令集层次上实现虚拟化,即将某个硬件平台上的二进制代码转换为另一个平台上的二进制代码,实现不同指令集间的兼容,也被称作“二进制翻译”。二进制翻译是通过仿真来实现的,即在一个具有某种接口和功能的系统上实现另一种与之具有不同接口和功能的系统。二进制翻译的软件方式,它可以有3 种方式实现:解释执行、静态翻译、动态翻译。
近年来,最新的二进制翻译系统的研究主要在运行时编译、自适应优化方面,由于动态翻译和执行过程的时间开销主要包括四部分:即磁盘访问开销、存储访问开销、翻译和优化开销、目标代码的执行开销,所以要提高二进制翻译系统的效率主要应减少后3个方面的开销。目前典型的二进制翻译系统主要有Daisy/BOA、Crusoe、Aeries、IA-32EL、Dynamo 动态优化系统和JIT编译技术等。
122 系统级虚拟化方法
系统虚拟化是在一台物理机上虚拟出多个虚拟机。从系统架构看,虚拟机监控器(VMM)是整个虚拟机系统的核心,它承担了资源的调度、分配和管理,保证多个虚拟机能够相互隔离的同时运行多个客户 *** 作系统。系统级虚拟化要通过CPU虚拟化、内存虚拟化和I/O虚拟化实现。
(1)CPU虚拟化
CPU虚拟化为每个虚拟机提供一个或多个虚拟CPU,多个虚拟CPU分时复用物理CPU,任意时刻一个物理CPU只能被一个虚拟CPU使用。VMM必须为各虚拟CPU合理分配时间片并维护所有虚拟CPU的状态,当一个虚拟CPU的时间片用完需要切换时,要保存当前虚拟CPU的状态,将被调度的虚拟CPU的状态载入物理CPU。X86 的CPU虚拟化方法主要有:二进制代码动态翻译(dynamic binary translation)、半虚拟化(para-virtualization)和预虚拟化技术。为了弥补处理器的虚拟化缺陷,现有的虚拟机系统都采用硬件辅助虚拟化技术。CPU虚拟化需要解决的问题是:①虚拟CPU的正确运行,虚拟CPU正确运行的关键是保证虚拟机指令正确执行,各虚拟机之间不互相影响,即指令的执行结果不改变其他虚拟机的状态,目前主要是通过模拟执行和监控运行;②虚拟CPU的调度。虚拟CPU的调度是指由VMM决定当前哪一个虚拟CPU实际在物理CPU上运行,保证虚拟机之间的隔离性、虚拟CPU的性能、调度的公平。虚拟机环境的调度需求是要充分利用CPU资源、支持精确的CPU分配、性能隔离、考虑虚拟机之间的不对等、考虑虚拟机之间的依赖。常见的CPU调度算法有BVT、SEDF、CB等。
(2)内存虚拟化
VMM通常采用分块共享的思想来虚拟计算机的物理内存。VMM将机器的内存分配给各个虚拟机,并维护机器内存和虚拟机内存之间的映射关系,这些内存在虚拟机看来是一段从地址0 开始的、连续的物理地址空间。在进行内存虚拟化后,内存地址将有机器地址、伪物理地址和虚拟地址三种地址。在X86 的内存寻址机制中,VMM能够以页面为单位建立虚拟地址到机器地址的映射关系,并利用页面权限设置实现不同虚拟机间内存的隔离和保护。为了提高地址转换的性能,X86 处理器中加入TLB,缓存已经转换过的虚拟地址,在每次虚拟地址空间切换时,硬件自动完成切块TLB。为了实现虚拟地址到物理地址的高效转换,通常采取复合映射的思想,通过MMU半虚拟化和影子页表来实现页表的虚拟化。虚拟机监控器的数据不能被虚拟机访问,因此需要一种隔离机制,这种隔离机制主要通过修改客户 *** 作系统或段保护来实现。内存虚拟化的优化机制,包括按需取页、虚拟存储、内存共享等。
(3)I/O虚拟化
由于I/O设备具有异构性强,内部状态不易控制等特点,VMM系统针对I/O设备虚拟化有全虚拟化、半虚拟化、软件模拟和直接I/O访问等设计思路。近年来,更多的学者将I/O虚拟化的研究放在共享的网络设备虚拟化研究,提出将IOVM结构映射到多核心服务器平台。I/O设备除了增加吞吐量和固有的并行数据流、联系串行特性以及基于分组的协议外,还应该考虑到传统的PCI 兼容的PCI Express的硬件,建立相应的总线适配器,以弥补象单一主机无专门的驱动程序时的需要。有些研究人员专注于外存储虚拟化的研究,提出让存储虚拟化系统上的SCSI目标模拟器运行在SAN上,存储动态的目标主机的物理信息,并使用映射表方法来修改SCSI命令地址,使用位图的技术来管理可用空间等思想。存储虚拟化系统应提供诸如逻辑卷大小、各种功能、数据镜像和快照,并兼容集群主机和多个 *** 作系统。由于外存储虚拟化能全面提升存储区域网络的服务质量,而带外虚拟化与带内虚拟化相比具有性能高和扩展性好等优点,通过运用按序 *** 作、Redo日志以及日志完整性鉴别,设计基于关系模型的磁盘上虚拟化元数据组织方式,可以形成一致持久的带外虚拟化系统。
13 虚拟化的管理
虚拟化的管理主要指多虚拟机系统的管理,多虚拟机系统是指在对多计算系统资源抽象表示的基础上,按照自己的资源配置构建虚拟计算系统,其主要包括虚拟机的动态迁移技术和虚拟机的管理技术。
(1)虚拟机之间的迁移
将虚拟化作为一种手段管理现有的资源和加强其在网络计算的利用率,通过构建分布式可重构的虚拟机,必要时在物理服务器运行时迁移服务。通过移动代理技术、分布式虚拟机等提高资源利用率和服务可用性,通过寻找服务最优的策略在可重构和分布式虚拟机上迁移。为了将虚拟机运行的 *** 作系统与应用程序从一个物理结点迁移到另外一个运行结点,同时保持客户 *** 作系统和应用程序不受干扰,有些研究者提出以数据为中心的可迁移的虚拟运行环境,使得用户 *** 作环境实现异地迁移、无缝重构;
也有研究人员提出程序执行环境的动态按需配置机制。在跨物理服务器迁移虚拟机,进行自动化的虚拟服务器的管理,必须考虑高层次的服务质量要求和资源管理成本。有些研究人员提出了通过管理程序控制的方法,以支持移动IP的实时迁移虚拟机在网络上,使虚拟机实时迁移其分布计算资源,从而改善迁移性能,降低网络恢复延迟,提供高可靠性和容错。有些研究机构通过设计一个通用的硬件抽象层,实现多个虚拟机的移植,具有高效率执行环境中的移动设备。虚拟机的迁移步骤一般有启动迁移、内存迁移、冻结虚拟机、虚拟机恢复执行。
(2)虚拟机的管理
对于多虚拟机来说,一个非常重要的方面是减少用户对动态的和复杂的物理设备的管理和维护,通过软件和工具来实现任务管理。当前典型的多虚拟机服务器管理软件是Virtual Infrastructure,它通过Virtual Center管理服务器的虚拟机池,通过VMotion完成虚拟机的迁移,通过VMFS管理多虚拟机文件系统。其次,Parallax 是针对Xen 的多虚拟机管理器,它通过采用消除写共享,增强客户端的缓存等方式并利用模板映像来建立整个系统;同时使用快照(snapshot)以及写时复制(copy-on-write)机制来实现块级共享,并使用副本来保证可用性。虚拟机监控器直接控制parallax 使用的物理盘,它们运行物理设备驱动器,并给虚拟磁盘镜像VDI 的本地虚拟机提供一个普通的块接口。
2 虚拟化在制造业信息化中的应用
21 虚拟化在制造业信息化中的应用框架
当今制造业正朝着精密化、自动化、柔性化、集成化、网络化、信息化和智能化的方向发展,在这种趋势下,诞生了许多先进制造技术和先进制造模式。这些先进制造技术和先进制造模式要求现有的IT基础设施能提供更高的计算服务水平,因此在制造业信息化中,需要建立以虚拟化为导向的资源分配体系结构,提供客户驱动的服务管理和计算风险管理,维持以服务水平协议(SLA)为导向的资源分配体系。虚拟化在制造业信息化中主要用于集中IT管理、应用整合、工业控制、虚拟制造等。
处在最底层的是制造业企业的虚拟计算资源池(VirtualCluster),它由多台物理服务器(PhysicsMachine)形成,各物理服务器上运行着虚拟化软件(VMM),虚拟化软件上运行着完成各种任务需求的虚拟机,虚拟计算资源池的虚拟化管理软件(VMS)为IT环境提供集中化、 *** 作自动化、资源优化的功能,可以快速部署向导和虚拟机模板。虚拟计算资源池中的虚拟机将不同类型的客户 *** 作系统(Guest OS)和运行其上的数据层、服务层应用程序(App)封装在一起,形成一个企业协同设计制造的完整系统,为表示层的用户提供多种形态的数据处理和显示功能。在图1 的框架中,虚拟计算资源池的动态资源调度(DRS)模块可以跨越物理机不间断地监控资源利用率,并根据反映业务需要和不断变化的优先级的预定规则,在多个虚拟机之间分配可用资源。在制造业信息化中,集中IT管理、应用整合、工业控制、虚拟制造等多种应用需求都将以各种服务的形式被封装到了虚拟机中,例如制造任务协同服务、资源管理服务、信息访问服务、>虚拟化技术的应用十分广泛 当前虚拟化技术主要关注于服务器的虚拟化, 或在单个主机上寄存多个独立的 *** 作系统 本文首先介绍虚拟化技术的原理, 然后讨论多个虚拟化技术的实现方法 另外介绍了一些其它的虚拟化技术, 比如Linux上 *** 作系统级的虚拟化技术
虚拟化把事物从一种形式改变为另一种形式 计算机的虚拟化使单个计算机看起来像多个计算机或完全不同的计算机
虚拟化技术也可以使多台计算机看起来像一台计算机 这叫做服务器聚合(server aggregation)或网格计算(grid computing)
首先我们回顾一下虚拟化技术的历史
虚拟化技术的历史
虚拟化技术不是一个新的主题; 实际上, 它已有40年的历史 最早使用虚拟化技术的是IBM 7044计算机, 它是基于MIT(麻省理工学院)为IBM704计算机开发的分时系统CTSS(Compatible Time Sharing System), 和曼彻斯特大学的Atlas项目(世界最早的超级计算机之一), 首次使用了请求调页和系统管理程序调用
硬件虚拟化
IBM早在1960年就认识到虚拟化技术的重要性, 于是开发了型号为Model 67的System/360主机 Model 67主机通过虚拟机监视器(VMM, Virtual Machine Monitor)虚拟所有的硬件接口 在早期的计算中, *** 作系统被称做Supervisor 能够运行在其它 *** 作系统之上的 *** 作系统被称做hypervisor(名称首次出现在1970年)
VMM直接运行在底层硬件上, 允许执行多个虚拟机(VMs) 每一个VM(虚拟机)运行自己的 *** 作系统实例 -- 早期时候称为CMS, 或会话监视系统(CMS, Conversational Monitor System) 然后VM继续发展 今天你能够在System z9主机上发现VM, 它能够向后兼容, 甚至是System/360
处理器虚拟化
另外一个早期使 用的虚拟化技术, 仿真处理器, 也叫做P-code(or pseudo-code)机 P-code是一种机器语言, 运行在虚拟机上而不是实际的硬件 知名的P-code语言在1970年由加州大学圣地亚哥分校的Pascal系统项目组开发 它可以把Pascal程序编译成P-code代码, 然后在具有P-code功能的虚拟机上运行 P-code程序具有高度可移植性, 能够运行在任何具有P-code功能的虚拟机上
1960年的BCPL语言(基本组合程序设计语言, Basic Combined Programming Language)也使用了同样的概念, 它是C语言的前身 编译器首先把BCPL代码编译成一个中间机器代码: O-code 然后, O-code被编译成目标机器代码 P-code模型已被广泛使用到各种编译器当中, 从而为编译器移植到新的主机架构提供了复杂性(通过一个中间语言分成前端和后端)
Java虚拟机(JVM)
Java虚拟机也采用了P-code模型 从而我们可以简单通过移植JVM程序到新架构的机器上来广泛发布Java程序
指令虚拟化
近来频繁出现的虚拟化概念: 指令虚拟化, 也叫做二进制翻译 在这个模型中, 虚拟指令被动态翻译成底层硬件的物理指令 程序执行后, 代码一段一段地被翻译 如果出现分支, 一套新的代码指令将被引入和翻译 这十分类似于缓存 *** 作, 指令块从内存移动到本地的快速缓存内存中执行
近来Transmeta公司设计的Crusoe中央处理器使用了该模型 二进制翻译由Code Morphing专利技术实现 类似的一个实例, 全虚拟技术通过使用动态生成代码扫描来发现和重定向特权指令(解决特殊处理指令集中的问题)
虚拟化技术的类型
现在不只存在一种虚拟化技术 事实上有多种方法可以使用不同层次的抽象来实现同样的结果 本章介绍Linux上三种最常用虚拟化技术的优点和弱点 业届有时使用不同的术语来描述同一个虚拟化技术 为了保持连续性, 下面使用的术语参考了其它的术语
虚拟化技术和游戏
一篇虚拟化技术的文章如果没有提到复合式大型电玩模拟器(MAME)就不是一篇完整的文章 MAME, 就如名字一样, 是一个能够模拟以往arcade游戏的机器模拟器(全部) 做一个补充, 整个机器是被虚拟的, 包括声音和图形还有控制硬件 MAME是一个非常棒的应用程序, 你也可以通过仔细阅读源码来了解它是如何实现的
硬件模拟器
无可否认, 最复杂的虚拟化技术是硬件模拟器 在这个方法中, 首先在主机系统上创建硬件VM, 然后模拟硬件的功能, 如图1显示:
图1 硬件模拟器: 使用VM模拟需要的硬件
正如你可能猜到, 硬件模拟器的主要问题是速度极慢 因为每一个指令在底层硬件都需模拟, 所以速度慢了100倍 高保真模拟还包含了循环校验, 用于模拟CPU的管道和缓存行为, 实际速度会慢了1000倍
硬件模拟有自己的优点 比如, 使用硬件模拟, 你能够在基于ARM处理器的主机上模拟运行基于PowerPC未经任何修改的 *** 作系统 你甚至能在每个不同模拟处理器上运行多个虚拟机
模拟器和开发
硬件模拟器最有意思的一个应用是firmware(固件)和硬件协作开发 firmware开发人员无需等待最新硬件的推出, 他们可以使用目标硬件的虚拟机来验证实际代码中的许多概念
全虚拟化
全虚拟化(Full virtualization), 也称为原始虚拟化技术, 是另一种虚拟化方法 该模型使用虚拟机协调客户 *** 作系统和原始硬件(见图2) 这里"协调"是一个关键词, 因为VMM在客户 *** 作系统和裸硬件之间用于工作协调 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理 因为 *** 作系统是通过Hypervisor来分享底层硬件
图2 全虚拟化: 使用Hypervisor分享底层硬件
全虚拟化的运行速度要快于硬件模拟, 但是性能方面不如裸机, 因为Hypervisor需要占用一些资源 全虚拟化最大的优点是 *** 作系统没有经过任何修改 它的唯一限制是 *** 作系统必须能够支持底层硬件(比如, PowerPC)
老机器上的Hypervisors
一些老的硬件如x86, 全虚拟化遇到了问题 比如, 一些敏感的指令需要由VMM来处理(VMM不能设置陷阱) 因此, Hypervisors必须动态扫描和捕获特权代码来处理问题
半虚拟化
半虚拟化(Paravirtualization)是另一种类似于全虚拟化的热门技术 它使用Hypervisor(虚拟机管理程序)分享存取底层的硬件, 但是它的客户 *** 作系统集成了虚拟化方面的代码 该方法无需重新编译或引起陷阱, 因为 *** 作系统自身能够与虚拟进程进行很好的协作
图3 半虚拟化: 通过客户 *** 作系统分享进程
上面提到过, 半虚拟化需要客户 *** 作系统做一些修改(配合Hypervisor), 这是一个不足之处 但是半虚拟化提供了与原始系统相近的性能 与全虚拟化一样, 半虚拟化可以同时能支持多个不同的 *** 作系统
*** 作系统级的虚拟化
最后一个我们需要了解的虚拟化技术是 *** 作系统级的虚拟化(Operating system-level virtualization), 它使用不同于上面的虚拟化方法 该技术在 *** 作系统之上虚拟多个服务器, 支持在单个 *** 作系统上简单隔离每一个虚拟服务器(见图4)
图4 *** 作系统级的虚拟化: 隔离单个服务器
*** 作系统级的虚拟化需要修改 *** 作系统内核, 它的优点是具有原始主机的性能
为什么虚拟技术如此重要
在了解当今主流的linux虚拟化技术之前, 我们先来看虚拟化技术的优点
从商业角度来看, 使用虚拟化技术有非常多的原因 不过大多是用于服务器加固 简单来说, 如果你能够在单个服务上虚拟多个系统, 这样少数的几台计算机显然能够节省耗电, 空间, 冷却和管理开支 考虑到确定服务器利用状况的困难, 虚拟化技术支持动态迁移(Live Migration) 动态迁移允许 *** 作系统能够迁移到另一台全新的服务器上, 从而减少当前主机的负载
虚拟化技术对开发人员来说 也非常重要 Linux内核占用了一个单一的地址空间, 这意味内核或任何驱动程序错误都能导致整个 *** 作系统停止工作 而通过虚拟化你可以运行多个 *** 作系统, 如果其中一个系统由于错误而宕机, Hypervisor和其它的 *** 作系统不会受到任何影响 这对调试内核来说就如同调试用户空间程序一样

虚拟化类型

全虚拟化(Full)

全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest *** 作系统和原始硬件,VMM在guest *** 作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处理。

图1全虚拟化模型

全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为Hypervisor需要占用一些资源

半虚拟化(Para)

半虚拟化是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest *** 作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为 *** 作系统自身能够与虚拟进程进行很好的协作。

图2半虚拟化模型

半虚拟化需要guest *** 作系统做一些修改,使guest *** 作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原 *** 作系统相近的性能。

虚拟化技术

KVM(Kernel-basedVirtualMachine)基于内核的虚拟机

KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(IntelVT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。

图3KVM虚拟化平台架构

Xen

Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通

讯,而且提供在所有Linux版本上的免费产品,包括RedHatEnterpriseLinux和SUSELinuxEnterprise

Server。Xen最重要的优势在于半虚拟化,此外未经修改的 *** 作系统也可以直接在xen上运行(如Windows),能让虚拟机有效运行而不需要仿

真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。

图4Xen虚拟化平台架构

QEMU

QEMU是一套由FabriceBellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速,QEMU能模拟至接近真实电脑的速度。

KVM和QEMU的关系

准确来说,KVM是Linux

kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是

远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚

拟化软件

QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出

可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两

大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是

KVM和QEMU的关系。

图5KVM和QEMU关系

服务器虚拟化技术以VMware公司的vSphere产品最有名。他通过在硬件平台上安装一层虚拟层,然后把一些老的应用迁到虚拟层之上。不同的应用共享底层硬件计算资源,提高了服务器的利用率,降低企业服务器投入成本。又因为虚拟层由多台物理机构成,一台物理机宕机并不会影响整个系统,这样就提高业务应用的稳定性。当然还有很多强大的功能就不一一列举了,可以到VMware的官网上了解一下。新的技术可以拓宽新的思路,对项目的把握上会更有帮助。祝学习愉快!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13347639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存