第二部分 第3章 vSphere分布式资源调度 DRS动态配额_第1页
第二部分 第3章 vSphere分布式资源调度 DRS动态配额_第2页
第二部分 第3章 vSphere分布式资源调度 DRS动态配额_第3页
第二部分 第3章 vSphere分布式资源调度 DRS动态配额_第4页
第二部分 第3章 vSphere分布式资源调度 DRS动态配额_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 DRS动态配额在本节中,我们将解释DRS动态配额和资源管理的概念。了解动态配额和资源池,以及资源分配设置,可以让您更容易的解决DRS行为的相关故障,并为您的虚拟机获得最佳的性能。在深入DRS和本地主机资源管理之前,我们需要退后一步,掌握动态资源配额。动 态配额定义了理想资源的可用量目标,DRS和本地调用这个目标,它取决于虚拟机或者可用资源或者不可用资源,配额包含静态要素和动态要素,静态要素基于用 户提供的资源规范,动态因素基于估算需求和系统争用级别,虚拟机的每个资源类型(CPU和内存)将有单独的动态配额目标。作为管理员,通过设置资源分配策略(保留,份额和限制),可以影响到动态

2、虚拟机的配额。资源分配设置不仅影响虚拟机的性能,而且还影响其它虚拟机的性能,因此,重要的是要了解如何计算动态配额,以及虚拟机在不引入拒绝服务或者其它环境时,如何配置虚拟机。无论是动态还是静态元素,本章节的后面会详细解释,现在,让我们开始为计算动态份额来设计架构。资源调度架构ESXi 主机的VMkernel运行着多个本地资源调度器,包括CPU调度和内存调度。DRS引入了全局调度,从而有效的创建了一个二层调度,用来负责分配本地资源和群集资源。图51:DRS和本地调度DRS调度全局调度负责分配群集资源,在接收到有效资源和虚拟机的需求时,DRS确定每个虚拟机的动态配额。如果群集是一个大型的主

3、机,但是依赖主机级别调度来实现DRS资源池和虚拟机的资源设置,DRS调度会计算出理想的CPU和内存的配额,资源池在第13章进行扩充说明。有趣的情况是当资源池包含的虚拟机运行在不同的主机上,本地主机的资源调度程序分配资源给虚拟机,需要在群集资源池的设置和本地主机资源池的设置之间进行转换。DRS通过镜像解决了群集每个主机的资源池树,映射适当的资源给每个资源池节点,本地资源调度的位置在/host/user目录,导致DRS资源池树在每个包含资源池的主机上逐层重启/host/user 。图52:映射群集RP树为ESXi主机RP树DRS发送资源池设置到每一个主机本地的资源池树,与主机上所有活动的

4、虚拟机的动态份额保持一致,DRS修剪资源池树,发送给只运行在该主机上的虚拟机,在图53中,ESXi-02上的资源池1内没有一台虚拟机是活动的,因此,ESXi-02上不存在资源池树。图53:通过主机本地资源池(RP)生成树划分资源池(RP)资源级别本地调度如果用户已经在主机上建立了树,本地调度对待本地主机资源池树与其相同,接下来资源分配给资源池树,合适的时候本地主机在虚拟机间调度计算关于树和流量资源的动态配额,如果必要,本地主机资源调度可以增加资源,如果资源可用,可以快速响应需求的变化。动态配额目标在非过分使用的群集中正常运作,虚拟机的动态配额可能会发生波动,这取决于其活性,在非过分使用的群集中

5、,当虚拟机接收所有的资源需要人为的限制,分配额外资源需要本地主机的计算调度,这样本地主机的调度可以尽可能的避免不必要的开销,从而较少的限制资源分配策略。动态配额目标随着虚拟机需求的增长而增长,换句话说,虚拟机配置最大规格(CPU和内存大小)比配置资源利用率更高效。动态配额目标由需要和使用指标组成,通过整合计算需求指标,本地主机调度和DRS了解到虚拟机需要多少资源实际接收了多少资源。DRS使用动态配额计算指标是指CPU的活动和内存的活动,CPU活动指标由主机-本地调用出口,包括%允许+%准备,本地主机调度包括活动时间里的一部分准备时间,这取决于CPU的特性,如超线程和电源管理。内 存活跃出口是通

6、过本地主机内存来调用的,这是DRS用来确定内存份额的主要指标,活动内存代表这工作的虚拟机,标志着RAM中活动页面的数量,通过使用工 作集评估,确定哪些活动的内存页被虚拟机使用,哪些活动页处于空闲状态,为了适应突然的工作量,25%的空闲内存是允许的,活动内存是动态配额的一部分, 还包括了虚拟机的内存开销。图54:动态配额目标让 我们用一个8GB的虚拟机作为例子,来看下DRS如何计算动态资源配额,这个虚拟机上运行的客户机操作系统自从它启动后,已经触及其内存的50%,但其只 有20%的内存是活动的,这意味着,虚拟机已经消耗了4096MB内存中有活动内存1638.4MB,现在来计算空闲消耗内存,活动内

