vSphere资源管理,vSphere

怎么看 7
资源管理 Update1VMwarevSphere6.0VMwareESXi6.0vCenterServer6.0 vSphere资源管理 您可以从VMware网站下载最新的技术文档:/。
VMware,Inc.3401HillviewAve.PaloAlto,CA94304 威睿信息技术(中国)有限公司北京办公室北京市朝阳区新源南路8号启皓北京东塔8层801 上海办公室上海市淮海中路333号瑞安大厦804-809室 版权所有©2006-2015VMware,Inc.保留所有权利。
版权和商标信息 广州办公室广州市天河路385号太古汇一座3502室 VMware,Inc.
2 目录 关于vSphere资源管理9 1资源管理入门10 资源类型10资源提供方10资源用户11资源管理的目标11 2配置资源分配设置12 资源分配份额12资源分配预留13资源分配限制13资源分配设置建议14编辑资源设置14更改资源分配设置—示例15接入控制16 3CPU虚拟化基本知识17 基于软件的CPU虚拟化17硬件辅助的CPU虚拟化18虚拟化和特定于处理器的行为18CPU虚拟化的性能影响18 4管理CPU资源19 查看处理器信息19指定CPU配置20多核处理器20超线程21 超线程和ESXi主机21启用超线程22使用CPU关联性22向特定处理器分配虚拟机23CPU关联性的潜在问题23主机电源管理策略23选择CPU电源管理策略24为主机电源管理配置自定义策略参数25 VMware,Inc.
3 vSphere资源管理 5内存虚拟化基本知识26 虚拟机内存26内存过载27内存共享27内存虚拟化的类型28 基于软件的内存虚拟化28硬件辅助的内存虚拟化29 6管理内存资源31 了解内存开销31虚拟机上的开销内存32 ESXi主机如何分配内存32闲置虚拟机的内存消耗33VMX交换文件33 内存回收33内存虚拟增长驱动程序33 使用交换文件34交换文件位置35为DRS群集启用主机-本地交换35为独立主机启用主机-本地交换35交换空间和内存过载36配置主机的虚拟机交换文件属性37配置群集的虚拟机交换文件位置38删除交换文件38 在虚拟机之间共享内存38内存压缩39 启用或禁用内存压缩缓存39设置内存压缩缓存的最大大小40衡量和区分各种内存使用情况40内存可靠性41更正错误隔离通知42关于系统交换42配置系统交换42 7查看图形信息44 8管理存储I/O资源45 StorageI/OControl要求45StorageI/OControl资源份额和限制46 查看StorageI/OControl份额和限制46 VMware,Inc.
4 vSphere资源管理 监控StorageI/OControl份额46设置StorageI/OControl资源份额和限制47启用StorageI/OControl48设置StorageI/OControl阈值48StorageDRS与存储配置文件集成49 9管理资源池51 为什么使用资源池?52创建资源池53编辑资源池54将虚拟机添加到资源池55从资源池移除虚拟机56移除资源池56资源池接入控制56 可扩展预留示例157可扩展预留示例257 10创建DRS集群59 接入控制和初始放置位置60单个虚拟机打开电源60组打开电源60 虚拟机迁移61DRS迁移阈值62迁移建议62 DRS集群要求63共享存储器要求63共享的VMFS卷要求63处理器兼容性要求63DRS集群的vMotion要求64 配置带有虚拟闪存的DRS64创建群集64编辑群集66创建DRS群集66设置虚拟机的自定义自动化级别67禁用DRS68还原资源池树69 11使用DRS群集管理资源70 将主机添加到集群70将受管主机添加到群集70将非受管主机添加到群集71 VMware,Inc.
5 vSphere资源管理 将虚拟机添加到群集72将虚拟机移到群集72 从群集内移除虚拟机72将虚拟机移出群集73 从集群中移除主机73将主机置于维护模式73从群集中移除主机74使用待机模式75 DRS群集有效性75有效DRS集群75过载的DRS集群77无效DRS集群78 管理电源资源79为vSphereDPM配置IPMI或iLO设置80测试vSphereDPM的LAN唤醒81为DRS集群启用vSphereDPM82监控vSphereDPM83 使用DRS关联性规则84创建主机DRS组84创建虚拟机DRS组85虚拟机-虚拟机关联性规则85虚拟机-主机关联性规则86 12创建数据存储集群89 初始放置位置和后续平衡90存储迁移建议90创建DatastoreCluster90启用和禁用StorageDRS91为DatastoreCluster设置自动化级别91设置StorageDRS的激进级别92 设置StorageDRS运行时规则93DatastoreCluster要求94在数据存储群集中添加和移除数据存储94 13使用数据存储集群管理存储资源95 使用存储DRS维护模式95将数据存储置于维护模式95忽略StorageDRS规则96 应用StorageDRS建议97刷新StorageDRS建议97 更改虚拟机的StorageDRS自动化级别98 VMware,Inc.
6 vSphere资源管理 设置StorageDRS的非工作时间调度98StorageDRS反关联性规则99 创建虚拟机间反关联性规则100创建虚拟机内部反关联性规则101替代VMDK关联性规则101清除StorageDRS统计信息102StoragevMotion与数据存储集群的兼容性103 14配合使用NUMA系统和ESXi104 什么是NUMA?104对操作系统的挑战105 ESXiNUMA调度的工作方式105VMwareNUMA优化算法和设置106 主节点和初始放置位置106动态负载平衡和页面迁移106针对NUMA优化的透明页共享107NUMA架构中的资源管理107使用虚拟NUMA107更改虚拟CPU的数目108虚拟NUMA控制108指定NUMA控制109将虚拟机与特定处理器关联110使用内存关联性将内存分配与特定NUMA节点相关联110将虚拟机与指定的NUMA节点关联111 15高级属性112 设置高级主机属性112高级内存属性113高级NUMA属性114 设置高级虚拟机属性115高级虚拟机属性115高级虚拟NUMA属性116 滞后时间敏感度116调整滞后时间敏感度117 关于可靠内存117查看可靠内存117 16故障定义118 虚拟机已固定119虚拟机与任何主机均不兼容119移动到另一台主机时违反了虚拟机/虚拟机DRS规则119 VMware,Inc.
7 vSphere资源管理 主机与虚拟机不兼容119主机有违反虚拟机/虚拟机DRS规则的虚拟机119主机用于虚拟机的容量不足120主机处于错误的状态120主机用于虚拟机的物理CPU的数目不足120主机用于每个虚拟机CPU的容量不足120虚拟机正在执行vMotion操作120群集中没有活动主机120资源不足120资源不足以满足配置的HA故障切换级别120无兼容的硬关联性主机121无兼容的软关联性主机121不允许违反软规则更改121影响软规则更改121 17DRS故障排除信息122 集群问题122集群负载不平衡122集群为黄色123集群为红色,因为资源池不一致123群集为红色,因为与故障切换容量发生冲突123集群总负载低时主机电源不关闭124群集总负载高时主机电源关闭124DRS很少或从不执行vMotion迁移125 主机问题126DRS建议在群集总负载低时打开主机电源以增加容量126群集总负载高126集群总负载低127DRS没有撤出请求进入维护或待机模式的主机127DRS没有将任何虚拟机移动到主机上127DRS没有从主机移动任何虚拟机128 虚拟机问题129CPU或内存资源不足129违反了虚拟机/虚拟机DRS规则或者虚拟机/主机DRS规则130打开虚拟机电源操作失败130DRS没有移动虚拟机131 VMware,Inc.
8 关于vSphere资源管理 vSphere资源管理介绍VMware®ESXi和vCenter®Server环境的资源管理。
本文档重点介绍下列主题。
n资源分配和资源管理概念n虚拟机属性和接入控制n资源池及其管理方式n群集、vSphere®DistributedResourceScheduler(DRS)、vSphereDistributedPower Management(DPM)及其使用方法n数据存储群集、存储DRS、StorageI/OControl及其使用方法n高级资源管理选项n性能注意事项 目标读者 本文档中的信息专供要了解系统如何管理资源以及用户如何自定义默认行为的系统管理员使用。
此外,对于要了解和使用资源池、群集、DRS、数据存储群集、存储DRS、StorageI/OControl或vSphereDPM的用户,这些信息亦是必不可少的。
本文档假定您具有VMwareESXi和vCenterServer的相关应用知识。
VMware,Inc.
9 资源管理入门
1 要了解资源管理,必须清楚其组件、目标以及如何以最佳方式在群集设置中将其实现。
将讨论虚拟机的资源分配设置(份额、预留和限制),包括如何设置它们并对其进行查看。
另外,还将介绍接入控制过程,系统通过该过程对照现有资源对资源分配设置进行验证。
资源管理是将资源从资源提供方分配到资源用户的一个过程。
对于资源管理的需求来自于资源过载(即,需求大于容量)以及需求与容量随着时间的推移而有所差异的事实。
通过资源管理,可以动态重新分配资源,以便更高效地使用可用容量。
本章讨论了以下主题:n资源类型n资源提供方n资源用户n资源管理的目标 资源类型 资源包括CPU、内存、电源、存储器和网络资源。
注ESXi分别使用网络流量调整和按比例分配份额机制来管理每台主机上的网络带宽和磁盘资源。
资源提供方 主机和集群(包括数据存储集群)是物理资源的提供方。
对于主机,可用的资源是主机的硬件规格减去虚拟化软件所用的资源。
集群是一组主机。
可以使用vSphereWebClient创建集群,并将多个主机添加到集群。
vCenterServer一起管理这些主机的资源:集群拥有所有主机的全部CPU和内存。
可以针对联合负载均衡或故障切换来启用集群。
有关详细信息,请参见第10章创建DRS集群。
数据存储集群是一组数据存储。
与DRS集群一样,您可以使用vSphereWebClient创建一个数据存储集群,并将多个数据存储添加到集群中。
vCenterServer共同管理数据存储资源。
可以启用StorageDRS来均衡I/O负载和空间使用情况。
请参见第12章创建数据存储集群。
VMware,Inc. 10 vSphere资源管理 资源用户 虚拟机是资源用户。
创建期间分配的默认资源设置适用于大多数计算机。
可以在以后编辑虚拟机设置,以便基于份额分配占资源提供方的总CPU、内存以及存储I/O的百分比,或者分配所保证的CPU和内存预留量。
启动虚拟机时,服务器检查是否有足够的未预留资源可用,并仅在有足够的资源时才允许启动虚拟机。
此过程称为接入控制。
资源池是灵活管理资源的逻辑抽象。
资源池可以分组为层次结构,用于对可用的CPU和内存资源按层次结构进行分区。
相应地,资源池既可以被视为资源提供方,也可以被视为资源用户。
它们向子资源池和虚拟机提供资源,但是,由于它们也消耗其父资源池和虚拟机的资源,因此它们同时也是资源用户。
请参见第9章管理资源池。
ESXi主机根据以下因素为每个虚拟机分配一部分基础硬件资源:n由用户定义的资源限制。
nESXi主机(或集群)的可用资源总量。
n启动的虚拟机数目和这些虚拟机的资源使用情况。
n管理虚拟化所需的开销。
资源管理的目标 管理资源时,应清楚自己的目标。
除了解决资源过载问题,资源管理还可以帮助您实现以下目标:n性能隔离—防止虚拟机独占资源并保证服务率的可预测性。
n高效使用—利用未过载的资源并在性能正常降低的情况下过载。
n易于管理—控制虚拟机的相对重要性,提供灵活的动态分区并且符合绝对服务级别协议。
VMware,Inc. 11 配置资源分配设置
2 当可用资源容量无法满足资源用户(和虚拟化开销)的需求时,管理员可能需要对分配给虚拟机或它们所驻留的资源池的资源量进行自定义。
资源分配设置(份额、预留和限制)用于确定为虚拟机提供的CPU、内存和存储资源量。
特别是,管理员有多个用于分配资源的选项。
n预留主机或群集的物理资源。
n为可以分配给虚拟机的资源量设置上限。
n保证为特定虚拟机分配的物理资源百分比始终高于其他虚拟机。
本章讨论了以下主题:n资源分配份额n资源分配预留n资源分配限制n资源分配设置建议n编辑资源设置n更改资源分配设置—示例n接入控制 资源分配份额 份额指定虚拟机(或资源池)的相对重要性。
如果某个虚拟机的资源份额是另一个虚拟机的两倍,则在这两个虚拟机争用资源时,第一个虚拟机有权消耗两倍于第二个虚拟机的资源。
份额通常指定为高、正常或低,这些值将分别按4:2:1的比例指定份额值。
还可以选择自定义为各虚拟机分配特定的份额值(表示比例权重)。
指定份额仅对同级虚拟机或资源池(即在资源池层次结构中具有相同父级的虚拟机或资源池)有意义。
同级将根据其相对份额值共享资源,该份额值受预留和限制的约束。
为虚拟机分配份额时,始终会相对于其他已打开电源的虚拟机来为该虚拟机指定优先级。
VMware,Inc. 12 vSphere资源管理 下表显示了虚拟机的默认CPU和内存份额值。
对于资源池,默认的CPU份额值和内存份额值是相同的,但是必须将二者相乘,就好像是资源池是具有四个虚拟CPU和16GB内存的虚拟机一样。
表2-
1.份额值 设置 CPU份额值 内存份额值 高 每个虚拟CPU具有2000个份额 所配置的虚拟机内存的每兆字节具有20个份额。
正常 每个虚拟CPU具有1000个份额 所配置的虚拟机内存的每兆字节具有10个份额。
低 每个虚拟CPU具有500个份额 所配置的虚拟机内存的每兆字节具有5个份额。
例如,一台具有两个虚拟CPU和1GB内存且CPU和内存份额设置为正常的SMP虚拟机具有2x1000=2000个CPU份额和10x1024=10240个内存份额。
注具有一个以上虚拟CPU的虚拟机称为SMP(对称多处理)虚拟机。
在每个虚拟机上,ESXi最多支持128个虚拟CPU。
打开新虚拟机电源时,每个份额所代表的相对优先级会改变。
这将影响同一资源池内的所有虚拟机。
所有虚拟机都具有相同数量的虚拟CPU。
请考虑以下示例。
n一台聚合CPU容量为8GHz的主机上运行着两个受CPU约束的虚拟机。
它们的CPU份额设置为正常,因此各得4GHz。
n现在打开了第三个受CPU约束的虚拟机的电源。
它的CPU份额设置为高,这意味着它拥有的份额值应该是设置为正常的虚拟机的两倍。
新的虚拟机获得4GHz,其他两个虚拟机各自仅获得2GHz。
如果用户为第三个虚拟机指定的自定义份额值为2000,也会出现相同的结果。
资源分配预留 预留指定保证为虚拟机分配的最少资源量。
仅在有足够的未预留资源满足虚拟机的预留时,vCenterServer或ESXi才允许您打开虚拟机电源。
即使物理服务器负载较重,服务器也会确保该资源量。
预留用具体单位(兆赫兹(GHz)或兆字节(MB))表示。
例如,假定您有2GHz可用,并且为VM1和VM2各指定了1GHz的预留量。
现在每个虚拟机都能保证在需要时获得1GHz。
但是,如果VM1只用了500MHz,则VM2可使用1.5GHz。
预留默认为
0。
可以指定预留以保证虚拟机始终可使用最少的必要CPU或内存量。
资源分配限制 限制功能为可以分配到虚拟机的CPU、内存或存储I/O资源指定上限。
服务器分配给虚拟机的资源可大于预留,但决不可大于限制,即使系统上有未使用的资源也是如此。
限制用具体单位(兆赫兹(GHz)或兆字节(MB)或每秒I/O操作数)表示。
CPU、内存和存储I/O资源限制默认为无限制。
如果内存无限制,则在创建虚拟机时为该虚拟机配置的内存量将成为其有效限制因素。
VMware,Inc. 13 vSphere资源管理 多数情况下无需指定限制。
指定限制的优缺点如下: n优点—如果开始时虚拟机的数量较少,并且您想对用户期望数量的虚拟机进行管理,则分配一个限制将非常有效。
但随着用户添加的虚拟机数量增加,性能将会降低。
因此,您可以通过指定限制来模拟减少可用资源。
n缺点—如果指定限制,可能会浪费闲置资源。
系统不允许虚拟机使用的资源超过限制,即使系统未充分利用并且有闲置资源可用时也是如此。
请仅在有充分理由的情况下指定限制。
资源分配设置建议 选择适合ESXi环境的资源分配设置(预留、限制和份额)。
遵循以下准则有助于使虚拟机获得更好性能。
n使用预留来指定可接受的最低CPU量或内存量,而不是想要使用的量。
预留表示的具体资源量不会随环境改变(例如添加或移除虚拟机)而变化。
主机可以根据虚拟机的限制、份额的数量和估计需求将额外的资源指定为可用资源。
n请不要将所有资源全部指定为虚拟机的预留(请计划将至少10%的资源保留为未预留)。
系统容量越接近于被全部预留,想要在不违反接入控制的情况下更改预留和资源池层次结构就越困难。
在支持DRS的集群内,如果预留完全占用集群或集群内各台主机的容量,则会阻止DRS在主机之间迁移虚拟机。
n如需频繁更改总可用资源,可使用份额在虚拟机之间合理分配资源。
例如,如果使用份额,并且升级主机,那么,即使每个份额代表较大的内存量、CPU量或存储I/O资源量,每个虚拟机也保持相同的优先级(保持相同数量的份额)。
编辑资源设置 可以使用“编辑资源分配”对话框更改内存和CPU的资源分配。
步骤1在vSphereWebClient导航器中,浏览到虚拟机。
2右键单击并选择编辑资源设置。
3编辑CPU资源。
选项 描述 份额 此资源池拥有的、相对于父级的总CPU份额值。
同级资源池根据由其预留和限制限 定的相对份额值共享资源。
选择低、正常或高,这三种级别分别按1:2:4这个比率指 定份额值。
选择自定义可为每个虚拟机提供表示比例权重的特定份额数。
预留 保证为该资源池分配的CPU量。
限制 该资源池的CPU分配上限。
选择无限可指定无上限。
VMware,Inc. 14 vSphere资源管理 4编辑内存资源。
选项 描述 份额 此资源池拥有的、相对于父级的总内存份额值。
同级资源池根据由其预留和限制限 定的相对份额值共享资源。
选择低、正常或高,这三种级别分别按1:2:4这个比率指 定份额值。
选择自定义可为每个虚拟机提供表示比例权重的特定份额数。
预留 保证为该资源池分配的内存量。
限制 该资源池的内存分配上限。
选择无限可指定无上限。
5
单击确定。
更改资源分配设置—示例 以下示例说明了如何更改资源分配设置以提高虚拟机性能。
假定在某个ESXi主机上,您创建了两个新的虚拟机,一台用于QA(VM-QA)部门,另一台用于市场(VM-Marketing)部门。
图2-
1.具有两个虚拟机的单台主机 主机 VM-QA VM-Marketing 在接下来的示例中,假定VM-QA占用大量内存,因此,您需要将这两个虚拟机的资源分配设置相应地更改为以下内容:n指定当系统内存过载时,VM-QA可使用的CPU和内存资源是市场部虚拟机的两倍。
将VM-QA的 CPU份额和内存份额设置为高,并将VM-Marketing设置为正常。
n保证市场部虚拟机具有一定量的CPU资源。
您可以使用预留设置来达到此目的。
步骤1在vSphereWebClient导航器中,浏览到虚拟机。
2在要更改其份额的虚拟机上,右键单击VM-QA,然后选择编辑设置。
3在虚拟硬件下,展开“CPU”,然后从共享下拉菜单中选择高。
4在虚拟硬件下,展开“内存”,然后从共享下拉菜单中选择高。
5单击确定。
6右键单击市场部虚拟机(VM-Marketing),然后选择编辑设置。
7在虚拟硬件下,展开“CPU”,然后将预留值更改为所需值。
VMware,Inc. 15 vSphere资源管理 8单击确定。
结果如果选择群集的资源预留选项卡,然后单击CPU,此时应看到VM-QA的份额是另一虚拟机的两倍。
另外,由于虚拟机尚未打开电源,因此使用的预留字段尚未改变。
接入控制 打开虚拟机电源时,系统会检查尚未预留的CPU和内存资源量。
系统将根据可用的未预留资源确定是否可保证为虚拟机所配置的预留(如果有)。
此过程称为接入控制。
如果有足够的未预留CPU和内存可用,或者没有预留,虚拟机将打开电源。
否则将显示一条InsufficientResources警告。
注除用户指定的内存预留外,各虚拟机还有一个开销内存量。
此额外内存使用量包含在接入控制计算中。
启用了vSphereDPM功能时,可能会将主机置于待机模式(即关闭电源)以降低功耗。
这些主机所提供的未预留资源将被视为可用于接入控制的资源。
如果某个虚拟机没有这些资源就无法打开电源,系统会建议打开足够的待机主机的电源。
VMware,Inc. 16 CPU虚拟化基本知识
3 CPU虚拟化着重于性能,只要有可能就会直接在处理器上运行。
只要有可能就会使用基础物理资源,且虚拟化层仅在需要时才运行指令,使得虚拟机就像直接在物理机上运行一样。
CPU虚拟化与仿真不同。
ESXi不使用仿真来运行虚拟CPU。
采用仿真时,所有操作均由仿真器在软件中运行。
软件仿真器允许程序在不同于最初编写时所针对的计算机系统上运行。
仿真器通过接受相同的数据或输入并获得相同的结果,来模拟或再现原始计算机的行为,从而实现仿真。
仿真提供了可移植能力,并在几个不同平台上运行针对一个平台而设计的软件。
CPU资源过载时,ESXi主机将在所有虚拟机之间对物理处理器进行时间划分,以便每个虚拟机在运行时就如同具有指定数目的虚拟处理器一样。
运行多个虚拟机的ESXi主机会为各虚拟机分配一定份额的物理资源。
如果使用默认资源分配设置,与同一主机关联的所有虚拟机都将在每个虚拟CPU上收到相同份额的CPU。
这意味着单处理器虚拟机分配到的资源只有双处理器虚拟机的一半。
本章讨论了以下主题: n基于软件的CPU虚拟化 n硬件辅助的CPU虚拟化 n虚拟化和特定于处理器的行为 nCPU虚拟化的性能影响 基于软件的CPU虚拟化 采用基于软件的CPU虚拟化后,客户机应用程序代码直接在处理器上运行,同时转换客户机特权代码并在处理器上运行该代码。
转换后的代码有点大,比本机版本的执行速度通常要慢。
因此,具有少量特权代码组件的客户机程序的运行速度与本机程序非常接近。
而具有大量特权代码组件(如系统调用、陷阱或页面表更新)的程序在虚拟环境中的运行速度可能较慢。
VMware,Inc. 17 vSphere资源管理 硬件辅助的CPU虚拟化 某些处理器为CPU虚拟化提供硬件辅助。
使用此辅助时,客户机可以使用独立的执行模式(称为客户机模式)。
应用程序代码或特权代码等客户机代码均在客户机模式中运行。
出现某些事件时,处理器退出客户机模式而进入root模式。
管理程序将在root模式中执行,确定退出的原因,采取任何必需的措施,并在客户机模式中重新启动客户机。
将硬件辅助用于虚拟化时,不需要再转换代码。
因此,系统调用或陷阱密集型工作负载在运行时的速度非常接近本机速度。
但是,诸如涉及更新页面表之类的一些工作负载会导致多次退出客户机模式而进入root模式。
根据退出的次数和退出所用的总时间,硬件辅助的CPU虚拟化可明显提高执行的速度。
虚拟化和特定于处理器的行为 尽管VMware软件会虚拟化CPU,虚拟机仍然能检测出它在其上运行的处理器的具体型号。
处理器型号可能在其提供的CPU功能方面不同,在虚拟机中运行的应用程序可以利用这些功能。
因此,无法使用vMotion®在具有不同功能集的处理器上运行的系统之间迁移虚拟机。
在某些情况下,通过将增强型vMotion兼容性(EVC)用于支持此功能的处理器,可以避免此限制。
有关更多信息,请参见《vCenterServer和主机管理》文档。
CPU虚拟化的性能影响 根据工作负载和使用的虚拟化类型,CPU虚拟化会增加不同的开销量。
如果应用程序的大多数时间用于执行指令而不是等待用户交互、设备输入或数据检索等外部事件,则应用程序是受CPU约束的。
对于此类应用程序,CPU虚拟化开销包括必须执行的额外指令。
此开销消耗应用程序本身可以使用的CPU处理时间。
CPU虚拟化开销通常会导致整体性能下降。
对于不受CPU约束的应用程序,CPU虚拟化可能会提高CPU利用率。
如果备用CPU容量可用于吸收开销,则仍然可以在整体吞吐量方面提供不错的性能。
在每台虚拟机上,ESXi最多支持128个虚拟处理器(CPU)。
注在单处理器虚拟机(而不是带有多个CPU的SMP虚拟机)上部署单线程应用程序可获得最佳的性能和资源利用率。
单线程应用程序只能利用单个CPU。
在双处理器虚拟机中部署这些应用程序不会加快应用程序的速度。
相反,这样会使得第二个虚拟CPU使用本该由其他虚拟机以其他方式使用的物理资源。
VMware,Inc. 18 管理CPU资源
4 可以为虚拟机配置一个或多个虚拟处理器,每个处理器均具有自己的寄存器和控制结构集合。
当调度虚拟机时,会调度其虚拟处理器在物理处理器上运行。
VMkernel资源管理器在物理CPU上调度虚拟CPU,从而管理虚拟机对物理CPU资源的访问。
ESXi支持虚拟机最多具有128个虚拟CPU。
本章讨论了以下主题:n查看处理器信息n指定CPU配置n多核处理器n超线程n使用CPU关联性n主机电源管理策略 查看处理器信息 您可在vSphereWebClient中访问关于当前CPU配置的信息。
步骤1在vSphereWebClient导航器中,浏览到主机。
2依次单击管理选项卡和设置。
3选择处理器查看有关物理处理器数量和类型以及逻辑处理器数量的信息。
注在超线程系统中,每个硬件线程都是一个逻辑处理器。
例如,启用了超线程的双核处理器具有两个内核和四个逻辑处理器。
VMware,Inc. 19 vSphere资源管理 指定CPU配置 可以通过指定CPU配置来改进资源管理。
但是,如果未自定义CPU配置,则ESXi主机会使用适合大多数情况的默认值。
可以按以下方式指定CPU配置: n使用可通过vSphereWebClient访问的属性和特殊功能。
使用vSphereWebClient可连接ESXi主机或vCenterServer系统。
n在某些情况下使用高级设置。
n将vSphereSDK用于脚本式CPU分配。
n使用超线程。
多核处理器 多核处理器为执行虚拟机多任务的主机提供了很多优势。
Intel和AMD均已开发了将两个或两个以上处理器内核组合到单个集成电路(通常称为封装件或插槽)的处理器。
VMware使用“插槽”一词来描述单个封装件,该封装件可以具有一个或多个处理器内核且每个内核具有一个或多个逻辑处理器。
例如,双核处理器通过允许同时执行两个虚拟CPU,可以提供几乎是单核处理器两倍的性能。
同一处理器中的内核通常配备由所有内核使用的最低级别的共享缓存,这有可能会减少访问较慢主内存的必要性。
如果运行在逻辑处理器上的虚拟机正运行争用相同内存总线资源且占用大量内存的工作负载,则将物理处理器连接到主内存的共享内存总线可能会限制其逻辑处理器的性能。
ESXiCPU调度程序可以独立将每个处理器内核的每个逻辑处理器用于执行虚拟机,从而提供与SMP系统类似的功能。
例如,2路虚拟机可以让虚拟处理器运行在属于相同内核的逻辑处理器上,或运行在不同物理内核的逻辑处理器上。
ESXiCPU调度程序可以检测处理器拓扑,以及处理器内核与它上面的逻辑处理器之间的关系。
它使用此信息来调度虚拟机和优化性能。
ESXiCPU调度程序可以解释处理器拓扑(包括插槽、内核和逻辑处理器之间的关系)。
调度程序使用拓扑信息优化虚拟CPU在不同插槽上的放置位置,以最大化总体的缓存利用率,并通过最小化虚拟CPU迁移来改善缓存关联性。
但是,在某些情况下(例如,当SMP虚拟机显示出其虚拟CPU之间存在大量数据共享时),此默认行为可能不是最佳选择。
对于此类工作负载,最好是调度相同插槽(具有最低级别的共享缓存)上的所有虚拟CPU,即使ESXi主机未过载也是如此。
在这些情况中,通过将以下配置选项包括在虚拟机的.vmx配置文件中,可以替代在封装件之间分配虚拟CPU的默认行为:sched.cpu.vsmpConsolidate="TRUE"。
VMware,Inc. 20 vSphere资源管理 超线程 超线程技术允许单个物理处理器内核像两个逻辑处理器一样工作。
处理器可以同时运行两个独立的应用程序。
为了避免将逻辑处理器和物理处理器混淆,Intel将物理处理器称为插槽,本章的讨论也使用这一术语。
IntelCorporation开发了超线程技术来增强PentiumIV和Xeon处理器系列的性能。
超线程技术允许单个处理器内核同时执行两个独立的线程。
虽然超线程不会使系统的性能加倍,但是它可以通过更好地利用空闲资源来提高性能,使得某些重要的工作负载类型产生更大的吞吐量。
如果应用程序运行在忙碌内核的一个逻辑处理器上,则与单独运行在非超线程处理器上相比,预期获得的吞吐量会稍高于一半。
超线程性能改进情况与应用程序有很大关系,有些应用程序使用超线程可能会出现性能下降的情况,因为两个逻辑处理器之间会共享许多处理器资源(例如缓存)。
注在具有Intel超线程技术的处理器上,每个内核可以具有两个逻辑处理器,这两个逻辑处理器共享大多数内核资源(如内存缓存和功能单元)。
此类逻辑处理器通常称为线程。
许多处理器都不支持超线程,因此每个内核仅具有一个线程。
对于此类处理器,内核数目还与逻辑处理器的数目相匹配。
以下处理器支持超线程,并且每个内核具有两个线程。
n基于IntelXeon5500处理器微架构的处理器。
nIntelPentium4(支持HT) nIntelPentiumEE840(支持HT) 超线程和ESXi主机 支持超线程的主机应具有与没有超线程的主机类似的行为。
但是,如果启用超线程,则可能需要考虑某些因素。
ESXi主机以智能方式管理处理器时间,保证负载均匀分布在系统的多个处理器内核上。
相同内核上的逻辑处理器具有连续的CPU编号,因此CPU0和1一起在第一个内核上,而CPU2和3在第二个内核上,依此类推。
优先在两个不同的内核上调度虚拟机,然后才选择在同一内核的两个逻辑处理器上调度虚拟机。
如果逻辑处理器没有工作,则将其置于暂停状况,从而释放其执行资源并允许在同一内核的另一个逻辑处理器上运行的虚拟机使用该内核的全部执行资源。
VMware调度程序会正确地考虑此暂停时间,因此使用全部内核资源运行的虚拟机的效率要高于在半个内核上运行的虚拟机。
按这种方法管理处理器可确保服务器不会违反任何标准的ESXi资源分配规则。
在使用超线程的主机上启用CPU关联性之前,请考虑资源管理需求。
例如,如果将高优先级虚拟机绑定到CPU0,并将另一个高优先级虚拟机绑定到CPU1,则这两个虚拟机必须共享相同的物理内核。
这种情况下,可能无法满足这些虚拟机的资源需求。
请确保所有的自定义关联性设置对超线程系统都有意义。
VMware,Inc. 21 vSphere资源管理 启用超线程 要启用超线程,必须首先在系统的BIOS设置中将其启用,然后在vSphereWebClient中打开它。
超线程在默认情况下处于启用状态。
请查阅系统文档,确定您的CPU是否支持超线程。
步骤1请确保您的系统支持超线程技术。
2在系统BIOS中启用超线程。
有些制造商将该选项标记为逻辑处理器,而有些制造商则称之为启用超线程。
3确保为ESXi主机启用超线程。
a在vSphereWebClient导航器中,浏览到主机。
b依次单击管理选项卡和设置。
c在系统下,单击高级系统设置,然后选择VMkernel.Boot.hyperthreading。
如果值为有效,将启用超线程。
4在硬件下,单击处理器以查看逻辑处理器的数量。
结果超线程已启用。
使用CPU关联性 通过为每个虚拟机指定CPU关联性设置,可以仅将虚拟机只分配给多处理器系统中的某个可用处理器子集。
通过使用此功能,可以将每个虚拟机分配到指定关联性集合中的处理器。
CPU关联性指定虚拟机到处理器的放置位置的限制,与由虚拟机-虚拟机或虚拟机-主机关联性规则创建的关系不同,后一关联性规则指定虚拟机到虚拟机主机的放置位置的限制。
在这个上下文中,术语“CPU”指的是超线程系统上的逻辑处理器,同时也指非超线程系统上的内核。
某一虚拟机的CPU关联性设置适用于与该虚拟机相关联的所有虚拟CPU及其他所有线程(也叫做“环境”)。
这些虚拟机线程可执行仿真鼠标、键盘、屏幕、CD-ROM及其他旧设备时所需进行的处理工作。
在某些情况下(例如,占用大量显示资源的工作负载),可能会在虚拟CPU和其他虚拟机线程之间出现大量通信。
如果虚拟机的关联性设置阻止了这些额外的线程与虚拟机的虚拟CPU同时进行调度,则性能可能会降低。
例如,单处理器虚拟机与单个CPU关联,或双路SMP虚拟机仅与两个CPU关联。
为了获得最佳性能,在应用手动关联性设置时,VMware建议您在关联性设置中至少要包含一个额外的物理CPU,以便允许至少有一个虚拟机线程与其虚拟CPU同时调度。
例如,单处理器虚拟机至少与两个CPU关联,或双路SMP虚拟机至少与三个CPU关联。
VMware,Inc. 22 vSphere资源管理 向特定处理器分配虚拟机 使用CPU关联性,可以向特定处理器分配虚拟机。
通过此操作,可以将虚拟机只分配给多处理器系统中特定的可用处理器。
步骤1在vSphereWebClient清单中查找虚拟机。
a要查找虚拟机,请选择数据中心、文件夹、群集、资源池或主机。
b单击相关对象选项卡,然后单击虚拟机。
2右键单击虚拟机,然后单击编辑设置。
3在“虚拟硬件”下,展开CPU。
4在“调度关联性”下,选择虚拟机的物理处理器关联性。
使用“-”表示范围,使用“,”分隔值。
例如,“0,2,4-7”表示处理器0、2、4、5、6和
7。
5选择要运行虚拟机的处理器,然后单击确定。
CPU关联性的潜在问题 使用CPU关联性之前,可能需要考虑某些问题。
CPU关联性的潜在问题包括:n对于多处理器系统,ESXi系统执行自动负载平衡。
避免手动指定虚拟机关联性,以改进调度程序跨处 理器平衡负载的能力。
n关联性可能会干扰ESXi主机满足为虚拟机指定的预留和份额的能力。
n因为CPU接入控制不考虑关联性,所以具有手动关联性设置的虚拟机可能不会始终得到其完整的预留 量。
没有手动关联性设置的虚拟机不会受到具有手动关联性设置的虚拟机的负面影响。
n将虚拟机从一个主机移动到另一个主机时,因为新的主机可能具有不同的处理器数,所以关联性可能不再适用。
nNUMA调度程序可能无法管理已经借助于关联性分配到某些处理器的虚拟机。
n关联性可能会影响主机在多核或超线程处理器上调度虚拟机以充分利用在这些处理器上共享资源的能力。
主机电源管理策略 ESXi可以利用主机硬件提供的多个电源管理功能来调整性能与电源使用之间的权衡。
可以通过选择电源管理策略来控制ESXi使用这些功能的方式。
通常,选择高性能策略可提供更多绝对性能,但效率(每瓦特的性能)较低。
低功耗策略提供的绝对性能较少,但效率较高。
VMware,Inc. 23 vSphere资源管理 ESXi提供五个电源管理策略。
如果主机不支持电源管理,或者如果BIOS设置指定不允许主机操作系统管理电源,则只有“不受支持”策略可用。
您可以使用vSphereWebClient为主机选择策略。
如果未选择策略,则ESXi默认使用“平衡”策略。
表4-
1.CPU电源管理策略 电源管理策略 描述 不受支持 主机不支持任何电源管理功能,或者在BIOS中未启用电源管理。
高性能 VMkernel检测到某些电源管理功能,但不会使用它们,除非BIOS由于电源上限或热事件请求使用这些功能。
平衡(默认值) VMkernel会适当使用可用的电源管理功能,以便在对性能影响最小的情况下降低主机能耗。
低功耗 VMkernel积极使用可用的电源管理功能来降低主机能耗,但同时也降低了性能。
自定义 VMkernel基于若干高级配置参数的值来设置电源管理策略。
您可以在vSphereWebClient的“高级设置”对话框中设置这些参数。
当CPU以较低频率运行时,其运行电压也较低,这样便可省电。
这种类型的电源管理通常叫做动态电压和频率缩放(DVFS)。
ESXi会尝试调整CPU频率,以便不影响虚拟机性能。
当CPU空闲时,ESXi可以利用深暂停状况(称为C状况)。
C状况越深,CPU使用的电源就越少,但CPU恢复运行用时越长。
当CPU变为空闲时,ESXi会应用算法,以便预测CPU处于空闲状况的时长并选择要进入的相应C状况。
在不使用深C状况的电源管理策略中,ESXi对空闲CPU仅使用最浅的暂停状况(C1)。
选择CPU电源管理策略 您可以使用vSphereWebClient为主机设置CPU电源管理策略。
前提条件请确认主机系统上的BIOS设置允许操作系统控制电源管理(如OSControlled)。
注某些系统具有处理器时钟控制(PCC)技术,允许ESXi管理主机系统上的电源,即使主机BIOS设置未指定OSControlled模式。
通过此技术,ESXi将不直接管理P状况。
但主机将与BIOS配合工作以确定处理器时钟速率。
支持此技术的HP系统具有名为“协同电源管理”(默认情况下启用)的BIOS设置。
如果主机硬件不允许操作系统管理电源,则只有“不受支持”策略可用。
(在某些系统上,仅“高性能”策略可用。
) 步骤1在vSphereWebClient导航器中,浏览到主机。
2依次单击管理选项卡和设置。
3在“硬件”下,选择电源管理,然后单击编辑按钮。
VMware,Inc. 24 vSphere资源管理 4为主机选择一种电源管理策略,然后单击确定。
所选策略保存在主机配置中,可以在引导时再次使用。
您可以随时更改该策略,而不需要重新引导服务器。
为主机电源管理配置自定义策略参数 当为主机电源管理使用自定义策略时,ESXi将其电源管理策略建立在若干高级配置参数值的基础之上。
前提条件如选择CPU电源管理策略中所述,为电源管理策略选择自定义。
步骤1在vSphereWebClient导航器中,浏览到主机。
2依次单击管理选项卡和设置。
3在“系统”下,选择高级系统设置。
4在右侧窗格中,可以编辑影响自定义策略的电源管理参数。
影响自定义策略的电源管理参数的描述以在“自定义”策略中开始。
所有其他电源参数影响所有电源管理策略。
5选择参数,然后单击编辑按钮。
注电源管理参数的默认值与“平衡”策略匹配。
参数Power.UsePStatesPower.MaxCpuLoad Power.MinFreqPctPower.UseStallCtrPower.TimerHzPower.UseCStatesPower.CStateMaxLatencyPower.CStateResidencyCoef Power.CStatePredictionCoef Power.PerfBias 描述处理器忙时,请使用ACPIP状态来节省电源。
仅当CPU忙碌时间少于实际时间的给定百分比时,才使用P状态来节省CPU电源。
不要使用任何低于CPU全速的给定百分比的P状态。
当处理器频繁停止以等待缓存未命中等事件时,请使用更深的P状态。
控制ESXi重新评估每个CPU要处于哪种P状态的频率(次数/秒)。
当处理器处于空闲状态时,请使用深ACPIC状态(C2或更低)。
不要使用其滞后时间大于此值的C状态。
当CPU变为空闲时,选择其滞后时间与此值的乘积小于主机的CPU预计空闲时间的最深的C状态。
值越大,ESXi愈加保守地使用深C状态;值越小,ESXi愈加主动地使用深C状态。
ESXi算法中的一个参数,用于预测变为空闲的CPU保持空闲状态的时间。
不建议更改此值。
性能能量偏差提示(仅适用于Intel)。
将Intel处理器的MSR设置为Intel建议的值。
Intel建议高性能使用
0,平衡配置使用
6,低功耗使用15。
其他值均未定义。
6单击确定。
VMware,Inc. 25 内存虚拟化基本知识
5 在管理内存资源之前,应当了解ESXi是如何虚拟化和使用这些内存资源的。
VMkernel管理主机上所有物理内存。
VMkernel会将这种受管物理内存的一部分拿来自己使用。
剩余的内存可供虚拟机使用。
虚拟和物理内存空间划分为块,块也称为页。
当物理内存占满时,不在物理内存中的虚拟页的数据将存储到磁盘上。
根据处理器架构的不同,页通常为4KB或2MB。
请参见高级内存属性。
本章讨论了以下主题:n虚拟机内存n内存过载n内存共享n内存虚拟化的类型 虚拟机内存 每个虚拟机均会根据其配置大小消耗内存,还会消耗额外开销内存以用于虚拟化。
配置大小是提供给客户机操作系统的内存量。
这与分配给虚拟机的物理内存量不同。
后者取决于主机上的资源设置(份额、预留和限制)和内存压力级别。
例如,请考虑配置大小为1GB的虚拟机。
当客户机操作系统引导时,系统会检测到它正运行在具有1GB物理内存的专用计算机上。
有些情况下,可能向虚拟机分配全部内容(即1GB)。
在其他情况下,可能会得到较小的分配量。
无论实际分配如何,客户机操作系统都会继续运行,就好像正运行在具有1GB物理内存的专用计算机上一样。
份额如果可用量超过预留,则会为虚拟机指定相对优先级。
预留主机保证为虚拟机预留的物理内存量下限,即使内存过载也是如此。
将预留设置为确保虚拟机高效运行的足够内存水平,这样就不会有过多的内存分页。
VMware,Inc. 26 vSphere资源管理 在虚拟机消耗其预留的全部内存后,会允许其保留该内存量,并且不会将该内存回收,即使该虚拟机闲置也是如此。
某些客户机操作系统(例如Linux)在引导之后可能不会立即访问所配置的全部内存。
在虚拟机消耗其预留的全部内存之前,VMkernel可以将其预留的任何未使用部分分配给其他虚拟机。
但是,在客户机的工作负载增加并且虚拟机消耗其全部预留之后,允许其保留此内存。
限制主机可分配给虚拟机的物理内存量的上限。
虚拟机的内存分配还受其配置大小的隐式限制。
内存过载 对于每个正在运行的虚拟机,系统会为虚拟机的预留(如果有)和虚拟化开销预留物理内存。
所有虚拟机的已配置内存大小总量可能超过了主机上的可用物理内存量。
但是,这并不一定意味着内存已过载。
当所有虚拟机的组合工作内存占用超过主机内存大小的组合工作内存占用时,内存已过载。
由于ESXi主机使用内存管理技术,虚拟机可以使用的虚拟内存大于主机上可用的物理内存。
例如,您有一个内存为2GB的主机,其上运行四个虚拟机,每个虚拟机的内存为1GB。
这种情况下,内存会过载。
例如,如果所有4个虚拟机均闲置,则组合消耗内存可能远低于2GB。
但是,如果所有4GB虚拟机均主动消耗内存,则其内存占用可能超过2GB,并且ESXi主机将过载。
过载有一定的意义,因为通常情况下有些虚拟机负载较轻,而有些虚拟机负载较重,相对活动水平会随着时间的推移而有所差异。
为了改善内存利用率,ESXi主机将闲置虚拟机的内存转移给需要更多内存的虚拟机。
使用“预留”或“份额”参数可优先向重要的虚拟机分配内存。
如果这部分内存未使用,可以用于其他虚拟机。
ESXi实施了多种机制(如虚拟增长、内存共享、内存压缩和交换)来提供合理性能,即使主机尚未严重内存过载。
如果虚拟机在内存过载环境下消耗了所有可预留内存,ESXi主机可能会内存不足。
虽然已打开电源的虚拟机不受影响,但新虚拟机可能会由于内存不足而无法打开电源。
注所有虚拟机内存开销也被视为预留。
此外,ESXi主机上默认还会启用内存压缩,以在内存过载时提高虚拟机性能,如内存压缩中所述。
内存共享 内存共享是一项专用的ESXi技术,有助于增加主机上的内存密度。
内存共享取决于以下观察结果:几个虚拟机可能正在运行同一客户机操作系统的多个实例,加载了相同的应用程序或组件,或包含公用数据。
这些情况下,主机使用专用的透明页面共享(TPS)技术消除内存页的冗余副本。
采用内存共享,在虚拟机中运行的工作负载消耗的内存通常要少于其在物理机上运行时所需的内存。
因此,可以高效地支持更高级别的过载。
内存共享节省的内存量取决于工作负载是否包含几乎相同的虚拟机,这些虚拟机可能释放更多内存,而有较大差异的工作负载可能导致节省的内存百分比明显降低。
注出于安全考虑,默认情况下,虚拟机间透明页面共享处于禁用状态,并且页面共享限于虚拟机内部内存共享。
这意味着页面共享不会在多个虚拟机间出现,而是仅发生在虚拟机内部。
有关详细信息,请参见在虚拟机之间共享内存。
VMware,Inc. 27 vSphere资源管理 内存虚拟化的类型 内存虚拟化有两种类型:基于软件的内存虚拟化和硬件辅助的内存虚拟化。
因为虚拟化引入了额外级别的内存映射,所以ESXi可以跨所有虚拟机来管理内存。
虚拟机的一些物理内存可能映射到共享页面或未映射或换出的页面。
主机执行虚拟内存管理时无需了解客户机操作系统,也不会干涉客户机操作系统自身的内存管理子系统。
每个虚拟机的VMM保持了从客户机操作系统的物理内存页到基础计算机上物理内存页的映射。
(VMware将基础主机物理页称为“计算机”页,将客户机操作系统的物理页称为“物理”页。
) 每个虚拟机均有连续的可寻址物理内存空间,该空间从零开始。
每个虚拟机使用的服务器上的基础计算机内存不一定是连续的。
对于基于软件的内存虚拟化和硬件辅助的内存虚拟化,客户机虚拟到客户机物理地址由客户机操作系统管理。
管理程序仅负责将客户机物理地址转换为计算机地址。
基于软件的内存虚拟化将合并软件中客户机的虚拟到计算机地址,并将其保存在由管理程序管理的卷影页表中。
硬件辅助的内存虚拟化将利用硬件设施生成具有由管理程序维护的客户机页表和嵌套页表的组合映射。
该图说明了ESXi如何实施内存虚拟化。
图5-
1.ESXi内存映射 虚拟机1 ab ab 虚拟机2 cb bc 客户机虚拟内存客户机物理内存 a bb c 计算机内存 n方框表示页,而箭头表示不同的内存映射。
n从客户机虚拟内存到客户机物理内存的箭头表示客户机操作系统中的页表所保持的映射。
(未显示 x86架构处理器从虚拟内存到线性内存的映射。
)n从客户机物理内存到计算机内存的箭头表示由VMM保持的映射。
n虚线箭头表示从客户机虚拟内存到计算机内存的映射,该映射也由VMM保持。
运行虚拟机的基础处 理器使用卷影页表映射。
基于软件的内存虚拟化 ESXi通过添加附加级别的地址转换来虚拟化客户机物理内存。
nVMM会维护卷影页表中的组合虚拟到计算机页面映射。
卷影页表将保持最新,与由VMM维护的客户 机操作系统的虚拟到物理映射和物理到计算机映射一致。
nVMM侦听对客户机操作系统内存管理结构进行操作的虚拟机指令,以便虚拟机不会直接更新处理器上 的实际内存管理单元(MMU)。
VMware,Inc. 28 vSphere资源管理 n卷影页表由处理器的分页硬件直接使用。
n没有用于维护卷影页表一致性的简单计算开销。
当虚拟CPU的数量增加时,开销更加明显。
这种地址转换方法允许在设置卷影页表之后,执行虚拟机中的正常内存访问,而不会增加地址转换开销。
因为处理器上的转换旁视缓冲区(TLB)缓存从卷影页表中读取的直接虚拟-计算机映射,所以VMM访问内存时不会增加额外开销。
请注意,软件MMU的开销内存要求比硬件MMU高。
因此,为了支持软件MMU,需要增加VMkernel中虚拟机支持的最大开销。
在某些情况下,如果工作负载包括大量TLB缺失,软件内存虚拟化可通过硬件辅助的方法获得一定的优势。
性能注意事项 使用两组页表具有以下性能影响。
n对于常规客户机内存访问不会产生开销。
n在虚拟机中映射内存需要额外时间,这可能在以下情况下出现: n虚拟机操作系统正在设置或更新虚拟地址到物理地址的映射。
n虚拟机操作系统从一个地址空间切换到另一个地址空间(上下文切换)。
n与CPU虚拟化相似,内存虚拟化开销取决于工作负载。
硬件辅助的内存虚拟化 类似于AMDSVM-V和IntelXeon5500系列之类的部分CPU通过使用两层页表来提供对内存虚拟化的硬件支持。
第一层页表存储客户机虚拟-物理转换,而第二层页表存储客户机物理-计算机转换。
TLB(translationlook-asidebuffer,转换旁视缓冲区)是由处理器的内存管理单元(MMU)硬件维护的转换缓存。
TLB缺失是此缓存中的缺失,而且硬件需要访问内存(可能是多次)来查找所需转换。
如果TLB中没有某个客户机虚拟地址,则硬件会查看这两个页表,将客户机虚拟地址转换成计算机地址。
第一层页表由客户机操作系统维护。
VMM仅维护第二层页表。
性能注意事项 使用硬件辅助时,会消除软件内存虚拟化的开销。
特别是,硬件辅助消除了使卷影页表与客户机页表保持同步所需的开销。
但是,使用硬件辅助时TLB缺失延迟时间明显较长。
默认情况下,管理程序在硬件辅助模式下使用大页以减少TLB缺失的成本。
因此,工作负载是否受益于硬件辅助主要取决于在使用软件内存虚拟化时由内存虚拟化引起的开销。
如果工作负载涉及少量页表活动(例如进程创建、映射内存或上下文切换),则软件虚拟化不会引起显著开销。
相反,具有大量页表活动的工作负载可能会因使用硬件辅助而受益。
硬件MMU的性能已得到改善,因为它首次引入了在硬件中实施的大量缓存。
通过使用软件内存虚拟化,典型客户机中上下文切换的频率可能会在每秒100次到1000次之间。
每次上下文切换都将为软件MMU中的VMM设置陷阱。
硬件MMU方法可避免此问题。
默认情况下,管理程序在硬件辅助模式下使用大页以减少TLB缺失的成本。
通过在客户机虚拟到客户机物理以及客户机物理到计算机地址转换中使用大页,可以实现最佳性能。
VMware,Inc. 29 vSphere资源管理 LPage.LPageAlwaysTryForNPT选项可以更改在客户机物理到计算机地址转换中使用大页的策略。
有关详细信息,请参见高级内存属性。
注二进制转换仅适用于基于软件的内存虚拟化。
VMware,Inc. 30 管理内存资源
6 使用vSphereWebClient,可以查看有关内存分配设置的信息并对其进行更改。
为了有效管理内存资源,还必须熟悉内存开销、闲置内存消耗以及ESXi主机回收内存的方式。
当管理内存资源时,可以指定内存分配。
如果未自定义内存分配,则ESXi主机使用适合大多数情况下的默认值。
可以通过几种方式指定内存分配。
n使用可通过vSphereWebClient访问的属性和特殊功能。
通过vSphereWebClient,可以连接到 ESXi主机或vCenterServer系统。
n使用高级设置。
n将vSphereSDK用于脚本式内存分配。
本章讨论了以下主题:n了解内存开销nESXi主机如何分配内存n内存回收n使用交换文件n在虚拟机之间共享内存n内存压缩n衡量和区分各种内存使用情况n内存可靠性n关于系统交换 了解内存开销 内存资源的虚拟化会涉及一些相关开销。
ESXi虚拟机可以引起两种内存开销:n在虚拟机内访问内存所需的额外时间。
VMware,Inc. 31 vSphere资源管理 n超出向每个虚拟机分配的内存后,ESXi主机自身代码和数据结构所需的额外空间。
ESXi内存虚拟化向内存访问添加很少的时间开销。
因为处理器分页硬件直接使用页表(基于软件的卷影页表方法或硬件辅助的两级页表方法),所以虚拟机中的大多数内存访问在执行时没有地址转换开销。
内存空间开销有两部分:nVMkernel系统范围内的固定开销。
n每个虚拟机的额外开销。
开销内存包括为虚拟机框架缓冲区和各种虚拟化数据结构(如卷影页表)预留的空间。
开销内存取决于虚拟CPU数量以及为客户机操作系统配置的内存。
虚拟机上的开销内存 要打开虚拟机电源,需要一定数量的可用开销内存。
您应当了解此开销量。
虚拟机所需的开销内存量取决于多种因素,其中包括vCPU数量和内存大小、设备数量和类型、监视器使用的执行模式以及虚拟机的硬件版本。
您使用的vSphere版本也可以影响所需的内存量。
VMX将自动计算虚拟机所需的开销内存量。
要了解特定配置所需的开销内存量,请先打开相应虚拟机的电源。
在vmware.log文件中查找。
打开虚拟机电源后,所需的开销内存量会打印到该日志。
在该日志中搜索VMMEM以查看为虚拟机预留的初始和精确开销内存量。
ESXi主机如何分配内存 主机将由Limit参数指定的内存分配给每个虚拟机,除非内存过载。
ESXi向虚拟机分配的内存决不会超过指定的物理内存大小。
例如,1GB虚拟机可能具有默认的限制(无限)或用户指定的限制(例如2GB)。
在这两种情况下,ESXi主机分配的内存决不会超过1GB,即不会超过为其指定的物理内存大小。
当内存过载时,向每个虚拟机分配的内存量介于预留和限制指定的内存量之间。
授予虚拟机的高于预留量的内存量会因当前的内存负载而异。
主机根据分配给虚拟机的份额数和对最近工作集大小的估计,确定每个虚拟机的分配量。
n份额—ESXi主机使用经过修改的按比例份额内存分配策略。
内存份额给予虚拟机一部分可用物理内 存。
n工作集大小—ESXi主机通过在连续的虚拟机执行时间周期监控内存活动,来估计工作集。
采用快速 响应工作集大小增加且慢速响应工作集大小减小的技术,在几个时间周期内进行平稳估计。
该方法确保虚拟机开始更活跃地使用其内存时,已经回收闲置内存的虚拟机可以快速达到基于完整份额的分配量。
在默认情况下将对内存活动监控60秒以估计工作集大小。
要修改此默认值,请调整Mem.SamplePeriod高级设置。
请参见设置高级主机属性。
VMware,Inc. 32 vSphere资源管理 闲置虚拟机的内存消耗 如果虚拟机未在使用当前为其分配的所有内存,则ESXi对闲置内存的消耗量大于对正在使用的内存的消耗量。
这样有助于防止虚拟机累积闲置内存。
闲置内存消耗以渐进方式应用。
随着虚拟机闲置内存与活动内存的比率的提高,有效消耗率将增加。
(在不支持分层资源池的早期版本ESXi中,虚拟机的所有闲置内存是以同等比率消耗的。
)可以使用Mem.IdleTax选项来修改闲置内存消耗率。
使用该选项以及Mem.SamplePeriod高级属性可控制系统如何确定虚拟机的目标内存分配。
请参见设置高级主机属性。
注在大多数情况下,没有必要更改Mem.IdleTax,如果更改的话,反而不合适。
VMX交换文件 使用虚拟机可执行(VMX)交换文件,主机可大幅减少为VMX进程预留的开销内存量。
注VMX交换文件与交换到主机交换缓存功能或常规主机级别交换文件不相关。
ESXi出于多种原因预留每个虚拟机的内存。
打开虚拟机电源时,将完全预留特定组件(如虚拟机监控程序(VMM)和虚拟设备)所需的内存。
但可以交换为VMX进程预留的一些开销内存。
VMX交换功能大大减少了VMX内存预留(例如,从每个虚拟机大约50MB或更多减少为每个虚拟机大约10MB)。
这样可在主机内存过载时换出剩余内存,从而减少了每个虚拟机的开销内存预留。
如果打开虚拟机电源时有足够的可用磁盘空间,主机便可自动创建VMX交换文件。
内存回收 ESXi主机可以从虚拟机中回收内存。
主机会将预留功能指定的内存量直接分配给虚拟机。
超出预留的任何部分都使用主机的物理资源进行分配,如果物理资源不可用,则使用虚拟增长或交换等特殊技术进行处理。
主机可使用两种技术来动态增加或减少分配给虚拟机的内存量:nESXi系统使用已加载到虚拟机中所运行的客户机操作系统的内存虚拟增长驱动程序(vmmemctl)。
请参 见内存虚拟增长驱动程序。
nESXi系统将分页从虚拟机换出到服务器交换文件,无需客户机操作系统参与。
每个虚拟机均有自己的 交换文件。
内存虚拟增长驱动程序 内存虚拟增长驱动程序(vmmemctl)与服务器协作回收客户机操作系统认为最不重要的页面。
该驱动程序使用专用虚拟增长技术,提供在类似的内存限制下与本机系统的行为极为相近的可预测性能。
该技术可增加或减少客户机操作系统的内存压力,使得客户机能够使用自己的本机内存管理算法。
当内存很紧张时,客户机操作系统决定要回收哪些页面,并在必要时将这些页面换到自己的虚拟磁盘上。
VMware,Inc. 33 vSphere资源管理 图6-
1.客户机操作系统中的内存虚拟增长
1 内存
2 内存 交换空间
3 内存 交换空间 注必须使用足够的交换空间来配置客户机操作系统。
某些客户机操作系统具有其他限制。
如有必要,可以通过为特定虚拟机设置sched.mem.maxmemctl参数,限制由vmmemctl回收的内存量。
该选项指定了可以从虚拟机中回收的最大内存量,以兆字节(MB)为单位。
请参见设置高级虚拟机属性。
使用交换文件 可以指定客户机交换文件的位置、当内存过载时预留交换空间以及删除交换文件。
当vmmemctl驱动程序不可用或未响应时,ESXi主机会使用交换从虚拟机中强制回收内存。
n从未安装。
n明确禁用。
n未运行(例如,客户机操作系统正在引导时)。
n暂时无法以足够快的速度回收内存来满足当前系统需求。
n正常工作,但是已经达到最大虚拟增长大小。
当虚拟机需要页面时,标准需求分页技术会重新换入页面。
VMware,Inc. 34 vSphere资源管理 交换文件位置 默认情况下,交换文件在与虚拟机配置文件相同的位置中创建,该位置可以位于VMFS数据存储、vSAN数据存储或虚拟卷数据存储中。
在vSAN数据存储或虚拟卷数据存储中,交换文件可作为独立的vSAN或虚拟卷对象进行创建。
当虚拟机打开电源时,ESXi主机会创建交换文件。
如果无法创建该文件,则无法打开虚拟机电源。
除了接受默认值以外,您还可以:n使用每个虚拟机配置选项将数据存储更改为另一个共享的存储位置。
n使用主机-本地交换在主机上指定存储在本地的数据库存储。
这样就可以在每个主机级别上进行交换, 从而节省SAN上的空间。
但是,对于vSpherevMotion,可能会导致性能稍有下降,因为交换到源主机上的本地交换文件的页面必须通过网络传输到目标主机。
请注意,当前无法为主机本地交换指定vSAN和虚拟卷数据存储。
为DRS群集启用主机-本地交换 主机-本地交换允许将存储在主机本地的数据存储指定为交换文件位置。
可以为DRS群集启用主机-本地交换。
步骤1在vSphereWebClient导航器中,浏览到群集。
2依次单击管理选项卡和设置。
3在“配置”下,单击常规以查看交换文件位置,然后单击编辑对其进行更改。
4选择由主机指定的数据存储选项,然后单击确定。
5在vSphereWebClient导航器中,浏览到群集中的其中一个主机。
6依次单击管理选项卡和设置。
7在“虚拟机”下,选择虚拟机交换文件位置。
8单击“编辑”,选择要使用的本地数据存储,然后单击确定。
9对群集中的每台主机重复步骤5到步骤
8。
结果现在已为DRS群集启用主机-本地交换。
为独立主机启用主机-本地交换 主机-本地交换允许将存储在主机本地的数据存储指定为交换文件位置。
可以为独立主机启用主机-本地交换。
步骤1在vSphereWebClient导航器中,浏览到主机。
2依次单击管理选项卡和设置。
VMware,Inc. 35 vSphere资源管理 3在“虚拟机”下,选择虚拟机交换文件位置。
4单击编辑,然后选择所选数据存储。
5从列表中选择本地数据存储,然后单击确定。
结果现在已为独立主机启用主机-本地交换。
交换空间和内存过载 必须在每个虚拟机交换文件中为任何未预留的虚拟机内存预留交换空间(预留和配置内存大小之间的差值)。
需要该交换预留来确保ESXi主机在任何情况下均能预留虚拟机内存。
实际上,只有一小部分主机级别的交换空间可能会用到。
如果正在通过ESXi使内存过载以支持由虚拟增长导致的客户机内部交换,请确保客户机操作系统还有足够的交换空间。
该客户机级别交换空间必须大于或等于虚拟机配置内存大小与其“预留”之间的差值。
小心如果内存过载且客户机操作系统配置的交换空间不足,则虚拟机中的客户机操作系统可能会出现故障。
为了避免虚拟机出现故障,请增加虚拟机中交换空间的大小。
nWindows客户机操作系统—Windows操作系统将其交换空间称为分页文件。
如果有足够的可用磁 盘空间,一些Windows操作系统会尝试自动增加分页文件的大小。
请查看MicrosoftWindows文档或搜索Windows帮助文件来了解“分页文件”。
按照说明更改虚拟内存分页文件的大小。
nLinux客户机操作系统—Linux操作系统将其交换空间称为交换文件。
有关增加交换文件的信息,请参见以下Linux手册页:nmkswap—设置Linux交换区。
nswapon—针对分页和交换启用设备和文件。
具有大量内存和较小虚拟磁盘的客户机操作系统(例如,具有8GB内存和2GB虚拟磁盘的虚拟机)更容易出现交换空间不足的情况。
注不要将交换文件存储在精简置备的LUN上。
运行交换文件存储在精简置备的LUN上的虚拟机会导致交换文件增长失败,从而可能会导致虚拟机终止。
创建大型交换文件(例如,大于100GB的文件)时,打开虚拟机电源所花的时间会显著增加。
为避免出现这种情况,请为大型虚拟机设置较大的预留。
还可使用主机-本地交换文件将交换文件置于开销较小的存储器中。
VMware,Inc. 36 vSphere资源管理 配置主机的虚拟机交换文件属性 可通过配置主机的交换文件位置来确定虚拟机交换文件在vSphereWebClient中的默认位置。
默认情况下,虚拟机的交换文件位于数据存储上包含其他虚拟机文件的文件夹中。
但是,可将主机配置为将虚拟机交换文件置于备用数据存储上。
可以使用该选项将虚拟机交换文件放到成本较低或性能较高的存储器上。
也可替换单一虚拟机的此主机级设置。
设置备用交换文件位置可能会导致使用vMotion迁移速度缓慢。
为获得最佳vMotion性能,请将虚拟机存储在本地数据存储中,而不是与虚拟机交换文件存储在同一目录中。
如果虚拟机存储在本地数据存储中,存储交换文件和其他虚拟机文件将无法提高vMotion的性能。
前提条件所需特权:主机.配置.存储器分区配置 步骤1在vSphereWebClient导航器中,浏览到主机。
2选择管理选项卡,然后单击设置。
3在“虚拟机”下,单击交换文件位置。
此时会显示选定的交换文件位置。
如果选定主机不支持交换文件位置的配置,则此选项卡将指示该功能不受支持。
如果主机属于群集的一部分,且群集设置指定交换文件与虚拟机存储在同一目录中,则无法从主机管理选项卡编辑交换文件位置。
要更改此类主机的交换文件位置,请编辑群集设置。
4单击编辑。
5选择存储交换文件的位置。
选项虚拟机目录使用特定数据存储 描述 将交换文件存储在与虚拟机配置文件相同的目录中。
在您指定的位置存储交换文件。
如果无法将交换文件存储到主机指定的数据存储中,则交换文件必须与虚拟机存储在同一文件夹中。
6(可选)如果选择使用特定数据存储,请从列表中选择数据存储。
7单击确定。
结果虚拟机交换文件将存储在选定位置。
VMware,Inc. 37 vSphere资源管理 配置群集的虚拟机交换文件位置 默认情况下,虚拟机的交换文件位于数据存储上包含其他虚拟机文件的文件夹中。
但是,您可以配置群集内的主机,将虚拟机交换文件放到自己选择的替代数据存储上。
根据您的需求,可以配置备用交换文件位置,以将虚拟机交换文件放到成本较低或性能较高的存储器上。
前提条件在配置群集的虚拟机交换文件位置之前,必须按照配置主机的虚拟机交换文件属性中的说明配置群集内主机的虚拟机交换文件位置。
步骤1在vSphereWebClient中,浏览到群集。
2依次单击管理选项卡和设置。
3选择配置>常规。
4在“交换文件位置”旁,单击编辑。
5选择存储交换文件的位置。
选项虚拟机目录由主机指定的数据存储 描述 将交换文件存储在与虚拟机配置文件相同的目录中。
将交换文件存储在主机配置中指定的位置上。
如果无法将交换文件存储到主机指定的数据存储中,则交换文件必须与虚拟机存储在同一文件夹中。
6单击确定。
删除交换文件 如果主机失败,并且该主机所具有的正在运行的虚拟机使用交换文件,则这些交换文件会继续存在并消耗数GB的磁盘空间。
您可以删除这些交换文件,从而消除此问题。
步骤1重新启动故障主机上的虚拟机。
2停止该虚拟机。
结果该虚拟机的交换文件即会删除。
在虚拟机之间共享内存 许多ESXi工作负载存在跨虚拟机(以及在单个虚拟机中)共享内存的机会。
VMware,Inc. 38 vSphere资源管理 ESXi内存共享作为后台活动运行,随着时间的推移而扫描共享机会。
节省的内存量随着时间而变化。
对于相当固定的工作负载,在使用所有共享机会之前,内存量一般会缓慢增加。
要确定给定工作负载内存共享的有效性,请尝试运行工作负载,并使用或观察实际节省的内存量。
此信息可在“内存”页面中交互模式的PSHARE字段中找到。
使用Mem.ShareScanTime和Mem.ShareScanGHz高级设置可控制系统扫描内存以确定内存共享机会的速率。
还可以通过设置sched.mem.pshare.enable选项为单个虚拟机配置共享。
出于安全考虑,默认情况下,虚拟机间透明页面共享处于禁用状态,并且页面共享限于虚拟机内部内存共享。
这意味着页面共享不会在多个虚拟机间出现,而是仅发生在虚拟机内部。
为帮助解决系统管理员对透明页面共享所造成安全影响可能存在的疑问,我们引入了盐的概念。
通过使用盐,可以前所未有的方式更加细化地管理参与透明页面共享的虚拟机。
在新的盐设置中,仅当页面的加密盐值和内容完全相同时,虚拟机才可共享页面。
新主机配置选项Mem.ShareForceSalting可配置为启用或禁用盐。
有关如何设置高级选项的信息,请参见第15章高级属性。
内存压缩 ESXi提供内存压缩缓存,可在内存过载使用时改进虚拟机性能。
默认情况下已启用了内存压缩。
当主机内存过载时,ESXi会压缩虚拟页面并将其存储在内存中。
由于访问压缩的内存比访问交换到磁盘的内存更快,因此通过ESXi中的内存压缩可以使内存过载,但不会显著影响性能。
当需要交换虚拟页面时,ESXi会首先尝试压缩虚拟页面。
可压缩至2KB或更小的页面存储在虚拟机的压缩缓存中,从而增加主机的容量。
使用vSphereWebClient中的“高级设置”对话框,您可以设置压缩缓存的最大大小和禁用内存压缩。
启用或禁用内存压缩缓存 默认情况下已启用了内存压缩。
您可以使用vSphereWebClient中的“高级系统设置”,以启用或禁用主机的内存压缩。
步骤1在vSphereWebClient导航器中,浏览到主机。
2依次单击管理选项卡和设置。
3在“系统”下,选择高级系统设置。
4找到“Mem.MemZipEnable”,然后单击编辑按钮。
5输入1启用内存压缩缓存,或输入0禁用内存压缩缓存。
6单击确定。
VMware,Inc. 39 vSphere资源管理 设置内存压缩缓存的最大大小 您可以设置主机虚拟机的内存压缩缓存的最大大小。
您可以将压缩缓存的大小设置为虚拟机的内存大小百分比。
例如,如果输入20并且虚拟机的内存大小为1000MB,则ESXi最多可使用200MB的主机内存来存储虚拟机的已压缩页面。
如果您未设置压缩缓存的大小,ESXi会使用默认值10%。
步骤1在vSphereWebClient导航器中,浏览到主机。
2依次单击管理选项卡和设置。
3在“系统”下,选择高级系统设置。
4找到“Mem.MemZipMaxPct”,然后单击编辑按钮。
此属性的值确定虚拟机的压缩缓存的最大大小。
5输入压缩缓存的最大大小。
此值是虚拟机大小的百分比并且必须介于5%和100%之间。
6单击确定。
衡量和区分各种内存使用情况 vSphereWebClient的性能选项卡显示了可用于分析内存使用情况的多个衡量指标。
某些内存衡量指标用于衡量客户机物理内存,而另一些衡量指标用于衡量计算机内存。
例如,可以使用性能衡量指标检查的两种内存使用情况是客户机物理内存和计算机内存。
可以使用“已分配的内存”衡量指标(对于虚拟机)或“共享的内存”(对于主机)衡量客户机物理内存。
但是,要衡量计算机内存,需要使用“消耗的内存”(对于虚拟机)或“共享的公用内存”(对于主机)。
了解这些类型的内存使用情况之间的概念性差异对知道这些衡量指标的衡量对象以及如何对其进行解释十分重要。
VMkernel会将客户机物理内存映射到计算机内存,但是它们不总是一对一映射。
它可能会将客户机物理内存的多个区域映射到计算机内存的同一区域(当存在内存共享时),或者未将客户机物理内存的特定区域映射到计算机内存(当VMkernel换出或虚拟增长客户机物理内存时)。
在这些情况中,单个虚拟机或主机的客户机物理内存使用情况和计算机内存使用情况的计算有所不同。
请考虑下图中的示例,该图中显示了在一台主机上运行的两台虚拟机。
每块代表4KB内存,每个颜色/字母代表相应块上的数据集。
VMware,Inc. 40 vSphere资源管理 图6-
2.内存使用情况示例 虚拟机1 abcac abacc 虚拟机
2 bd fe bdfe 客户机虚拟内存客户机物理内存 a b cde f 计算机内存 可以按照如下方式确定虚拟机的性能衡量指标: n要确定虚拟机1的“已分配的内存”(映射到计算机内存的客户机物理内存量),请计算虚拟机1的客户机物理内存中的块(含有指向计算机内存的箭头)的数量并乘以4KB。
由于有5个块含有箭头,因此“已分配的内存”是20KB。
n“消耗的内存”是分配给虚拟机的计算机内存量,包括从共享的内存中节省的内存量。
首先,计算计算机内存中的块(含有从虚拟机1的客户机物理内存指出的箭头)的数量。
这样的块有三个,但有一个块与虚拟机2共享。
因此,计算两个完整的块加上半个第三个块并乘以4KB,得到总计10KB的“消耗的内存”。
这两个衡量指标之间的重要差异是:“已分配的内存”计算带箭头的客户机物理内存级块的数量,“消耗的内存”计算带箭头的计算机内存级块的数量。
由于内存共享,这两个级别的块的数量不同,因此“已分配的内存”和“消耗的内存”也不同。
这并不表示存在问题,而是表示内存是通过共享或其他回收技术节省的。
在确定主机的“共享的内存”和“共享的公用内存”时,会获得类似的结果。
n主机的“共享的内存”是每个虚拟机“共享的内存”的总和。
通过查看每个虚拟机的客户机物理内存并计算含有指向计算机内存块(计算机内存块本身也含有多个指向自己的箭头)的箭头的块数量,可计算此内存总和。
在本示例中,这样的块有六个,因此主机的“共享的内存”是24KB。
n“共享的公用内存”是由虚拟机共享的计算机内存量。
要确定此内存量,可查看计算机内存,并计算有多个箭头指向自身的块数量。
这样的块有三个,因此“共享的公用内存”是12KB。
“共享的内存”涉及到客户机物理内存,即作为箭头起始点。
而“共享的公用内存”涉及到计算机内存,即作为箭头的目标点。
用于衡量客户机物理内存和计算机内存的内存衡量指标可能会出现矛盾。
事实上,它们衡量的是虚拟机内存使用情况的不同方面。
通过了解这些衡量指标之间的差异,可以更好地利用它们来诊断性能问题。
内存可靠性 通过内存可靠性(也称为错误隔离),ESXi可在其确定故障可能出现时以及已出现故障时停止使用部分内存。
在特定地址报告了足够的已更正错误时,ESXi会停止使用该地址以阻止已更正错误成为未更正的错误。
内存可靠性提供了更高的VMkernel可靠性,而与RAM中更正的和未更正的错误无关。
通过内存可靠性,系统还可避免使用可能包含错误的内存页。
VMware,Inc. 41 vSphere资源管理 更正错误隔离通知 借助内存的可靠性,VMkernel可停止使用接收错误隔离通知的页面。
当VMkernel从不可更正的内存错误中恢复,VMkernel因大量可更正错误而注销显著比例的系统内存,或者存在大量无法注销的页面时,用户会在vSphereWebClient中接收到事件。
步骤1腾出主机。
2迁移虚拟机。
3运行内存相关的硬件测试。
关于系统交换 系统交换是一种内存回收过程,可以利用整个系统内未使用的内存资源。
系统交换允许系统从内存使用者处(非虚拟机)回收内存。
启用系统交换后,需要在回收其他进程内存的影响与将内存分配给可使用它的虚拟机的能力之间进行权衡。
系统交换所需的空间量为1GB。
内存的回收通过将数据移出内存并写入后台存储实现。
从后台存储访问数据的速度比从内存访问数据的速度慢,因此一定要仔细选择存储交换数据的位置。
ESXi可自动确定系统交换应存储到的位置,这是首选交换文件位置。
选择某一组选项可帮助确定存储位置。
系统会选择最可行的选项。
如果任何选项都不可行,则不会激活系统交换。
可用选项包括:n数据存储-允许使用指定的数据存储。
请注意,无法为系统交换文件指定vSAN数据存储或虚拟卷数 据存储。
n主机交换缓存-允许使用部分主机交换缓存。
n首选交换文件位置-允许使用为主机配置的首选交换文件位置。
配置系统交换 您可自定义用于确定系统交换位置的选项。
前提条件在编辑系统交换设置对话框中选中已启用复选框。
步骤1在vSphereWebClient导航器中,浏览到主机。
2单击管理选项卡。
3单击设置,然后单击系统交换。
4单击编辑。
5选中要启用的每个选项对应的复选框。
VMware,Inc. 42 vSphere资源管理 6如果选择数据存储选项,请从下拉菜单中选择一个数据存储。
7单击确定。
VMware,Inc. 43 查看图形信息
7 可以访问有关多个虚拟机的主机图形硬件功能的信息。
可以查看有关图形卡的信息,并且可以查看使用图形卡的虚拟机。
仅当虚拟机已打开且图形卡为共享类型时才会列出虚拟机。
前提条件验证虚拟机是否已打开。
步骤1在vSphereWebClient中,导航到主机。
2依次单击管理选项卡和设置。
3在“硬件”下,选择图形,然后选择图形卡来查看使用该图形卡的虚拟机。
可以查看图形卡的名称、供应商以及分配给该图形卡的总内存。
VMware,Inc. 44 管理存储I/O资源
8 vSphereStorageI/OControl允许在整个群集范围内划分存储I/O的优先级,从而更好地整合工作负载,并有助于减少与过度置备相关的额外成本。
StorageI/OControl通过扩展份额和限制的构成来处理存储I/O资源。
您可以控制在I/O拥堵期间分配给虚拟机的存储I/O量,从而确保在进行I/O资源分配时重要性较高的虚拟机与重要性较低的虚拟机相比具有更高的优先级。
当对数据存储启用StorageI/OControl时,ESXi会开始监控主机与该数据存储通信时出现的设备延迟时间。
当设备延迟时间超出阈值时,该数据存储会被视为出现拥堵,此时将按访问该数据存储的每个虚拟机的份额比例向其分配I/O资源。
您可以设置每个虚拟机的份额,并根据需要调整每个虚拟机的份额数量。
配置StorageI/OControl分为两个步骤:1为数据存储启用StorageI/OControl。
2设置每个虚拟机所允许的存储I/O份额数量以及每秒I/O操作数(IOPS)的上限。
默认情况下,所有虚拟机的份额均设置为“正常(1000)”且IOPS无限制。
注在已启用StorageDRS的数据存储群集上,StorageI/OControl默认情况下处于启用状态。
本章讨论了以下主题:nStorageI/OControl要求nStorageI/OControl资源份额和限制n设置StorageI/OControl资源份额和限制n启用StorageI/OControln设置StorageI/OControl阈值nStorageDRS与存储配置文件集成 StorageI/OControl要求 StorageI/OControl有一些要求和限制。
n启用了StorageI/OControl的数据存储必须由单个vCenterServer系统管理。
VMware,Inc. 45 vSphere资源管理 n光纤通道连接、iSCSI连接和NFS连接的存储上都可支持StorageI/OControl。
裸设备映射(RDM)不受支持。
nStorageI/OControl不支持具有多个数据区的数据存储。
n在具有自动化存储分层功能的阵列所支持的数据存储上使用StorageI/OControl之前,请查看 《VMware存储/SAN兼容性指南》,以确认自动化分层存储阵列已通过认证,与StorageI/OControl兼容。
自动化存储分层是阵列(或阵列组)的功能,可根据用户设置的策略和当前I/O模式,将LUN/卷或LUN/卷的某些部分迁移到其他类型的存储介质(SSD、FC、SAS和SATA)。
对于不具有这些自动迁移/分层功能的阵列(其中包括提供不同类型存储介质之间手动迁移数据功能的阵列)无需特殊认证。
StorageI/OControl资源份额和限制 您可以分配每个虚拟机所允许的存储I/O份额数量以及每秒I/O操作数(IOPS)的上限。
当检测到数据存储出现存储I/O拥堵时,会根据每个虚拟机具有的虚拟机份额比例调整访问该数据存储的虚拟机的I/O工作负载。
如资源分配份额中介绍的,存储I/O份额与用于内存和CPU资源分配的份额相似。
这些份额表示虚拟机在存储I/O资源分配方面的相对重要性。
在发生资源争用时,具有较高份额值的虚拟机可以更多地访问存储阵列。
当分配存储I/O资源时,您可以限制虚拟机所允许的IOPS。
默认情况下,对此没有限制。
资源分配限制中介绍了设置资源限制的优缺点。
如果要为虚拟机设置的限制单位为MB/秒而非IOPS,则可根据虚拟机的典型I/O大小将MB/秒转换为IOPS。
例如,要将具有64KBIO的备份应用程序限定为10MB/秒,请将限制设置为160IOPS。
查看StorageI/OControl份额和限制 您可以查看数据存储上运行的所有虚拟机的份额和限制。
通过查看此信息,可以比较访问该数据存储的所有虚拟机的设置,而不管这些虚拟机在哪个群集中运行。
步骤1在vSphereWebClient导航器中,浏览到数据存储。
2在“相关对象”选项卡下,单击虚拟机选项卡。
该选项卡显示了数据存储上运行的每个虚拟机以及关联的份额值和数据存储份额百分比。
监控StorageI/OControl份额 使用数据存储性能选项卡,可以监控存储I/O控制如何基于其份额处理访问数据存储的虚拟机的I/O工作负载。
使用数据存储性能图表可以监控以下信息:n数据存储的平均滞后时间和汇总IOPSn主机之间的滞后时间 VMware,Inc. 46 vSphere资源管理 n主机之间的队列深度n主机之间的读/写IOPSn虚拟机磁盘之间的读/写滞后时间n虚拟机磁盘之间的读/写IOPS 步骤1在vSphereWebClient导航器中,浏览到数据存储。
2在“监控”选项卡下,单击性能选项卡3从查看下拉菜单中选择性能。
有关详细信息,请参见vSphere监控和性能文档。
设置StorageI/OControl资源份额和限制 通过向虚拟机分配相对数量的份额,可根据重要性将存储I/O资源分配给虚拟机。
除非虚拟机工作负载非常相似,否则份额不必以I/O操作数或MB/秒来规定分配。
较高的份额可以使虚拟机在存储设备或数据存储中保持更多挂起的并行I/O操作(与份额较低的虚拟机相比)。
根据其工作负载,两个虚拟机可能有不同的吞吐量。
步骤1在vSphereWebClient清单中查找虚拟机。
a要查找虚拟机,请选择数据中心、文件夹、群集、资源池或主机。
b单击相关对象选项卡,然后单击虚拟机。
2右键单击虚拟机,然后单击编辑设置。
3单击虚拟硬件选项卡,然后展开硬盘。
4从列表中选择一个虚拟硬盘。
5在份额下,单击下拉菜单,然后选择要分配给虚拟机的相对数量的份额(低、正常或高)。
您可以选择自定义以输入用户定义的份额值。
6在限制-IOPS下,单击下拉菜单,然后输入要分配给虚拟机的存储资源的上限。
IOPS是每秒I/O操作数。
在默认情况下,IOPS无限制。
选择低(500)、正常(1000)或高(2000),或者可以选择“自定义”输入用户定义的份额量。
7单击确定。
结果主机和群集的份额及限制在虚拟机选项卡上的“相关对象”下方显示。
VMware,Inc. 47 vSphere资源管理 启用StorageI/OControl 启用StorageI/OControl后,如果数据存储平均滞后时间超过阈值,则ESXi会监控数据存储滞后时间并限制I/O负载。
步骤1在vSphereWebClient导航器中,浏览到数据存储。
2单击管理选项卡。
3依次单击设置和常规。
4针对数据存储功能单击编辑。
5选中启用StorageI/OControl对话框。
6单击确定。
结果在数据存储功能下,即会针对数据存储启用StorageI/OControl。
设置StorageI/OControl阈值 数据存储的拥堵阈值是数据存储所允许的滞后时间上限,超过该值后,StorageI/OControl将开始根据份额将重要性分配给虚拟机工作负载。
在大部分环境中,都不需要调整阈值设置。
小心如果共享两个不同数据存储上的同一心轴,则StorageI/OControl将无法正常运行。
如果要更改拥堵阈值设置,请根据以下事项来设置该值。
n值越大,通常会导致总吞吐量越大,隔离越弱。
除非整体平均滞后时间高于阈值,否则不会出现限制。
n如果吞吐量比滞后时间更重要,请不要将该值设置得过低。
例如,对于光纤通道磁盘,低于20ms的 值可降低磁盘吞吐量峰值。
当该值非常大(超过50毫秒)时,可能会出现滞后时间长而总吞吐量却并未显著增加的情况。
n值越小,则设备的滞后时间就越短,且虚拟机I/O性能隔离将越强。
隔离增强意味着份额控制的实施更加频繁。
设备滞后时间越短,则拥有最高份额的虚拟机的I/O滞后时间越短,但同时会导致份额较低的虚拟机的I/O滞后时间更长。
n非常低的值(小于20毫秒)会使设备的滞后时间更短,I/O之间的隔离更强,但有可能会降低数据存储总吞吐量。
n将值设置极高或极低会导致隔离性变差。
前提条件验证是否启用了StorageI/OControl。
VMware,Inc. 48 vSphere资源管理 步骤1在vSphereWebClient导航器中,浏览到数据存储。
2依次单击管理选项卡和设置。
3单击常规。
4针对数据存储功能单击编辑。
5选中启用StorageI/OControl对话框。
当数据存储以其吞吐量峰值的90%运行时,StorageI/OControl会自动将滞后时间阈值设置为与估计滞后时间相对应。
6(可选)调整拥堵阈值。
u从吞吐量峰值百分比下拉菜单中选择一个值。
吞吐量峰值百分比指示当数据存储使用其估计吞吐量峰值百分比时的估计滞后时间阈值。
u从手动下拉菜单中选择一个值。
该值必须介于5毫秒到100毫秒之间。
如果设置了错误的拥堵阈值,则可能会对数据存储上虚拟机的性能不利。
7(可选)单击重置为默认值,将拥堵阈值设置还原为默认值(30毫秒)。
StorageDRS与存储配置文件集成 基于存储策略的管理(SPBM)允许您为虚拟机指定由StorageDRS执行的策略。
一个数据存储群集可以包含一组具备不同功能配置文件的数据存储。
如果虚拟机具有关联的存储配置文件,则StorageDRS可以根据基础数据存储功能执行放置。
在StorageDRS与存储配置文件集成过程中,引入了StorageDRS群集级别高级选项EnforceStorageProfiles。
高级选项EnforceStorageProfiles使用以下整数值之一:0、1或
2。
默认值为
0。
当选项设置为0时,表示StorageDRS群集中不会执行任何存储配置文件或策略。
当选项设置为1时,表示StorageDRS群集中将软性执行存储配置文件或策略。
这类似于DRS软规则。
StorageDRS将在最佳级别遵守存储配置文件或策略。
但如果要求违反存储配置文件合规性,StorageDRS也会按要求执行操作。
只有在存储配置文件执行被设置为1时,StorageDRS关联性规则的优先级才会高于存储配置文件。
当选项设置为2时,表示StorageDRS群集中将硬性执行存储配置文件或策略。
这类似于DRS硬规则。
StorageDRS不会违反存储配置文件或策略合规性。
存储配置文件的优先级高于关联性规则。
StorageDRS将生成错误:无法解决反关联性规则的违反问题(couldnotfixanti-affinityruleviolation) 前提条件默认情况下,StorageDRS不会执行与虚拟机关联的存储策略。
请根据您的需求,配置EnforceStorageProfiles选项。
选项包括默认
(0)、软性要求
(1)或硬性要求
(2)
步骤1以管理员身份登录到vSphereWebclient。
VMware,Inc. 49 vSphere资源管理 2在vSphereWebClient中,单击StorageDRS群集,然后选择管理>设置>StorageDRS。
3单击编辑>高级选项>配置参数,然后选择添加。
4单击“选项”标题下方的区域,并键入EnforceStorageProfiles。
5单击之前输入的高级选项名称右侧的“值”标题下方的区域,并键入值0、1或
2。
6单击确定。
VMware,Inc. 50 管理资源池
9 资源池是灵活管理资源的逻辑抽象。
资源池可以分组为层次结构,用于对可用的CPU和内存资源按层次结构进行分区。
每个独立主机和每个DRS群集都具有一个(不可见的)根资源池,此资源池对该主机或群集的资源进行分组。
根资源池之所以不显示,是因为主机(或群集)与根资源池的资源总是相同的。
用户可以创建根资源池的子资源池,也可以创建用户创建的任何子资源池的子资源池。
每个子资源池都拥有部分父级资源,然而子资源池也可以具有各自的子资源池层次结构,每个层次结构代表更小部分的计算容量。
一个资源池可包含多个子资源池和/或虚拟机。
您可以创建共享资源的层次结构。
处于较高级别的资源池称为父资源池。
处于同一级别的资源池和虚拟机称为同级。
群集本身表示根资源池。
如果不创建子资源池,则只存在根资源池。
在以下示例中,RP-QA是RP-QA-UI的父资源池。
RP-Marketing与RP-QA是同级。
紧靠RPMarketing下面的三个虚拟机也是同级。
图9-
1.资源池层次结构中的父级、子级和同级 根资源池 同级 同级 父资源池子资源池 对于每个资源池,均可指定预留、限制、份额以及预留是否应为可扩展。
随后该资源池的资源将可用于子资源池和虚拟机。
本章讨论了以下主题:n为什么使用资源池?n创建资源池n编辑资源池n将虚拟机添加到资源池 VMware,Inc. 51 vSphere资源管理 n从资源池移除虚拟机n移除资源池n资源池接入控制 为什么使用资源池? 通过资源池可以委派对主机(或集群)资源的控制权,在使用资源池划分集群内的所有资源时,其优势非常明显。
可以创建多个资源池作为主机或集群的直接子级,并对它们进行配置。
然后便可向其他个人或组织委派对资源池的控制权。
使用资源池具有下列优点。
n灵活的层次结构组织—根据需要添加、移除或重组资源池,或者更改资源分配。
n资源池之间相互隔离,资源池内部相互共享—顶级管理员可向部门级管理员提供一个资源池。
某部门 资源池内部的资源分配变化不会对其他不相关的资源池造成不公平的影响。
n访问控制和委派—顶级管理员使资源池可供部门级管理员使用后,该管理员可以在当前的份额、预留 和限制设置向该资源池授予的资源范围内进行所有的虚拟机创建和管理操作。
委派通常结合权限设置一起执行。
n资源与硬件的分离—如果使用的是已启用DRS的集群,则所有主机的资源始终会分配给集群。
这意味着管理员可以独立于提供资源的实际主机来进行资源管理。
如果将三台2GB主机替换为两台3GB主机,您无需对资源分配进行更改。
这一分离可使管理员更多地考虑聚合计算能力而非各个主机。
n管理运行多层服务的各组虚拟机—为资源池中的多层服务进行虚拟机分组。
您无需对每个虚拟机进行资源设置,相反,通过更改所属资源池上的设置,您可以控制对虚拟机集合的聚合资源分配。
例如,假定一台主机拥有多个虚拟机。
营销部门使用其中的三个虚拟机,QA部门使用两个虚拟机。
由于QA部门需要更多的CPU和内存,管理员为每组创建了一个资源池。
管理员将QA部门资源池和营销部门资源池的CPU份额分别设置为高和正常,以便QA部门的用户可以运行自动测试。
CPU和内存资源较少的第二个资源池足以满足营销工作人员的较低负载要求。
只要QA部门未完全利用所分配到的资源,营销部门就可以使用这些可用资源。
下图中的数字显示了向资源池的有效分配。
VMware,Inc. 52 vSphere资源管理 图9-
2.向资源池分配资源 6GHz,3GB 主机 RP-QA4GHz,2GB RPMarketing2GHz,1GB VM-QA1 VM-QA2 VM-Marketing1VM-Marketing2VM-Marketing3 创建资源池 可以创建任何ESXi主机、资源池或DRS群集的子资源池。
注如果已将某台主机添加到群集,将无法创建该主机的子资源池。
如果已为DRS启用群集,则可以创建群集的子资源池。
创建子资源池时,系统将提示您输入资源池属性信息。
系统使用接入控制确保您不能分配不可用的资源。
前提条件将vSphereWebClient连接到vCenterServer系统。
步骤1在vSphereWebClient导航器中,选择资源池的父对象(主机、其他资源池或DRS群集)。
2右键单击对象,然后选择新建资源池。
3键入用来标识资源池的名称。
4指定CPU和内存资源的分配方式。
资源池的CPU资源是主机为资源池预留的保证物理资源。
通常,您接受默认值,并让主机处理资源分配。
选项份额 预留 描述 指定此资源池相对于父级的总资源的份额值。
同级资源池根据由其预留和限制限定的相对份额值共享资源。
n选择低、正常或高,这三个级别分别按1:2:4这个比率指定份额值。
n选择自定义可为每个虚拟机提供表示比例权重的特定份额数。
为此资源池指定保证的CPU或内存分配量。
默认值为“0”。
非零预留将从父级(主机或资源池)的未预留资源中减去。
这些资源被认为是预留资源,无论虚拟机是否与该资源池相关联也是如此。
VMware,Inc. 53 vSphere资源管理 选项可扩展预留 限制 描述 选中此复选框(默认设置)后,会在接入控制过程中考虑可扩展预留。
如果在该资源池中打开一台虚拟机的电源,并且虚拟机的总预留大于该资源池的预留,则该资源池可以使用父级或父项的资源。
指定此资源池的CPU或内存分配量的上限。
您通常可以接受默认值(无限)。
要指定限制,请取消选中无限复选框。
5单击确定。
结果创建资源池后,即可向其添加虚拟机。
虚拟机的份额与同一父资源池内的其他虚拟机(或资源池)相关。
示例:创建资源池 假定有一个主机,提供6GHz的CPU和3GB的内存,这些CPU和内存必须在营销部门和QA部门间进行共享。
还需要不均等地共享资源,并授予一个部门(QA)更高的优先级。
通过为每个部门创建一个资源池并使用份额属性区分资源分配优先级,可完成此任务。
本示例展示了如何使用ESXi主机作为父资源来创建资源池。
1在“创建资源池”对话框中,键入QA部门的资源池的名称(例如RP-QA)。
2将RP-QA的CPU和内存资源份额指定为高。
3创建第二个资源池RP-Marketing。
将CPU和内存的“份额”保留为正常。
4单击确定。
如果存在资源冲突,则RP-QA接收4GHz和2GB的内存,RP-Marketing接收2GHz和1GB的内存。
否则,它们可以接收超过此分配的量。
这些资源随后即可供各自资源池内的虚拟机使用。
编辑资源池 创建资源池后,可以编辑其CPU和内存资源设置。
步骤1在vSphereWebClient导航器中,浏览到资源池。
2依次单击管理选项卡和设置。
3(可选)您可以更改选定资源池的所有属性,如创建资源池中所述。
u在“CPU资源”下,单击编辑以更改CPU资源设置。
u在“内存资源”下,单击编辑以更改内存资源设置。
4单击确定保存更改。
VMware,Inc. 54 vSphere资源管理 将虚拟机添加到资源池 创建虚拟机时,可以在创建过程中指定资源池位置。
也可以将现有的虚拟机添加到资源池。
将虚拟机移至新的资源池时:n该虚拟机的预留和限制不会发生变化。
n如果该虚拟机的份额为高、中或低,份额百分比会有所调整以反映新资源池中使用的份额总数。
n如果已为该虚拟机指定了自定义份额,该份额值将保持不变。
注由于份额分配是相对于资源池的,因此,当您将虚拟机移入资源池时可能必须手动更改虚拟机的份额,以便虚拟机的份额与新资源池中的相对值保持一致。
如果虚拟机所占总份额的比例过大(或过小),将显示警告。
n在监控下,资源预留选项卡中显示的有关资源池的预留和未预留CPU和内存资源的信息将发生变化,以反映与该虚拟机关联的预留(如果有)。
注如果虚拟机已关闭电源或挂起,可以移动该虚拟机,但资源池的可用资源总量(例如预留和未预留的CPU和内存资源)不受影响。
步骤1在vSphereWebClient清单中查找虚拟机。
a要查找虚拟机,请选择数据中心、文件夹、群集、资源池或主机。
b单击相关对象选项卡,然后单击虚拟机。
2右键单击虚拟机,然后单击迁移。
n可以将虚拟机移到另一主机。
n可以将虚拟机的存储移到另一数据存储。
n可以将虚拟机移到另一主机,并将其存储移到另一数据存储。
3选择要在其中运行该虚拟机的资源池。
4检查选择内容,然后单击完成。
结果如果某个虚拟机已打开电源,且目标资源池的CPU或内存不足以保证该虚拟机的预留,移动操作将会失败,因为接入控制不允许该操作。
一个错误对话框将显示可用资源与请求的资源,以便您可以考虑是否能够通过调整来解决此问题。
VMware,Inc. 55 vSphere资源管理 从资源池移除虚拟机 通过将虚拟机移动到另一个资源池或将其删除,可以从资源池中移除虚拟机。
从某个资源池中移除虚拟机时,与该资源池相关联的份额总数将减少,从而使每个剩余的份额代表更多资源。
例如,假定您有一个有权使用6GHz的资源池,其中包含三台份额设置为正常的虚拟机。
假定虚拟机受CPU限制,每个虚拟机获得2GHz的相等分配额。
如果将其中一个虚拟机移至其他资源池,剩余的两个虚拟机将各获得3GHz的相等分配额。
步骤1在vSphereWebClient导航器中,浏览到资源池。
2选择下列方法之一将虚拟机从资源池移除。
n右键单击虚拟机,然后选择迁移,将虚拟机移到其他资源池。
在移动虚拟机之前,无需关闭其电源。
n右键单击虚拟机,然后选择删除。
必须关闭虚拟机电源才能将其完全移除。
移除资源池 您可以从清单中移除资源池。
步骤1在vSphereWebClient中,右键单击资源池,然后选择删除。
此时将显示确认对话框。
2单击是以移除资源池。
资源池接入控制 在资源池内打开虚拟机电源时,或尝试创建子资源池时,系统会执行其他接入控制以确保不违反资源池的限制。
在打开虚拟机的电源或创建资源池之前,请使用vSphereWebClient中的资源预留选项卡来确保有足够的资源可用。
CPU和内存的可用预留值显示了未预留的资源。
如何计算可用的CPU和内存资源以及是否执行操作取决于预留类型。
VMware,Inc. 56 vSphere资源管理 表9-
1.预留类型 预留类型固定的 可扩展(默认) 描述 系统检查所选资源池是否有足够的未预留资源。
如果有,则可以执行操作。
否则将显示一条消息,而且无法执行操作。
系统考虑所选资源池及其直接父资源池中的可用资源。
如果对于父资源池也选中了可扩展预留选项,它还可以从其父资源池中借用资源。
只要选中了可扩展预留选项,就会以递归方式向当前资源池的祖先借用资源。
将该选项保持选中状态可提供更高的灵活性,但提供的保护将会同时减少。
子资源池所有者预留的资源可能大于您的预期值。
系统不允许违反预先配置的预留或限制设置。
每次重新配置资源池或打开虚拟机电源时,系统都会验证所有参数以确保仍能实现各服务级别保证。
可扩展预留示例
1 此示例显示了具有可扩展预留的资源池的工作方式。
假定某个管理员负责管理资源池
P,并定义了两个子资源池S1和S2,分别用于两个不同的用户(或组)。
该管理员知道用户将要打开具有预留的虚拟机的电源,但不知道每个用户需要预留多少资源。
为S1和S2设置可扩展预留可使管理员更加灵活地共享和继承资源池P的公用预留。
如果不使用可扩展预留,管理员需要向S1和S2明确分配具体的资源量。
这种具体的分配可能欠缺灵活性,特别是在较深的资源池层次结构中,并且可能使资源池层次结构中的预留设置操作复杂化。
可扩展预留会造成缺少严格的隔离。
S1可使用P的全部预留启动,致使S2无法直接使用任何CPU或内存资源。
可扩展预留示例
2 此示例显示了具有可扩展预留的资源池的工作方式。
假定以下情形,如图所示。
n父资源池RP-MOM具有6GHz的预留及一台预留了1GHz的运行中的虚拟机。
n您创建了一个具有2GHz预留的子资源池RP-KID,并选中可扩展预留。
n您向子资源池添加两个各具有2GHz预留的虚拟机(即VM-K1和VM-K2),并尝试打开其电源。
nVM-K1可直接从RP-KID(具有2GHz)预留资源。
nVM-K2没有本地资源可用,因此它将从父资源池RP-MOM中借用资源。
RP-MOM现有资源为6GHz 减去1GHz(由虚拟机预留)再减去2GHz(由RP-KID预留),剩下3GHz的未预留资源。
利用3GHz的可用资源,您可以打开这个2GHz虚拟机的电源。
VMware,Inc. 57 vSphere资源管理 图9-
3.可扩展资源池的接入控制:成功打开电源 6GHzRP-MOM 2GHzRP-KID VM-M1,1GHz VM-K1,2GHzVM-K2,2GHz 现在假设另一个包含VM-M1和VM-M2的应用场景。
n打开RP-MOM中总预留为3GHz的两个虚拟机的电源。
n您依然可打开RP-KID中的VM-K1的电源,因为本地有2GHz可用。
n当您尝试打开VM-K2的电源时,RP-KID已无未预留的CPU容量,因此会检查其父级。
RP-MOM只 有1GHz的未预留容量可用(RP-MOM的5GHz已被占用—3GHz由本地虚拟机预留,2GHz由RP-KID预留)。
因此,您无法打开需要2GHz预留的VM-K2的电源。
图9-
4.可扩展资源池的接入控制:无法打开电源 6GHzRP-MOM 2GHzRP-KID VM-M1,1GHzVM-M2,2GHz VM-K1,2GHzVM-K2,2GHz VMware,Inc. 58 创建DRS集群 10 集群是一组具有共享资源和共享管理界面的ESXi主机和相关虚拟机。
必须首先创建集群并启用DRS,然后才能从集群级别资源管理中获益。
在集群中使用vSphereFaultTolerance(vSphereFT)虚拟机时,DRS的行为有所不同,具体取决于是否启用了EnhancedvMotionCompatibility(EVC)。
表10-
1.在使用vSphereFT虚拟机和EVC情况下的DRS行为 EVC DRS(负载平衡) DRS(初始放置) 已启用 已启用(主虚拟机和辅助虚拟机) 已启用(主虚拟机和辅助虚拟机) 已禁用 已禁用(主虚拟机和辅助虚拟机) 已禁用(主虚拟机)
全自动(辅助虚拟机) 本章讨论了以下主题:n接入控制和初始放置位置n虚拟机迁移nDRS集群要求n配置带有虚拟闪存的DRSn创建群集n编辑群集n创建DRS群集n设置虚拟机的自定义自动化级别n禁用DRSn还原资源池树 VMware,Inc. 59 vSphere资源管理 接入控制和初始放置位置 尝试在已启用DRS的群集内打开一个或一组虚拟机的电源时,vCenterServer会执行接入控制。
它会检查群集内是否有足够的资源来支持虚拟机。
如果群集没有足够的资源来打开单个虚拟机的电源,或在组打开电源尝试中无法打开任何虚拟机的电源,将会显示一条消息。
否则,对于每台虚拟机,DRS将生成要在其上运行虚拟机的主机的建议,并执行以下操作之一n自动执行放置位置建议。
n显示用户随后可以选择接受或覆盖的放置位置建议。
注对于独立主机或非DRS群集内的虚拟机,不提出任何初始放置位置建议。
这些虚拟机将会在打开电源时被置于当前所驻留的主机上。
单个虚拟机打开电源 在DRS集群中,可以打开单个虚拟机的电源,并接受初始放置位置建议。
打开单个虚拟机电源时,有两种类型的初始放置位置建议:n打开单个虚拟机电源,不需要任何必备条件步骤。
用户将拥有虚拟机的初始放置位置建议列表,这些建议是互斥的。
您只能选择一种建议。
n打开单个虚拟机的电源,但需要执行必备条件操作。
这些操作包括在待机模式下打开主机电源或在主机间迁移其他虚拟机。
在这种情况下,提供的建议具有多行,显示每个必备条件操作。
用户可以接受整个建议,也可以取消打开虚拟机电源。
组打开电源 可以尝试同时启动多个虚拟机(组启动)。
选定进行组启动尝试的虚拟机不必位于同一个DRS群集内。
可以在群集间选择虚拟机,但它们必须属于同一数据中心。
也可以包括位于非DRS群集或独立主机上的虚拟机。
这些虚拟机会自动启动并且不包括在任何初始放置位置建议中。
每个群集均提供组启动尝试的初始放置位置建议。
如果组启动尝试的与放置位置相关的所有操作都处于自动模式,虚拟机将启动,而不提出任何初始放置位置建议。
如果任何虚拟机的与放置位置相关的操作处于手动模式,则所有虚拟机(包括处于自动模式的虚拟机)都将手动启动,并且包括在初始放置位置建议中。
对于已启动的虚拟机所属的每个DRS群集,均会有一个包含所有必备条件的建议(或没有建议)。
所有特定于此类群集的建议都显示在“启动建议”选项卡下。
如果进行了非自动组打开电源尝试,且包括了不受限于初始放置位置建议的虚拟机(即独立主机或非DRS群集上的虚拟机),vCenterServer会尝试自动打开这些虚拟机的电源。
如果这些虚拟机自动启动成功,则会在“已开始启动”选项卡下列出。
那些无法启动的虚拟机则在“失败的启动”选项卡下列出。
VMware,Inc. 60 vSphere资源管理 示例:组打开电源 用户选择同一数据中心中的三个虚拟机进行组启动尝试。
前两个虚拟机(VM1和VM2)在同一DRS群集(Cluster1)中,而第三个虚拟机(VM3)则在一台独立主机上。
VM1处于自动模式,而VM2处于手动模式。
在此方案中,用户将获得Cluster1的初始放置位置建议(位于“启动建议”选项卡下),其中包含启动VM1和VM2的操作。
将尝试自动启动VM3,如果成功,则会在“已开始启动”选项卡下列出VM3。
如果此尝试失败,则会在“失败的启动”选项卡下列出VM3。
虚拟机迁移 尽管DRS执行初始放置位置以便跨集群平衡负载,但是虚拟机负载和资源可用性中的更改可能会导致集群失衡。
要更正此失衡情况,DRS将生成迁移建议。
如果在集群上启用了DRS,则可以更均匀地分配负载,从而降低不平衡程度。
例如,下图中左侧的三台主机不平衡。
假定主机
1、主机2和主机3具有相同的容量,且所有虚拟机的配置和负载(包括预留,如果已设置)均相同。
但是,由于主机1有六个虚拟机,其资源可能被过度利用,而主机2和主机3上有丰富的可用资源,因此,DRS会将虚拟机从主机1迁移到主机2和主机3(或提出迁移建议)。
该图右侧显示了正确平衡负载之后所呈现的主机配置。
图10-
1.负载平衡 虚拟机1虚拟机2虚拟机
3 虚拟机4虚拟机
5 主机
1 虚拟机
6 虚拟机1虚拟机2虚拟机
3 主机
1 虚拟机
7 主机
2 虚拟机7虚拟机4虚拟机
5 主机
2 虚拟机8虚拟机
9 主机
3 虚拟机8虚拟机9虚拟机
6 主机
3 当集群不平衡时,DRS将根据默认的自动化级别,提出建议或迁移虚拟机: n如果所涉及的集群或任何虚拟机为手动或半自动,则vCenterServer不执行自动操作来平衡资源。
“摘要”页面会指示有迁移建议,“DRS建议”页面会显示最有效地利用集群内资源的更改建议。
VMware,Inc. 61 vSphere资源管理 n如果所涉及的集群或虚拟机均为全自动,则vCenterServer将根据需要在主机间迁移正在运行的虚拟机,以确保高效利用集群资源。
注即使是在自动迁移设置中,用户也可以显式迁移单个虚拟机,但vCenterServer可能会将这些虚拟机迁移到其他主机,以优化集群资源。
默认情况下,自动化级别是为整个集群指定的。
也可以为单个虚拟机指定自定义的自动化级别。
DRS迁移阈值 DRS迁移阈值允许您指定要生成并应用的建议(如果建议中所涉及的虚拟机处于全自动模式)或要显示的建议(如果处于手动模式)。
此阈值还用来度量主机(CPU和内存)负载之间可以接受的群集不平衡程度。
可以移动阈值滑块以使用从“保守”到“激进”这五个设置中的一个。
这五种迁移设置将根据其所分配的优先级生成建议。
每次将滑块向右移动一个设置,将会允许包含下一较低优先级的建议。
“保守”设置仅生成优先级1的建议(强制性建议),向右的下一级别则生成优先级2的建议以及更高级别的建议,然后依次类推,直至“激进”级别,该级别生成优先级5的建议和更高级别的建议(即,所有建议)。
每个迁移建议的优先级是使用群集的负载不平衡衡量指标进行计算的。
该衡量指标在vSphereWebClient中的群集“摘要”选项卡中显示为“当前主机负载标准偏差”。
负载越不平衡,所生成迁移建议的优先级会越高。
有关该指标以及如何计算建议优先级的详细信息,请参见VMware知识库文章“计算VMwareDRS迁移建议的优先级”。
在建议收到优先级后,会将该级别与您所设置的迁移阈值进行比较。
如果优先级低于或等于阈值设置,则会应用该建议(如果相关虚拟机均处于全自动模式),或向用户显示该建议以进行确认(如果处于手动或半自动模式)。
迁移建议 如果创建带有默认模式(手动或半自动)的集群,则vCenterServer将在“DRS建议”页面上显示迁移建议。
系统将提供足够的建议,以强制实施规则并平衡集群的资源。
每条建议均包含要移动的虚拟机、当前(源)主机和目标主机,以及提出建议的原因。
原因可能为以下之一:n平衡平均CPU负载或预留。
n平衡平均内存负载或预留。
n满足资源池预留。
n满足关联性规则。
n主机正在进入维护模式或待机模式。
注如果使用vSphereDistributedPowerManagement(DPM)功能,那么,除了迁移建议外,DRS还会提供主机电源状况建议。
VMware,Inc. 62 vSphere资源管理 DRS集群要求 添加到DRS集群的主机必须满足某些要求才能成功使用集群功能。
共享存储器要求 DRS集群具有特定的共享存储要求。
确保受管主机使用共享存储器。
共享存储器通常位于SAN上,但也可以通过使用NAS共享存储器来实现。
有关其他共享存储器的信息,请参见vSphere存储文档。
共享的VMFS卷要求 DRS集群具有某些共享的VMFS卷要求。
配置所有受管主机以使用共享VMFS卷。
n将所有虚拟机的磁盘置于可通过源主机和目标主机访问的VMFS卷上。
n确保VMFS卷足够大,可以存储虚拟机的所有虚拟磁盘。
n确保源主机及目标主机上的所有VMFS卷都使用卷名称,并且所有虚拟机都使用这些卷名称来指定虚 拟磁盘。
注虚拟机交换文件还需要放在源主机和目标主机均可以访问的VMFS上(就像.vmdk虚拟磁盘文件一样)。
如果所有的源主机及目标主机都是ESXServer3.5或更高版本,并且使用主机-本地交换,则此要求将不适用。
这种情况下,支持将带有交换文件的vMotion置于非共享存储器上。
默认情况下,交换文件置于VMFS上,但管理员可以使用高级虚拟机配置选项替代此文件位置。
处理器兼容性要求 DRS集群具有特定的处理器兼容性要求。
为了避免限制DRS的功能,应当将集群内源和目标主机的处理器兼容性最大化。
vMotion在基础ESXi主机之间传输虚拟机的运行架构状况。
vMotion兼容性是指目标主机的处理器必须能够使用等效指令,从源主机的处理器在挂起时的状态继续执行。
处理器时钟速度和缓存大小可能不同,但处理器必须属于相同的供应商类别(Intel与AMD)和相同的处理器系列,以便达到通过vMotion迁移所需的兼容性。
处理器系列由处理器供应商定义。
可以通过比较处理器的型号、步进级别和扩展功能来区分同一系列中的不同处理器版本。
有时,处理器供应商在同一处理器系列中引入了重大的架构更改(例如64位扩展及SSE3)。
如果不能保证通过vMotion成功迁移,VMware会识别这些异常情况。
VMware,Inc. 63 vSphere资源管理 vCenterServer提供了一些有助于确保通过vMotion迁移的虚拟机满足处理器兼容性要求的功能。
这些功能包括:n增强型vMotion兼容性(EVC)-可以使用EVC帮助确保集群内主机的vMotion兼容性。
EVC可以确 保集群内的所有主机向虚拟机提供相同的CPU功能集,即使这些主机上的实际CPU不同也是如此。
这样可以避免因CPU不兼容而导致通过vMotion迁移失败。
在“集群设置”对话框中配置EVC。
为了使集群能够使用EVC,集群内的主机必须满足某些要求。
有关EVC和EVC要求的信息,请参见vCenterServer和主机管理文档。
nCPU兼容性掩码-vCenterServer会将虚拟机可用的CPU功能与目标主机的CPU功能进行比较,以确定是允许还是禁止通过vMotion迁移。
通过将CPU兼容性掩码应用到单个虚拟机,可以向虚拟机隐藏某些CPU功能,从而防止由于C

标签: #phpmyadmin #服务器 #文件 #怎么看 #文件 #打不开 #放在 #文件