




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
云计算关键技术-虚拟化技术概述虚拟化技术传统特定用途虚拟化技术什么是虚拟化什么是虚拟化
虚拟化是一种方法,本质上讲是指从逻辑角度出发的资源配置方案,是对物理资源的一种抽象。抽象的结果是,在只有一台计算机硬件的情况下、通过虚拟化技术、可以让多个操作系统同时运行在此计算机硬件上,并且让这些操作系统都认为自己独享整个硬件,资源划分对操作系统是透明的。虚拟化的工作原理虚拟化的工作原理虚拟机监控程序VMM虚拟机监控程序(也称为Hypervisor)软件可有效分隔物理资源,并将这些资源分配给不同虚拟环境使用。
虚拟机监控程序可能位于操作系统的顶层,或者直接安装在硬件上。
虚拟机监控程序接管物理资源,并对它们进行划分,以便虚拟环境能够对其进行使用。虚拟化的特点服务器虚拟化虚拟化将硬件、操作系统和应用程序一同封装在一个可迁移的虚拟机档案文件中虚拟化的益处实现资源最优利用
通过虚拟化实现服务器整合,大大提高硬件利用率,增加了系统可管理性。
简化服务器安装过程,减少应急购买需求和节省维护成本HYPERVISORHYPERVISORHYPERVISORHYPERVISOR虚拟化的益处实现动态负载均衡
利用虚拟机与硬件无关特性的虚拟机迁移技术,按需分配资源。
HYPERVISORHYPERVISORHYPERVISOR虚拟化的益处系统自愈功能提升可靠性
实现经济高效、独立于硬件和操作系统的应用程序高可用性。服务器硬件故障时,可自动重启虚拟机,任何物理服务器均可作为虚拟服务器的恢复目标。HYPERVISORHYPERVISORHYPERVISOR虚拟化的益处节能减排
优化虚拟机资源的实际运行位置,实现耗电最小化,实现节能减排。HYPERVISORHYPERVISORHYPERVISOR休眠虚拟化与云计算虚拟化是一种技术,可让用户以单个物理硬件系统为基础,创建多个模拟环境或专用资源。云是一种能够抽象、汇集和共享整个网络中的可扩展资源的IT环境。简而言之,虚拟化是一项技术,而云是一种环境或服务。虚拟化与云计算虚拟化的主要功能是把单个资源抽象成多个给用户使用,而云计算则是帮助不同部门(通过私有云)或公司(通过公共云)访问一个自动置备的资源池。如果已经有虚拟基础架构,可以将虚拟资源集中在一起,使用管理和自动化软件对其进行编排,然后为用户创建自助服务门户,以此来创建云服务。虚拟化与云计算云计算-虚拟化简史虚拟化技术
虚拟化技术虚拟化技术主要用于云计算物理资源的池化,从而可以弹性地分配给用户。物理资源包括服务器(计算)、网络和存储。虚拟化发展简史VMware公司针对x86平台推出了商业虚拟化软件VMwareWorkstation1999VMWare发布ESX和GSX,是ESXi的前身2001FabriceBellard发布开源虚拟化软件QEMU2001EMC收购VMWare;微软收购Connectix公司获得VirtualPC虚拟化技术2003微软发布VirtualServer2005计划2004OpenVZ发布-Linux操作系统的容器化技术实现2005法布里斯·贝拉(FabriceBellard)虚拟化发展简史Intel和AMD对虚拟化技术的支持加入到x86体系结构的中央处理器中(IntelVT-x,AMD-V)
2006红帽将Xen作为RHEL的默认特性2006AmazonWebServices(AWS)开始以Web服务的形式向企业提供IT基础设施服务2006Sun公司发布了开源虚拟化软件VirtualBoxXen被Citrix(思杰)收购2007LinuxKernel2.6.20合入
虚拟化内核模块KVM2007微软发布了虚拟化产品Hyper-V2008以色列公司Qumranet开发的虚拟化内核模块KVM(Kernel-basedVirtualMachine,基于内核的虚拟机)虚拟化发展简史LinuxContainer(LXC)发布0.1.0版本,提供轻量级的虚拟化2008RedHat收购以色列公司Qumranet,使用KVM替换Xen2008NASA发布了可以IaaS云操作系统OpenStack2010Docker发布了第一个正式版本v1.02014Kubernetesv1.0发布2015IBM正式收购Redhat微软收购Github2018博通收购VMware2022参考资料计算机体系结构:量化研究方法(第5版)亚马逊的云原生故事/broadview2006/article/details/83780974亚马逊云服务列表/about-aws/regional-product-services/对话亚马逊AWSCTO:第一朵“Cloud”出现的故事https://36/p/1722717224961云计算传奇故事亚马逊误入云计算始末/view/9369606e2e60ddccda38376baf1ffc4ffe47e2d4.html#为何这么牛?亚马逊AWS简史/s?id=1591645839949053927&wfr=spider&for=pc云计算-虚拟机监控器及虚拟化模式虚拟机虚拟机(VM)是在一个硬件平台上模拟一个或者多个独立的和实际底层硬件相同的执行环境。每个虚拟的执行环境里面可以运行不同的操作系统(GuestOS)。GuestOS通过虚拟机监控器提供的抽象层来实现对物理资源的访问和操作。虚拟机监控器虚拟机监控器(VirtualMachineMonitor,VMM),负责为虚拟机统一分配CPU、内存和外设,调度虚拟资源。当VMM与操作系统“合二为一”时,一般称作Hypervisor。虚拟化模式根据VMM(虚拟机监控器)在物理系统中的位置,将虚拟化模式分为裸机模式、宿主机模式、混合模式三种(1)裸机模式虚拟化模式(2)宿主机模式虚拟化模式(3)混合模式虚拟化的分类不同的虚拟化模式,并不是根据同一个标准来分类。(1)从应用的角度来分类可分为操作系统虚拟化、应用程序虚拟化、桌面虚拟化、存储虚拟化、网络虚拟化等等。(2)从应用模式的角度来分类从应用模式的角度可分为一对多、多对一、多对多三类。(3)从硬件资源调用模式来分类可分为全虚拟化、半虚拟化、硬件辅助虚拟化三类。等等。(4)从运行平台的角度来分类可分为基于X86平台和非X86平台的虚拟化内存虚拟化VMM采用分块共享的思想来虚拟计算机物理内存。将机器内存分配给虚拟机,并维护机器内存和虚拟机所见的“物理内存”的映射关系,使这些内存在虚拟机看来是从0开始、连续的物理地址空间。I/O设备虚拟化模式I/O全虚拟化I/O半虚拟化I/O直通虚拟化I/O设备虚拟化模式-KVMI/O全虚拟化I/O半虚拟化I/O直通虚拟化虚拟化工具个人PC上使用比较多的虚拟化VMware、VirtualBox企业级服务器上虚拟化工具,VMware服务器端虚拟化工具ESXI,KVM和Xen。linux服务器首选KVM,国内的阿里和国外的AWS都是使用的XEN。Linux安装XENLinux安装XENDomain0是做管理用的虚机,DomainU是用户用的虚机在Domain0里面跑物理的驱动通过Domain0将这个物理的设备虚拟化成多个设备供其他的虚机(DomainU)去使用,所以说Domain0和Hypervisor一起实现了外部设备的虚拟化。Xen和KVM虚拟化XEN虚拟化结构示意图KVM虚拟化结构示意图微软的HyperVisor叫做Hyper_V跟Xen比较类似。VMware云计算操作系统vSphere架构
参考资料I/O虚拟化的三种形式/p/7a656326c439虚拟化技术的历史/view/e310bcccd5d8d15abe23482fb4daa58da0111c0f.htmlLinuxKVMIO设备虚拟化的三种方式/wjw7869/article/details/52020937云计算-服务器虚拟化虚拟化技术服务器虚拟化服务器虚拟化就是将服务器物理资源抽象成逻辑资源,让一台物理服务器虚拟出几台甚至上百台相互隔离的虚拟服务器。不再受限于物理上的界限,而是让CPU、内存、I/O设备、磁盘等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力。CPU虚拟化CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有优化过的指令集来控制虚拟过程,通过这些指令集,虚拟机监控器(VMM)会很容易提高性能。CPU的架构有X86、ARM等。X86架构(TheX86architecture)是微处理器执行的计算机语言指令集。X86服务器又称CISC(ComplexInstructionSetComputer-复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片的服务器。大多数CPU厂商(如AMD,Intel)生产的就是这种处理器。CPU虚拟化服务器虚拟化就是将服务器物理资源抽象成逻辑资源,让一台物理服务器虚拟出几台甚至上百台相互隔离的虚拟服务器。不再受限于物理上的界限,而是让CPU、内存、I/O设备、磁盘等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力。X86服务器X86架构CPU特点CPU都会划分为用户态和内核态。
x86CPU更是细分为Ring0~3四种执行状态。Ring0核心态(KernelMode)Ring3用户态(UserMode)X86架构CPU特点Ring0核心态是操作系统内核的执行状态(运行模式),运行在核心态的代码(OS)可以无限制的对系统内存、设备驱动程序、网卡接口、显卡接口等外部设备进行访问。Ring3用户态(UserMode)
所有的应用程序都应该运行在用户态中。当应用程序需要访问外围硬件设备时,CPU会通过特别的接口去调用核心态的代码。
X86架构CPU虚拟化x86架构的虚拟化需要在操作系统(运行于最高权限的ring0)之下放置一个提供共享资源的虚拟化层(Hypervisor)来创建和管理虚拟机。虚拟化在这里就遇到了一个难题,因为宿主操作系统是工作在ring0的,客户操作系统(guestOS)就不能工作在ring0了,但是它不知道这一点,以前执行什么指令,现在还是执行什么指令,但是没有执行权限,这时就会出现“非法指令”等异常错误信息。这时,虚拟机就要通过VMM或Hypervisor来避免上述错误的发生,根据其实现原理的不同,共有三种技术来实现x86架构CPU敏感指令和特权指令的虚拟化,常用虚拟化技术内存虚拟化内存虚拟化涉及到对系统物理内存的共享和动态地为虚拟机分配内存,内存虚拟化的效率将对虚拟机的性能产生重大影响;而现代计算机通常都采用段页式存储管理、多级页表等复杂的存储体系结构,又给高性能内存虚拟化的设计带来很大挑战。内存虚拟化云计算服务中在虚拟机中运行的客户操作系统(GuestOS)的虚拟内存和操作系统的虚拟内存不同,它需要通过虚拟化技术来对virtualmemory(虚拟内存)进行虚拟化。为了在一个系统上运行多个虚拟机,还需要另外一层的内存虚拟化。也就是说,MMU需要被虚拟化来支持虚拟机系统。内存虚拟化虚拟内存
虚拟内存访问:CPU访问主存的时候会将一个虚拟地址(virtualaddress)被内存管理单元(MemoryManagementUnit,MMU)进行翻译成物理地址PA(physicaladdress)才能访问。地址转换带页表虚拟内存地址转换物理内存地址缺页转换页表与虚拟内存内存虚拟化在引入虚拟化技术后,内存地址空间就变得复杂了,客户机(Guest)和宿主机(Host)都有自己的地址空间。客户操作系统(GuestOS)本身有虚拟地址和物理地址。宿主操作系统(HostOS)也有虚拟机地址和物理地址。那虚拟机如何访问到物理机上的物理地址就是内存虚拟化技术。内存虚拟化内存虚拟化主要通过VMM采用分块共享的思想来虚拟计算机的物理内存。VMM将机器的内存分配给各个虚拟机,并维护机器内存和虚拟机内存之间的映射关系,这些内存在虚拟机看来是一段从地址0开始的、连续的物理地址空间。在进行内存虚拟化后,内存地址将有物理地址、中间物理地址和虚拟地址三种地址。内存虚拟化虚拟地址和物理地址内存虚拟化虚拟机地址转换常用虚拟化技术为了在一个系统上运行多个虚拟机,还需要另外一层的内存虚拟化。也就是说,MMU需要被虚拟化来支持虚拟机系统。常用虚拟化技术软件方式:通过软件实现内存地址的翻译,比如Shadowpagetable(影子页表)技术常用虚拟化技术硬件实现:基于CPU的辅助虚拟化功能,比如AMD的NPT和Intel的EPT技术I/O设备虚拟化为了满足多个客户机操作系统对I/O外部设备访问的需求,VMM必须通过I/O虚拟化的方式复用有限的I/O外部设备资源。所谓的虚拟I/O设备就是由VMM创建的,提供给客户操作系统进行I/O访问的虚拟I/O设备。I/O外部设备虚拟化包括虚拟芯片组;虚拟PCI总线布局;虚拟系统设备:PIC、IO-APIC、PIT、RTC;虚拟基本输入输出设备:显卡、网卡、硬盘。I/O设备虚拟化VMM系统针对I/O设备虚拟化主要有全虚拟化、半虚拟化、直接I/O访问等设计思路。I/O设备虚拟化全虚拟化I/O设备虚拟化全虚拟化I/O设备虚拟化半虚拟化I/O设备虚拟化I/O直通虚拟化技术就是将宿主机(host)中的物理PCI/PCIe设备直接分配给GuestOS使用,虚拟机独占这个PCI/PCIe设备,利用效率几乎等同于将硬件插到了虚拟机的主板扩展槽里一样。I/O设备虚拟化硬件辅助虚拟化I/O设备虚拟化MMU(MemoryManagementUnit),即内存管理单元,是CPU芯片上的专用硬件,主要功能包括将用户访问的虚拟地址翻译为实际的物理地址,以便CPU对实际的物理地址进行访问,实现对一些虚拟地址进行访问权限控制,对系统的物理内存资源进行管理。Intel为支持虚拟机而设计的I/O虚拟化技术DMARemapping出现。DMARemapping硬件会把DMA地址翻译成物理内存地址,并检查访问权限等等。负责DMARemapping操作的硬件称为IOMMU。常用虚拟化技术IOMMU常用虚拟化技术I/O直通虚拟化技术
I/O直通虚拟化技术需要硬件平台具备I/O透传技术,目前与此相关的技术有IOMMU(IntelVT-d,PCIe之SR-IOV等),旨在建立高效的I/O虚拟化直通道。常用虚拟化技术IntelVT-d技术在Intel平台上的设备直接分配(Deviceassignment\DevicePass-Through)是VT-d(IntelVirtualizationTechnologyforDirectedI/O),VT-d是在VT-X的基础上对硬件辅助虚拟化的扩展。VT-d是一个位于CPU、内存和I/O设备之间的硬件设备。
IntelVT-d把设备访问的虚拟地址转化成物理地址,在芯片组里引入了DMA重映射硬件(DMARemapping),以提供设备重映射和设备直接分配的功能。I/O设备虚拟化通过SR-IOV(SingleRootI/OVirtualization)技术,一个物理网卡可以虚拟出多个网卡,分配给虚拟机使用,从而让每个虚拟机都能直接和物理网卡通信,获得接近物理网卡的网络性能。存储虚拟化存储虚拟化是指将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶楼承包合同
- 土石方工程开挖施工合同
- 企业人力资源数字化转型战略规划设计
- 2025年银川货运车从业资格证考试内容
- 《Scratch初体验》导学案
- 109-指挥调度系统
- 节温器战略市场规划报告
- 修路材料采购合同范例
- 个人理财心得体会
- 单位施工合同范本
- 2025年全国高考体育单招政治时事填空练习50题(含答案)
- 城市社会学课件
- GB/T 9788-1988热轧不等边角钢尺寸、外形、重量及允许偏差
- 高中语文基础知识手册薛金星
- 轮毂电机驱动电动车悬架和转向系统设计与性能匹配
- 二年级第二学期体育知识结构图
- CASS勘测定界操作指导方案
- 中国商品条码系统注册登记表规范填写
- 湘科教版小学信息技术四年级下册全册教案.doc
- JJG 840-1993 函数信号发生器检定规程
- 胃疡(慢性消化性溃疡)中医护理方案
评论
0/150
提交评论