7、存1638.4MB 是从消耗内存中减去的,4096MB,导致总计2457.6MB的空闲内存,默认DRS空闲25%的内存,即614.4MB,虚拟机有90MB的预留内存 开销,DRS使用负载均衡计算空闲内存如下:1638.4 MB + 614.4 MB + 90 MB = 2342.8 MB.图55:动态内存配额争用争用会影响动态配额,争用,一些时候我们称之为过量,可以采取各种形式和形状,如果虚拟基础架构设计比较合理,长期争用是不会发生的。但是,短期的争用可能造成资源使用率迅速增加,导致临时需求超过

8、可用资源。主 机故障切换,启动风暴,应用调度,负载相互关系和负载同步都会引起争用,负载的相互关系是指不同的虚拟机之间运行的负载关系,如果一个事件启动多个负载, 例如,前端WEB服务器的搜索查询,这可能导致堆栈和后端的负载增加,同步往往引起负载相互关联,但也存在由于用户的活动,如早上启动程序进行登录、检测 邮件和数据库连接。当出现资源争用,预留和共享资源的设置都会影响到配额。DRS动态配额与本地主机配额尽管DRS和本地主机调度都来调度计算虚拟机的动态配额,但它们不会交换这些计算,DRS为目标资源池树每周期一次(默认5分钟)计算平均值和峰值的需求,而主机-本地调度为每个不同的主机-本地在每个调度期

9、内计算份额。资源分配设置资源分配设置不仅可以设置虚拟机,还可以设置资源池,第13章介绍了资源池和资源的分配策略,本节介绍虚拟机分配设置的功能和影响,其它资源池级别的策略则更进一步的话题讨论。表8:资源分配设置属性详述预留(Reservation)保证为该虚拟机分配的最小使用量份额(Shares)同级虚拟机根据其预留量和限制量限定的相对份额值共享资源限制(Limit)分配该虚拟机的最大使用量图56:资源划分和动态配额预留(Reservation)预留是用来保证虚拟机的可用物理资源量,当出现争用时,本地主机调度来确认需要多少资源,通过预留,调度无法回收保护资源,换句话说,一个预留创建一个最小的动态

10、配额目标,该配额至少和预留一样大。例如,在内存争用期间,本地主机内存调度对比虚拟机的内存利用率,如果利用率高于内存配额,内存balloon、压缩或交换,直到物理内存使用率低于配额,当达到目标设置的预留值,资源停止回收,因为它要保证最低的配额。继 续之前内存的例子,如图54所示,虚拟机具有动态配额 2342.8MB(1638.4 MB + 614.4 MB + 90 MB = 2342.8 MB)。1024MB是预留设置,导致最低的配额目标 为1024MB,如果发生争用,当重新计算新的目标时,主机

11、-本地内存调度将会采取最低配额,并从虚拟机回收内存到其最低配额。图57:最低配额资源池预留级别预 留可以存在虚拟机级别和资源池级别,预留资源池的资源和预留虚拟机的资源表现不同,资源池的预留资源被分配到活动虚拟机,不归属它的资源在资源池和虚拟机 之间传输,由群集-级别资源池预留来分配主机-本地的资源池树。通过主机-本地资源池树预留给虚拟机的资源可用,并依靠动态配额在它们之间流动,换句话 说,资源池级别的预留设置作为了动态目标,在资源池的内部更新每次使用率和需求的改变虚拟机级别预留行为虚拟机级别预留比资源池级别的预留少一些动态特性,在此之上,对其它虚拟机的可用资源来说CPU的预留比内存的预留效果不

12、同。虚 拟机级别的(静态)的预留设置定义了该虚拟机的最低配额,在争用过程中,本地主机调用多于虚拟机最低配额的资源,不像资源池级别的预留,是根据虚拟机的利 用率和需求来提供资源,虚拟机级别的预留设置是静态的,意思是说虚拟机在任何时候都有权拥有这些资源,不管资源是否使用中。这会影响其它虚拟机的资源可用 性。在预留资源和使用资源之间存在着差异,预留是动态配额计算的一部分,虚拟机能够使用或多或少的预留资源,虚拟机级别配额的静态特性影响着共享资源,不算使用和需求,预留资源是静态的,本地主机调度不允许在虚拟机的动态配额以外回收空闲资源。但 是什么时候虚拟机命中全部的预留?流行的观点是当虚拟机变得活跃,虚拟

