虚拟机资源动态扩展的预研

上传人:aa****6 文档编号:54204284 上传时间:2018-09-09 格式:PPT 页数:36 大小:1.42MB
返回 下载 相关 举报
虚拟机资源动态扩展的预研_第1页
第1页 / 共36页
虚拟机资源动态扩展的预研_第2页
第2页 / 共36页
虚拟机资源动态扩展的预研_第3页
第3页 / 共36页
虚拟机资源动态扩展的预研_第4页
第4页 / 共36页
虚拟机资源动态扩展的预研_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《虚拟机资源动态扩展的预研》由会员分享,可在线阅读,更多相关《虚拟机资源动态扩展的预研(36页珍藏版)》请在金锄头文库上搜索。

1、虚拟机资源动态扩展的预研,陈 红 张瑜科,目录,G-Cloud平台特点 cpu的动态扩展 内存的动态扩展 硬盘的动态扩展 总结,G-Cloud平台的特点,它属于IaaS服务模式 CentOS + Eucalyptus 应用部署的形式 专属虚拟机(不同于PaaS形式) 自动化程度不高 环境搭建、虚拟机网络、应用部署、资源的动态扩展,G-Cloud平台的特点,不同的应用对不同资源的消耗和同一资源不同时间段的消耗是不同的。而基于IaaS的平台的应用部署是以专属虚拟机的形式部署,当虚拟机的资源不能满足应用的需求时,平台就要实时的增加分配给应用的资源,主要可以通过两种途径: 增加虚拟机的个数 对单台虚拟

2、机进行资源的动态伸缩,G-Cloud平台的特点,本文主要探讨对单台虚拟机进行资源的动态伸缩。对虚拟机的资源动态扩容,主要针对如下资源动态扩容 cpu memory 存储进行。研究方案采用分析当前主流的虚拟机监控对三种资源扩容的支持及支持技术方法进行预研。,G-Cloud平台特点 cpu的动态扩展 xen对cpu动态扩容的支持 virtualbox对cpu动态扩容的支持,cpu的动态扩展-xen,xenxen4.0增加的部分新功能: 更好的性能和可伸缩性,客户机支持64个虚拟CPU,主机支持1 TB RAM和128个物理CPU。 用户可以热插拔物理服务器上的cpu和内存。用户可以调整虚拟机的虚拟

3、硬盘的大小,不需要重启或者关闭虚拟机。 内存方面的改进。它采用了Transcendent Memory的也共享(Page Sharing)等新算法,以增强虚拟机管理程序在内存操作方面的性能和能力。 能够运行高性能、网络密集型、对延迟敏感的应用程序。,cpu的动态扩展-xen,xen的cpu调度算法 BVT(borrowed virtual time) SEDF(simple earlist deadline first) Credit调度算法,BVT、SEDF、Credit,vcpu,调度层,cpu,cpu的动态扩展-xen,BVT调度算法BVT是一种公平性优先的算法,它允许运行实时交互应用的

4、操作系统借用未来分配给它的时间片。每个vcpu将有一个权值代表获得处理器的份额,vcpu据此值来实现处理器的公平分享。 优点 将物理时间片公平、均匀地分配给各个Guest操作系统 能够满足I/O密集型和实时应用的低时延要求 在单CPU和多CPU环境下的调度开销都比较小 缺点 BVT不支持non-working-conserving 分配的物理时间片被确定,cpu的动态扩展-xen,SEDF(simple earlist deadline first)它将vcpu设定的一个最早截止期限作为调度因素。它的特点是:优先调度截止时间最早的vcpu动态优先级调度每个Guest操作系统设置一个三元组(s,

5、p,x) 优点 可以设置guest操作系统的优先级(p越小,优先级越高) 算法效率很高、实现容易 易于推算及计算 支持working-conserving和non-working-conserving 支持实时性较强的应用,cpu的动态扩展-xen,当系统负载较轻时,其处理器的利用率最高可达100% 缺点 调度参数不能随vcpu运行状况修改 只能对单个CPU进行SEDF调度,没有多CPU间负载平衡的控制,cpu的动态扩展-xen,Credit调度算法 按比例公平共享的非抢占式调度算法 每一个Guest操作系统设置二元组(weight,cap) 各个虚拟CPU分为两个队列,under队列和ove

6、r队列 优点 可以全局管理多个物理CPU 用SMP的方式将各个物理CPU分配给务个虚拟CPU,实现负载平衡 通过调节Guest操作系统的cap参数很好的实现Non-Working-Conserving(NWC)调度模式 缺点 不能保证实时性 该算法的全局负载平衡策略过于简单,易导致处理器因进程未就绪而空闲的情况,cpu的动态扩展-xen,xen支持的虚拟化环境 半虚拟化linux 全虚拟化linux、windows xen提供的VM的cpu动态扩容Xen提供了一套命令,动态的扩展VM的cpu资源,命令格式如下:xm vcpu-set Domain(ID) number(vcpu),在半虚拟化操

7、作系统和全虚拟化操作系统的环境下进行测试,结果如表:,cpu的动态扩展-xen,cpu的动态扩展-virtualbox,virtualbox支持cpu Hot-pluggingvirtualbox现在支持linux guest和Windows Server 2008 Datacenter Editions的热插拔,前者支持hot-add和hot-remove,后者只支持hot-add。 VBoxManage modifyvm “vmname” cpuhotplug on BoxManage controlvm “vmname” plugcpu 3 VBoxManage controlvm “v

