




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
KVM虚拟化技术方案介绍,本章主要讲解KVM架构以及KVM相关原理,学完本课程以后,您将能够:理解KVM架构理解KVM虚拟化原理理解KVM部分特性,背景介绍KVM简介UVP中KVM架构CPU虚拟化内存虚拟化I/O虚拟化KVM特性功能介绍,背景介绍,KVM(Kernel-basedVirtualMachine)开源全虚拟化方案支持体系结构x86(32位,64位)、IA64、PowerPC、S390依赖x86硬件支持:IntelVT-x/AMD-V内核模块,使得linux内核成为hypervisorKVM历史2006年10月以色列公司Qumranet发布KVM2006年12月KVM合入内核(Linux2.6.20rc)2007年2月Linux2.6.20正式版发布2008年9月Redhat以1.07亿美元收购Qumranet2009年9月RHEL5.4开始支持KVM(同时支持Xen)2010年11月RHEL6.0之后仅支持KVM云平台对KVM支持OpenStack,Eucalyptus,AbiCloud等同时支持KVM和Xen,背景介绍KVM简介UVP中KVM架构CPU虚拟化内存虚拟化I/O虚拟化KVM特性功能介绍,UVP虚拟化架构,KVM架构vsXen架构,虚拟化管理接口逻辑分层(libvirt、qemu、kvm),Libvirt与KVM关系,VM与Hypervisor关系,libvirt、qemu、kvm部件的关系,背景介绍KVM简介UVP中KVM架构CPU虚拟化内存虚拟化I/O虚拟化KVM特性功能介绍,CPU虚拟化原理-虚拟化问题,Native操作系统对CPU的认识与管理达成以下两点认识:CPU资源永远就绪OS对CPU具有最高权限引入虚拟化后出现的问题:多个VM之间共享CPU资源部分指令只有hypervisor有权限使用,CPU虚拟化原理-CPU共享,如何让多个VM共享CPU?VM使用vCPU,hypervisor将vCPU调度到PCPU上运行,实现物理CPU资源的分时复用,VCPU,VCPU,VCPU,VCPU,GuestOS1,GuestOS2,PCPU,vCPU调度模型,CPU虚拟化原理-权限管理,定义敏感指令敏感指令:经典的虚拟化方法主要使用“特权解除”(Privilegedeprivileging)和“陷入模拟”(Trap-and-Emulation)的方式。即:将GuestOS运行在非特权级(特权解除),而将VMM运行于最高特权级(完全控制系统资源)。解除了GuestOS的特权后,GuestOS的大部分指令仍可以在硬件上直接运行,只有当执行到特权指令时,才会陷入到VMM模拟执行(陷入模拟)。,CPU虚拟化原理-VT-x,VMXRootOperation,VMXNon-RootOperation,vmlaunch/vmresume,VMExit,VMX:VirtualMachineExtensions,KVMCPU虚拟化,三种运行模式用户态模式内核态模式客户模式,Lightweightexit,Heavyweightexit,虚拟化层的指令都运行在root模式,vmexit和vmentry之间的指令周期可以当作虚拟化层开销。,Root-NonRoot切换开销,VMM处理开销,NonRoot,Root,物理机,虚拟机,虚拟化层开销,背景介绍KVM简介UVP中KVM架构CPU虚拟化内存虚拟化I/O虚拟化KVM特性功能介绍,内存虚拟化原理-虚拟化问题,Native操作系统对内存的认识与管理达成以下两点认识:内存都是从物理地址0开始的内存都是连续的引入虚拟化后出现的问题:从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。,内存虚拟化原理-虚拟化问题,MachinePhysicalMemory,VirtualMachineMonitor(VMM),GuestPhysicalMemory,5,1,3,2,4,3,2,1,4,5,VM1,VM4,VM3,VM2,KVM内存虚拟化-MMU虚拟化(1),虚拟机内存分配Guest的物理内存在kvm-qemu进程虚拟地址空间中Guest物理内存页由host按需分配MMU虚拟化(两种)软件:ShadowPageTable硬件:EPT(Intel),GPA:GuestPhysicalAddressEPT:ExtendedPageTableMMU:memorymanagementunit,KVM内存虚拟化-MMU虚拟化(2),MMU虚拟化概念,KVM内存虚拟化-影子页表,GuestPageTable设为写保护,以保持Guestpagestable与影子页表之间的一致性;如果GuestPTE的Dirty位未设置,则删除影子PTE的可写位。,KVM内存虚拟化-EPT/NPT,背景介绍KVM简介UVP中KVM架构CPU虚拟化内存虚拟化I/O虚拟化KVM特性功能介绍,设备拓扑,设备语义,I/O虚拟化-设备拓扑、设备语义,设备发现和配置BIOS或OS扫描发现设备,并分配资源PCI配置空间软件与设备通信PortIOMMIO设备和内存间的数据传输DMA设备事件通知中断,I/O虚拟化原理-虚拟化问题,I/O虚拟化需要解决两个问题设备发现:需要控制各虚拟机能够访问的设备;访问截获:通过I/O端口或者MMIO对设备的访问;设备通过DMA与内存进行数据交换;,KVMI/O设备虚拟化-全模拟,用软件完全模拟一个特定的设备保持一样的软件接口,如:PIO、MMIO、DMA、中断等可以模拟出跟系统中的物理设备不一样的虚拟设备每次I/O操作需要多次上下文切换VMHypervisorQemuHypervisor软件模拟的设备对不影响虚拟机中的软件栈原生驱动,KVMIO虚拟化改进-virtio,高效的标准化pvdriver兼容PCI:设备发现,配置,IRQ支持多种虚拟化平台:Kvm,lguest设备种类:Virtio-blk,virtio-net,virtio-balloon,virtio-console、virtio-scsi、virtio-9p,虚拟出特殊的设备特殊的设备驱动,包括VM中的Front-end驱动和主机上的Back-end驱动Front-end和Back-end驱动之间的高效通信减少VM和主机的数据传输开销共享内存-(VirtRING)BatchedI/O异步事件通知Eventfd轻量级进程间“等待/通知”机制,KVMIO虚拟化再次改进-vhost,Vhost-blk架构,(1)vhost-block、vhost-net、vhost-scsi(2)从VM来的io请求会被直接map成host上的bio,可以有效减少虚拟机中I/O的执行,性能更好,前端完全兼容vhost。,vhost-net,Vhost-netVirtio网络后端移到内核中高效,背景介绍KVM简介UVP中KVM架构CPU虚拟化内存虚拟化I/O虚拟化KVM特性功能介绍,KVM特性-QoS,Cgroups是controlgroups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(processgroups)所使用的物理资源(如:cpu,memory,IO等等)的机制。Cgroups(ControlGroups)Linux内核对进程进行资源控制设置资源配额,建立分组将进程加入资源配额分组价值:虚拟机QoS资源管理资源控制类型CPU资源(用于控制cgroup中所有进程可以使用的cpu时间片)内存资源(可以设定cgroup中任务使用的内存限制)磁盘IO带宽(基于权重和速度控制磁盘IO)网络带宽(控制网络带宽),KVM特性-THP,TransparentHugepage页大小2MB提高tlb命中率Tlb每一项访问范围4k2M减少访存时间tlb不命中时访存次数(4次3次)申请大内存区,效率更高访问大内存区,减少页表项大小提高cpucache效率透明对使用者完全透明,不依赖任何库大小页混合使用Libhugetlbfs需要设置兼容ksm,swap需要共享或swap时,拆分成4k小页面兼容EPT/NPT,兼容影子页表,KVM特性-KSM(1),KSM(KernelSamepagesMerging)扫描内存页面,相同内容页面只读共享也支持普通进程(非虚拟机)对于2M大内存页若有可共享4k页,大页拆成4k小页共享Windows零页内存价值:节省内存,提高虚拟机密度Tradeoff:CPUvsMemoryspace扫描内存消耗cpuksmtuned:设置规则开启或关闭内存扫描启动扫描规则:空闲内存10%或2G与不启用ksm相比:访存稍慢,KVM特性-KSM(2),merge,cow,Originstate::,Mergestate:,KVM特性-VhostoverSR-IOV,SR-IOV设备直连,VhostoverSR-IOV,KVM高级特性-本地存储热迁移,本地存储与vm热迁移虚拟化平台大多支持VM热迁移但要求共享存储支持SAN等共享存储价格昂贵许多中小企业没有共
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机电设备安装电气安全防护方案
- 水泥与混凝土配比优化方案
- 水稻贪青课件
- 机电设备安装气动控制系统方案
- 园区创新资源对接方案
- 水电站税务知识培训课件
- 支气管哮喘口腔医10课件
- 水电收费课件
- 2025版海洋工程设计与施工合同样本
- 2025版国际金融合作贷款合同范本(含信用证)
- MissionPlanner地面站操作使用文档
- 中级采气工操作技能鉴定要素细目表
- 油水气井带压井作业操作规程及工艺技术要求
- (33)-钠钾泵细胞生物学
- 配电室巡检记录表
- 紧急宫颈环扎术的手术指征及术后管理
- GB/T 242-2007金属管扩口试验方法
- 政治理论水平任职资格考试题库
- 路基压实度汇总表
- 【食品生产加工技术】香肠的加工技术
- 贫困户访谈记录
评论
0/150
提交评论