13、机将立即命中全部的预留,在虚拟机级别上预留的内存,仅仅是预留用来保护的物理内 存,物理内存只被分配给虚拟机的虚拟内存访问。然而,在实践中,它依赖于虚拟机内部运行的客户操作系统,在系统启动期间,Windows在引导期间将把每 一页置零,在引导期间命中全部的预留,但是Linux,只访问它需要的内存页,例如,一个4GB的Linux的虚拟机配置了2GB的内存预留,当访问需要 1GB,只剩下1GB的预留分配内存,其最低配额是1GB,一个Windows的虚拟机在完成启动引导后也需要最低2GB的内存配额。幸运 的是,这并不全是坏事,预留资源的共享决定了工作量的灵活性:CPU指令是短暂的,并快速完成,处于这个

14、原因,CPU调用允许其他虚拟CPU使用物理 CPU,虽然它还没有激活,如果虚拟机请求的资源已激活,squatter可以快速在队列中取消预订,物理内存保留数据,如果内存空间被租借到其它的虚 拟机临时使用,如果合法拥有者需要使用这部分内存空间,这些数据需要被移动,清理这些数据需要大量的时间,可能不公正的延迟虚拟机的激活,为了避免这种情 况,内存不会调度预留物理内存借给它们临时使用。接入控制和动态配额经常误认为动态配额和接入控制是独立的机制,它们都受到预留定义的影响。接入控制的原理是激活已经上电的,与预留资源沟通哪些资源有效(所有的系统资源-虚拟机的全部预留资源),上电成功后只有接入控制成功,而在虚

15、拟机操作期间动态配额是活动的,将不会利用回收可用资源保护预留资源。换言之,接入控制存在于虚拟机第一个生命周期阶段(预上电时),而动态配额控制在虚拟机生命周期运价阶段中。份额(Share)份额确定了同级别下虚拟机和资源池的相对优先级,决定了如何划分资源(总资源-总预留)相对优先级份额与池相关,意味着同一父资源池下的子资源池之间相比较的数量,一直以来,它们意味着关联优先级,绝对值并不重要,比较2:1或者20 000:10 000是一样的结果,在第13章会在群集中使用份额。CPU份额当 虚拟机遵从了最低配额后,CPU的份额将用来划分可用的物理CPU资源,如果虚拟机不使用预留的CP

16、U时间,未使用的CPU时间会被其他的虚拟机使用,为 正确分配CPU时间值,CPU调度计算每个份额的MHz值,这个指标通过CPU调度被用来识别哪些虚拟机的配额领先,哪些虚拟机的配额落后,哪些没有完全 的利用配额。当一个虚拟机要运行,CPU调度识别虚拟机的进展,并将其放置其中一个队列,如果虚拟机落后了配额,它将被放置到主调度队列, 如果超过了配额,它将被放置到额外队列,在调度之前,CPU调度将在主要队列中对比每份额的MHz值,并选出最低的份额值的虚拟机,如果没有虚拟机在主队 列,调度将从额外队列中选择虚拟机。每份额计算公式如下:MHzPerShare = MHzUsed

17、0;/ Shares虚拟机目前在MHz中测量出的当前可利用的MHz,而份额表示当前虚拟机配置的份额数量。例如,如图58:VM1用了2500 MHz,有2000份,导致每份额值为1.25,VM2消耗了2500MHz,但是有1000份,导致没份额值为2.5,由于VM1的每份额值低,它将在队列的前面。图58:顺序优先级如果虚拟机与最低每份额值决定不利用周期,周期可以被分配给下一个较低每份额值的虚拟机。预留覆盖份额,保护物理资源,无论资源池中有多少份额,这意味着,虚拟机可以一直在预留中使用特定的CPU周期,即使虚拟机有一个较高的每份额值。例如:三个虚拟机在资源池中都占有8GHz表9

18、:份额和预留预览VM1运行着内存密集型的应用程序,并且不需要很多CPU周期,VM2和VM3运行的是CPU密集型的应用程序,VM1运行了500MHz,2000份额,每份额0.25,1000份额支出给VM2,加上预留的2500MHz在VM2上,VM3有2000份额,但是虚拟机电源关闭了,因为VM2需要CPU周期,CPU调度分配CPU周期取决于它的预留,导致在每份额的值为2.5(2500/1000),此时资源池中仍由5000MHz可用。图59:因为预留VM2 回收MHz在 下一个场景中,VM3刚通电,并落后于配额,虚拟机的CPU调度对比每份额的值,选择最低每份额的虚拟机,第一步,VM3每份

19、额为0,能够回收到 0.25,从VM1,第二步,VM1不需要添加CPU周期和配额回收,在考虑提供调度CPU周期给VM2之前,VM3能够现在回收CPU资源只到每份额值 等于2.5。VM3拥有2000份额,意味着它能够分配4500MHz,达到每份额的值为2.5(4500/2000),考虑VM2的分配剩下500MHz,CPU调度分配4500MHz去补偿分配之前的场景论述了,CPU份额在分配CPU周期中扮演着非常重要的角色。内存份额为了保证和更新虚拟机的内存分配,内存调度每15秒调用一次来重新计算统计动态配额内存。该指标被推送到DRS,用来计算跨群集主机的资源并进行分配,但是,主机-本地内存调度负责分