8、mname” unplugcpu 3,G-Cloud平台特点 cpu的动态扩展 内存的动态扩展 xen内存动态扩展机制 virtualbox内存动态扩展机制 vmware内存扩展机制,内存的动态扩展-xen,xen的内存扩展机制 balloon Transcendent Memory,内存的动态扩展-xen,balloonBalloon机制从客户机回收内存返回给hypervisor,可以实时的减少分配给VM的内存而不需要重新启动虚拟机,再由hypervisor分配给需要内存的VM 特点 所耗时间较长 造成很多的内存碎片 host balloon多少/多快,内存的动态扩展-xen,Transce

9、ndent Memory,内存的动态扩展-xen,内存的动态扩展-xen,具体的流程 reclaim fallow memory/wasted guest collect it all into a poolprovide indirect access, strictly controlled by the hypervisor and dom0,内存的动态扩展-virtualbox,virtualbox内存扩展的机制 Memory Ballooning Page Fusion,内存的动态扩展-virtualbox,Memory BallooningMemory Balllooning是一种

10、可加可减的内存机制,让用户自行动态地调节虚拟机内存量。这个特性必须在 VirtualBox 里安装了Guest Addition才能用。VBoxManage controlvm “vm name” guestmemoryballoon n,内存的动态扩展-virtualbox,Page FusionPage Fusion目的是运行多个相同操作系统的Guest时减轻内存页面的负担,将内容相同的页面实现共用。VBoxManage modifyvm “vmname” pagefusion onVBoxManage modifyvm “vmname” pagefusion off,内存的动态扩展-vm

11、ware,vmware的内存扩展机制 Transparent Page Sharing Ballooning Hypervisor Swapping Memory Compression,内存的动态扩展-vmware,Transparent Page Sharinghypervisor周期性扫描内存页,生存hash值,并与hash总表匹配,一旦hash匹配就进行完整的比较,确认内存页完全一样,hypervisor就会删除重复的,以指针代替。,内存的动态扩展-vmware,Ballooning由于hypervisor无法得知虚拟机中哪些内存是空闲的,因此依靠VMware Tools在Guest

12、OS中的气球驱动(balloon driver)来回收内存。,Hypervisor Swapping当虚拟机启动时就会创建一个内存swap文件,文件大小为最大内存交换量(虚拟机配置内存-内存预留)。当上面两种回收方式不能满足需求时,hypervisor会进行swapping将虚拟机的物理内存交换到硬盘上。 缺点hypervisor并不知道将哪些内存交换好,Guest OS也不知道哪些内存被交换了。,内存的动态扩展-vmware,内存的动态扩展-vmware,Memory Compression如果swapping的内存页是可压缩的,则将其压缩后存储在压缩缓存区中,这样再次访问这个被swappi

13、ng的内存时仅需要解压缩,而不是从硬盘读取,这将快的多。不能压缩或压缩缓冲区满则会与硬盘进行真正的swapping。在ESX(i)的高级设置中可以设置压缩缓存的大小等。,内存的动态扩展-vmware,vmware内存机制使用策略 主机可用内存6% TPS(没有设置虚拟机内存限制时) ballooning和swapping(设置了内存限制) 主机内存接近4% ballooning ballooning和swapping 主机内存接近1%时 ballooning和swapping 禁止所有虚拟机申请更多的内存,内存的动态扩展-vmware,vmware内存的分配机制 Limit(限制) 限定了分配

14、给虚拟机物理内存的上限 Reservation(预留) 保证分配给虚拟机最低物理内存的下限 Shares(份额) 是当主机内存过量使用时,虚拟机可获得的物理内存是通过一个公式计算得到的。通过惩罚机制使得更需要内存的虚拟获得比例较高物理内存。,G-Cloud平台特点 cpu的动态扩展 内存的动态扩展 硬盘的动态扩展,硬盘的动态扩展,xenxen4.0提供了VM在无需关机的情况下动态扩展硬盘大小。 virtualbox和vmware它们都支持动态扩展虚拟硬盘。采用的机制是:用户设定以硬盘上限值虚拟硬盘慢慢增加,最后达到上限值,硬盘的动态扩展,virtualbox的硬盘动态扩展除了之前的设定一个很大

15、的上限值外,还可以通过新增虚拟硬盘的方法实现动态扩容。其步骤如下: 在设置-介质-添加虚拟硬盘,硬盘的动态扩展,进入guest系统,我的guest系统是xp.控制面板-管理工具-计算机管理-存储-磁盘管理找到新添加的磁盘,初始化磁盘,并添加为扩展磁盘分区。这样就添加了一块新的硬盘,解决了磁盘空间的问题。,总结,各种虚拟机监控对硬盘的动态扩容都有较好的支持。 各虚拟机间通过各种内存分配机制实现内存的动态伸缩,有效性主要与每种机制的效率有关。 对cpu的动态扩容,服务器上cpu的热插拔得到实现。对于操作系统和商用虚拟机,在软件上同样支持cpu的热插拔。Cpu的动态扩容是与操作系统是否支持热插拔有关的。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号