2.4云计算关键技术-虚拟化实现_第1页
2.4云计算关键技术-虚拟化实现_第2页
2.4云计算关键技术-虚拟化实现_第3页
2.4云计算关键技术-虚拟化实现_第4页
2.4云计算关键技术-虚拟化实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算-服务器虚拟化虚拟化技术服务器虚拟化服务器虚拟化就是将服务器物理资源抽象成逻辑资源,让一台物理服务器虚拟出几台甚至上百台相互隔离的虚拟服务器。不再受限于物理上的界限,而是让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)技术,一个物理网卡可以虚拟出多个网卡,分配给虚拟机使用,从而让每个虚拟机都能直接和物理网卡通信,获得接近物理网卡的网络性能。存储虚拟化存储虚拟化是指将物理存储资源通过虚拟化技术抽象成逻辑资源,集中到一个大容量资源池,管理员实行单点统一管理,通过逻辑层访问或者调整存储资源,提供更好的性能和易用性,提高存储利用率。存储虚拟化存储虚拟化就是将实际的物理存储实体与存储的逻辑表示分离开来,应用服务器只与分配给它的逻辑卷交互,不用关心其数据存储在哪个物理存储实体上。网络虚拟化网络虚拟化主要解决的是虚拟机构成的网络通信问题,是基于物理主机的网卡、交换机、路由器等网络设备资源虚拟化,完成虚拟机在同主机和跨主机之间的通信。网络虚拟化虚拟化网络架构网络虚拟化主要用在提供云服务的网络中。网络虚拟化在大规模的云计算环境,集群中物理服务器上运行多个虚拟机,每个虚拟机都有自己的独立虚拟网卡,需要通过网络虚拟化解决虚拟机之间的通信、虚拟机和外网的通信等问题,同时集群中的大规模虚拟机迁移是常见事情,通过虚拟机迁移提高资源利用率和容错性。Overlay技术是在网络层实现二层网络,多个物理机之间只要网络层可达就能组建虚拟的局域网,Overlay为虚拟机在数据中心任意网络位置之间无感知迁移迁移提供了非常好的基础。虚拟化软件目前市面较受欢迎的虚拟架构主要有KVM、XEN和VMware三大类别。

其中,KVM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论