20、配资源,正如之前所提到的,如果资源不存在争用,每个虚拟机都被允许分配额外资源。动态配额将每15分钟计算一次,但是虚拟机被允许超过动态配额,并且在需要的时候可以分配到额外的资源。如果发生争用,内存嗲用基于虚拟机的动态配额回收内存,ESXi通过计算空闲的内存状态(MinFreePct)来决定争用级别,基于级别争用和空闲内存状态,内存调度决定哪些虚拟机可以使用重新回收机制。在vSphere 4.1中,MinFreePct被定义为6%,其它内存的状态被定义为MinFreePct的百分比。表10:MinFreePct软、硬、低状态的百分比当今的服务器配置,为了触发内存回收技术6%的比例可能有点

21、多,服务器配置512GB内存的情况越来越普遍,而6%的阈值就是30GB,它将在大部分时间处于空闲状态,为了抵制浪费的内存,vSphere 5.0引入了浮动计算。(sliding scale)表11:MinFreePct 浮动计算一台配置96GB内存的服务器,MinFreePct阈值将被设置为1597.36MB,如果96GB全部被使用,96GB的6%就是5898.24.表12:96GB服务器内存回收阈值为了减少内存回收的影响,闲置的内存将被作为对象回收,以提供“解放”虚拟机物理内存,需要的内存越多和要求的优先级越高。要 确定哪些物理内存可以重新被分配,内存调度计算每

22、页份额的指标,内存从拥有份额最少的虚拟机或者资源池中回收,每页份额决定了每页分配的数量,纠正活动页 面的数量和闲置页面的分配百分比,空闲内存以渐进方式申请:虚拟机闲置内存增加更改活动内存的比例增加,调整活动页和空闲页的份额数量有助于避免纯粹的按 比例的份额分配,空闲的虚拟机不成比例的份额可以囤积内存。资源争用,怎么办?如果空闲 内存状态从高状态变成另一种状态,如果软、硬或低,内存调度程序调用一个新的目标被每个虚拟机重新计算,新的目标会根据内存闲置率进行调整,在虚拟机的统 计抽样之前工作内存被分类为空闲或者活动,相当于75%的未保护内存通过最小配额被回收,内存调度将持有25%的缓冲区,以适应快速

23、增长的工作集。使 用前面的例子,图60,假定虚拟机运行的是Windows,由于Windows启动的时候使用的归零技术(zero-out technique),虚拟 机分配内存等于配置大小,20%的配置大小是活动的,如果1024MB内存预留被保护起来,在估算工作集的活动内存之前,保持25%的消耗空闲内存作为缓 冲区能够快速应对工作量增加,虚拟机的动态配额确定为3366.8MB,计算如下:20% of 8192 MB = 1638.4MB活动消耗内存,由 于所有的内存消耗,空闲消耗的内存计算为8192 MB  

24、;1638.4 MB = 6553.6 MB,25%的空闲消耗内 存= 6553.6 * 0.25 = 1638.4 MB,内存的开销为90MB,总计动态配额为 1638.4 MB + 16384.MB + 90 MB = 3366.8 MB图60:动态配额决定回收内 存调度将遵从预留,无法重现分配已经被保护的内存,根据资源争用级别,从每个虚拟机的内存上回收资源,一个低级别的争用导致少量的内存页从虚拟机被回

25、收, 高级别的争用导致回收增加,内存调度试图回收的页面取决于虚拟机的动态配额,但是取决于预留的内存被回收还是有可能发生,也就是当内存需求过大的时候。图61:重新回收和级别争用最坏分配情况当最小配额的内存被回收,虚拟机经历最坏的分配情况,此值在vCenter中作为最坏的情况显示在资源分配选项卡,该值使作为一个理论值,以帮助了解虚拟机资源分配能够有多糟糕。限制限 制是资源分配的一种方式,定义了物理资源的上限,CPU和内存的调度分配资源都可以被限制,即使有足够的可用资源,限制会定义最大的配额,将严格执行主机 -本地的资源调度,在图62中,虚拟机配置了8192MB的内存,额外限制配置为6144MB,资源调度可能分配内存为6144MB,这意味着虚拟机的最 大消耗内存是6144MB,这导致了一个较低的动态配额目标,因为总闲置消耗内存4505.6MB代替了6553.6MB图62:限制限制能够实现限制资源池中资源的分配数量,但我们强烈建议您不要每天在虚拟机的应用上进行

温馨提示

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

评论

0/150

提交评论