10资源管理和分配内存CPU.docx
《10资源管理和分配内存CPU.docx》由会员分享,可在线阅读,更多相关《10资源管理和分配内存CPU.docx(18页珍藏版)》请在冰豆网上搜索。
10资源管理和分配内存CPU
VSphere的资源管理和分配
第一部分:
管理内存和CPU分配
第二部分:
创建管理pool资源池
第三部分:
创建vApp
第四部分:
网络I/O控制
第五部分:
存储I/O控制
第六部分:
配置执行vMotion
第七部分:
创建管理Cluster
第八部分:
配置管理DRS开启HA功能。
■什么是资源
服务器资源种类一般包括CPU、内存、电源、存储器和网络资源。
■谁可以提供资源
主机和群集(包括数据存储群集)是物理资源的提供方。
对于ESXi主机,可用的资源是主机的硬件规格减去虚拟化软件所用的资源。
群集是一组ESXi主机。
可以使用vSphereClient创建群集,并将多个主机添加到群集。
vCenterServer一起管理这些
主机的资源:
群集拥有所有ESXi主机的全部CPU和内存。
■谁需要使用资源
@虚拟机是资源用户。
创建期间分配的默认资源设置适用于大多数计算机。
可以在以后编辑虚拟机设置,以便基于份额分配占资源提供方的总CPU、内存以及存储I/O的百分比,或者分配所保证的CPU和内存预留量。
打开虚拟机电源时,服务器检查是否有足够的未预留资源可用,并仅在有足够的资源时才允许打开虚拟机电源。
此过程称为接入控制。
@资源池是灵活管理资源的逻辑抽象。
资源池可以分组为层次结构,用于对可用的CPU和内存资源按层次结构
进行分区。
相应地,资源池既可以被视为资源提供方,也可以被视为资源用户。
它们向子资源池和虚拟机提供资源,但是,由于它们也消耗其父资源池和虚拟机的资源,因此它们同时也是资源用户。
ESXi主机/集群(集中全部主机资源)
|父资源池Pool向上:
申请主机/集群中的资源份额(资源用户角色)
向下:
给下辖的子资源池或虚拟机分配资源(资源提供角色)
|子资源池Pool/虚拟机VM
ESXi主机根据以下因素为每台虚拟机分配部分基础硬件资源:
■ESXi主机(或群集)的可用资源总量。
■已打开电源的虚拟机数目和这些虚拟机的资源使用情况。
■管理虚拟化所需的开销。
■由用户定义的资源限制。
管理内存和CPU分配
■虚拟机内存设置
4G(Linux可以通过free-m查看)
VM会以该内存值为基准,VM的OS认为自己的内存确实是
虚拟机认为自己拥有4G的内存,并且最多不会使用超过4G的内存。
■超额的关联内存
可以超额的关联内存给
P8G
VM,例如:
ESXi主机的物理内存只有8G,但是可以给三个VM分配4G的内存。
VM1VM2VM3
4G4G4G(仍然可以分配出4G超额内存,每台主机实际使用可能没有4G)
■ESXi四大高级内存控制技术
■1.pagesharing(透明的页面共享)
P8G
|
VM1VM2VM3
|||
■■■■■■■■■■■■■■■■■■(内存页)
合并标记*的部分
ESXi通过比对各个主机的内存页面数据Hash值,找出具有相同属性的内存页面,清空重复区域,并将相同属
性页面共享给其它主机使用,这样就省去了重复”的内存空间开销
■2Ballooning(气球机制)(需要VM安装VMTools)
P8G
I
VM1VM2VM3
5G5G4G
实际消耗:
4G《----此时VM3没有多余的物理内存使用
在发生这样的资源紧缺时,Ballooning技术通过由VMTools安装在各个VM上的驱动程序,
强制VM快速释放运行过程中的闲置内存,(类似于压榨)。
假设VM1可以压榨出1G,VM2可以压榨出1G,这样,VM3就可以使用2G的物理内存。
■3.Swapping(交换分区)(开辟硬盘空间,取代内存作数据交换,
速度远远低于真实内存”
A.guestOSswapping
B.hypervisorswapping
VM虚拟机自身的swap(使用虚拟硬盘的空间)ESXi主机的swap(使用真实硬盘或者存储的空间)
P8GESXi
|
VM1VM2
实际使用2G5G
VM3开机。
3G==开始时使用1G,后续增长到2G,此时,有1G的内存使用无法满足,
ESXi会将1G内存写入硬盘或者网络存储,产生ESXi主机的Swap。
(磁盘读取速度远远没有内存高,该状况长期持续发生,会造成虚拟机的性能整体下降,最终应该去升级物理内存。
■4.MemoryCompression(内存压缩技术)
当ESXi主机不得不做swap的时候,在将内存数据写入硬盘的同时,
ESXi主机会自动压缩内存数据,50%,可以更加节省硬盘的开辟空间。
恢复的时候速度也比较快
■虚拟机的内存使用控制
CPU
忌咨童;
可玛咨里
3S3MB
0MB
50&BMIHz
OMIHz
50e8MIHz
務,汕u再Trits
限制-E42
僧趟怛
S>05-3
3
IT
25
4wl
J
正宰
10O0
25
书
Qi
a
正幸
Mt)
25
[51xp-i
瓷眼
正蛍
■■己置大小:
它是提供给客户机操作系统的内存量,但
“独立于”
分配给虚拟机的“
ESXi物理
的物理内存使用量,将取决于下文所述的资源设置(份额、预留和限制)
O
RAM量”,实际
每个虚拟机均会根据其“配置大小”消耗内存,还会消耗“额外开销内存”以用于“虚拟化操作”
例如,请考虑配置大小为1GB的虚拟机。
当客户机操作系统引导时,系统会检测到它正运行在具有1GB物理内存
的专用计算机上。
分配给虚拟机的“ESXi物理主机内存”实际数量取决于其内存资源设置和ESXi主机内其他虚拟机的内存争用情况。
有些情况下,可能向虚拟机分配全部内容(即1GB)。
在其他情况下,可能会得到较小的分配量。
无论实际分配如何,虚拟机操作系统都会继续运行,就好像正运行在具有1GB物理内存的专用计算机上一样。
■颤留值:
ESXi主机为虚拟机预留的“ESXi物理内存量下限”,即使内存过载也是如此。
将预留设置为确保虚拟机高效运行的足够内存水平,这样就不会有过多的内存分页。
在虚拟机使用了其全部预留后,会允许其保留该内存量,并且不会将其回收,即使该虚拟机闲置也是如此。
仅在ESXi主机有足够的未使用资源“满足”虚拟机的预留时,vCenterServer或ESXi才允许您打开虚拟机电源。
物理服务器负载较重,服务器也会确保该资源量。
预留用具体单位(兆赫兹(GHz)或兆字节(MB))表示。
即使
例如,某些客户机操作系统(例如Linux)在引导之后可能不会立即使用所配置的全部内存。
在“虚拟机使用其全部预留之前”,VMkernel可以将其预留的任何未使用部分分配给其他虚拟机。
但是,在客户机的工作负载增加并消耗其全部预留之后,允许其保留此内存。
预留默认为0。
也可以指定预留以保证虚拟机始终可使用最少的必要CPU或内存量。
■酿制值:
不论何种情况,主机分配给虚拟机的“物理内存的使用量”的上限。
服务器分配给虚拟机的资源可大于预留,但决不可大于限制,即使系统上有未使用的资源也是如此。
例子:
一台XP虚拟机,配置中设置了1G内存。
那么他的“配置大小”就是1G。
其内存最大不能超过1G
VMlwith1024MBRAM
anda512MBReservation
1024MB(InitialRAM)
此时在VCenter中设置它的“预留值”为512MB,则,物理内存中,一定会有512MB给XP使用,不能撼动。
此时,在512MB---设置值1G之间的内存到底是物理内存
还是SWAP呢?
现在还是未知数。
Couldbesupplied
byhostRAMor
VMKernelSwap
512MB
(Reservation)
Mustbesupplied
byhostRAM
—0MB
@@@@@@@@@@限制,预留和内存开销预留
限制必须等于或者超过配置的预留,如果虚拟机配置了预留,预留直接从资源池中未预定的内存池中减去,为了开启虚拟机,vCenter必须预定虚拟机的内存预留值和内存开销。
开销内存包括为虚拟机框架缓冲区和各种虚拟化数据结构(如卷影页表)预留的空间。
开销内存取决于虚拟机的虚拟CPU数量和虚拟机配置的内存
基本设计原则:
当计算资源池的限制时,预留值和内存开销预留都需要考虑在内。
■酣额值:
当VM对物理资源发生竞争时,份额值决定了资源的“分配比例”不要看绝对值
份额通常指定为高、正常或低,这些值将分别按4:
2:
1的比例指定份额值。
还可以选择自定义为各虚拟机分配特定的份额值(表示比例权重)。
指定份额仅对同级虚拟机或资源池有意义。
同级将根据其相对份额值共享资源,该份额值受预留值和限制值的约束。
为虚拟机分配份额时,始终会相对于其他已打开电源的虚拟机来为该虚拟机指定优先级。
下表显示了虚拟机的默认CPU和内存份额值。
预设高中低三种级别,默认分别按1:
2:
4这个比率指定份额值
设置
CPU份额值
内存份额值
高每个虚拟CPU具有2000个份额所配置的虚拟机内存的每M具有20个份额。
正常每个虚拟CPU具有1000个份额所配置的虚拟机内存的每M具有10个份额。
低每个虚拟CPU具有500个份额所配置的虚拟机内存的每M具有5个份额。
例如,一台具有2个虚拟CPU和1GB内存且CPU和内存份额设置为正常的SMP虚拟机具有2x1000=2000个
CPU份额和10x1024=10240个内存份额。
####SMP:
具有一个以上虚拟CPU的虚拟机称为SMP(对称多处理)虚拟机。
在每个虚拟机上,ESXi最多支持64个虚拟CPU。
■配置内存关联:
主机------>资源分配——>CPU内存存储器
注意下面的概念
VM设置内存值内存预留(reservation)内存限制(limitsets)份额值(shares)
■VM设置内存值
VM能够请求的最大内存数量(实际上可能是ESXi物理内存、也可能是虚拟内存)。
■配置内存预留(reservation)
预留reservation:
决定了这个VM“至少”能够使用多少物理内存,可以小于虚拟机配置值,虚拟机使用超出预留的部分,可能使用swap,也可能使用物理内存,使用物理内存和swap的比例,有下面的份额值确定
VM配置中,设置2G内存。
预留值512M,独占512M的“物理内存”无法撼动。
=============VM配置值2G
||
||
||----剩余的指派,有可能使用物理内存
|也有可能使用虚拟内存
||由“份额值”+“限制值”决定
||
||
=============当虚拟机内存使用量超过512M时
||“预留值512M,独占512M物理内存
||
■配置内存限制(limitsets)
=============VM配置值2G
II
II
||========(剩余的,一定是虚拟内存)
II
II
1限制值,768M,(该虚拟机即使分配到物理内存,那么总物理内存也无法超越)
II
II<这个部分可能是SWAP(无法申请到足够的物理空间)
II也可能是物理内存(物理空间充足)
=============当虚拟机内存使用量超过512M时
II预留值512M,独占512M物理内存
II
虚拟机使用内存超出预留值后。
ESXi主机将会开始根据VM的需求分配闲置的物理内存。
情况1、如果此时ESXi有足够多的物理内存,那么该虚拟机可以得到其余768-512=256M的物理内存分配,
当使用达到限制值时,ballondriver驱动程序会禁止该VM继续使用物理内存,虚拟机继续超额使用内存的话,剩
余的768====2G将全部是ESXi的swap虚拟内存
情况2、如果多台虚拟机的内存使用都超出它们预留值”,并且此时的ESXi主机内存不足应付所有的超额”,此时对于ESXi主机分配下来的闲置物理内存,多个虚拟机将会发生资源抢夺”的情况,此时“份额值”就会产生作用
ESXi8G
I
III
VM1
VM2
VM3
设置
2G
2G
2G
预留
1G
1G
1G=
=此时的闲置物理内存为8-35G(不产生竞争忽略开销值
limit
1.5G
1.5G
1.3G
实际使用
512M
1.5G
1.5G
剩余512独占
0.5超
I
0.5超
I
超出0.5使用物理内存
0.3可以使用物理内存,0.2—定使用虚拟内存
@此时虚拟的需要超额的量为0.5+0.5=1G,而当时物理内存闲置为8-3=5G,没有发生资源抢夺,份额值不起作用
@此时的闲置物理内存为8-3=5G-0.5-0.3=4.2G(理论,不计算虚拟架构本身的消耗)
情况3、
ESXi8G
I
依据份额值:
3G的内存,分配给VM2
(此时VM2剩余的1.8-1.2G=0.6G内存将会使用虚拟内存)
■预设配置份额值(shares)
注意,份额值的配置单位不是M、G,只是一个单纯的比例数。
最终比例要参考。
■■份额■■三种级别1:
2:
4
设置CPU份额值
内存份额值
高每个虚拟CPU具有2000个份额所配置的虚拟机内存的每M具有20个份额。
正常每个虚拟CPU具有1000个份额所配置的虚拟机内存的每M具有10个份额。
低每个虚拟CPU具有500个份额所配置的虚拟机内存的每M具有5个份额。
实例一:
物理主机内存2G
VM1预留500M自定义份额值100050%
VM2预留500M自定义份额值100050%==========此时闲置2-1=1G
VM1争得512M,最终“得到”的物理内存为1G
VM2争得512M,最终“得到”的物理内存为1G
实例二:
物理主机内存2G
VM1预留500M自定义份额值20003/2
VM2预留500M自定义份额值10003/1==========此时闲置2-1=1G
VM1争取到1X3/2GB最终“得到”的物理内存为1166M
VM2争取到1X3/1GB最终“得到”的物理内存为833M
VMCPU介绍
可以为虚拟机配置一个或多个“虚拟处理器vCPU”,每个处理器均具有自己的寄存器和控制结构集合。
当调度虚拟机时,会调度其“虚拟处理器”在“物理处理器上运行”。
VMkernel资源管理器在物理CPU上调度虚拟CPU,从而管理虚拟机对物理CPU资源的访问。
ESXi支持虚拟机
最多具有64个虚拟CPU。
CPU是一个没有被虚拟化的部件,在所有的VM操作系统里面都可以发现CPU是ESXi主机的真实CPU。
虚拟机直接使用物理CPU的时钟频率。
ESXi为所有虚拟机都开了一个hole,让他们可以直接使用物理CPU。
多CPU调度。
支持设置多路CPU,多核心的虚拟机,(说明:
技术不太成熟,推荐使用默认的单核CPU)
在复杂环境,高负载CPU应用时,可以开启多CPU。
注:
在超线程系统中,每个硬件线程都是一个逻辑处理器。
例如,启用了“超线程”的双核处理器具有“2个内核”和“4个逻辑处理器”
物理CPU如果开启超线程技术,开启超线程技术是让1核有2个逻辑线程以模拟2个逻辑内核
2CPU插槽每插槽4核,总共8核,开启超线程技术后,每核可以支持2vCPU,8核就是16vCPU
缺陷特性:
1、不支持VMotion
2、VM基于多核心的负载均衡无法实现
3、无法参与DRS动态资源的调度。
■配置CPU资源控制
CPU资源过载时,ESXi主机将在所有虚拟机之间对物理处理器进行时间划分,以便每个虚拟机在运行时就如同具有指定数目的虚拟处理器一样。
运行多个虚拟机的ESXi主机会为各虚拟机分配一定份额的物理资源。
如果使用默认资源分配设置,与同一主机关联的所有虚拟机都将在每个虚拟CPU上收到相同份额的CPU。
这意味着单处理器虚拟机分配到的资源只有双处理器虚拟机的一半。
环境:
2个单核心的3.0GHzCPU的ESXi主机,存在一个或者多个VM
情况1:
只存在1台运行的VM,此时无资源竞争
情况2:
有2个资源利用率不高的VM在运行,此时也不会产生竞争(比较空闲)
情况3:
2个VM都处于繁忙状态,share值相同的情况下,此时也不会产生资源竞争,2个VM分别由2个核心处理
情况4:
通过设置亲核,2个VM都使用同一个核心,并且2个VM都处于繁忙状态,此时会产生资源竞争如果二者的share值相等,那么二者的资源分配也是均衡的。
情况5:
情况同4,但是VM1的比例为2VM2比例为1,此时在物理时间分配上,VM1会得到更多的CPU时间情况6:
三台VM1VM2VM3,比例2:
1:
1,但此时VM1比较空闲,不占用CPU,或者只占用几百M的CPU,则VM1不会竞争资源,剩余资源由VM2VM3平均分配。
■资源分配设置建议
选择适合ESXi环境的资源分配设置(份额、预留和限制)。
遵循以下准则有助于使虚拟机获得更好性能。
■如需频繁更改总可用资源,可使用份额在虚拟机之间合理分配资源。
例如,如果使用份额,并且升级主机,那
么,即使每个份额代表较大的内存量、CPU量或存储I/O资源量,每个虚拟机也保持相同的优先级(保持相
同数量的份额)。
■使用预留来指定可接受的最低CPU量或内存量,而不是想要使用的量。
主机可以根据份额的数量、估计
需求和虚拟机的限制将额外的资源指定为可用资源。
预留表示的具体资源量不会随环境改变(例如添加或移除
虚拟机)而变化。
■请不要将所有资源全部指定为虚拟机的预留(请计划将至少10%的资源保留为未预留)。
系统容量越接近于
被全部预留,想要在不违反接入控制的情况下更改预留和资源池层次结构就越困难。
在支持DRS的群集内,
如果预留完全占用群集或群集内各台主机的容量,则会阻止DRS在主机之间迁移虚拟机。
■更改资源分配设置一示例======================================
以下示例说明了如何更改资源分配设置以提高虚拟机性能。
假定在某个ESXi主机上,您创建了两个新的虚拟机一一台用于QA(VM-QA)部门,另一台用于市场(VM-Marketing)
部门。
具有两个虚拟机的单台主机
在接下来的示例中,假定VM-QA占用大量内存,因此,您需要将这两个虚拟机的资源分配设置相应地更改为以下内
容:
■指定当系统内存过载时,VM-QA可使用的内存和CPU量是市场部虚拟机的两倍。
将VM-QA的内存份额和
CPU份额设置为高,并将VM-Marketing设置为正常。
■如果保证QA部门的虚拟机具有一定量的CPU/内存资源。
您可以使用预留设置来达到此目的。
步骤
如果选择群集的资源分配选项卡,然后单击CPU,此时应看到VM-QA的份额是另一虚拟机的两倍。
另外,由于虚拟
机尚未打开电源,因此使用的预留字段尚未改变。
1启动vSphereClient并连接到vCenterServer系统。
2在要更改其份额的虚拟机上,右键单击VM-QA,然后选择编辑设置。
3选择资源选项卡,并在CPU面板的份额下拉菜单中选择高。
4在“内存”面板的份额下拉菜单中选择高。
5单击确定。
6右键单击市场部虚拟机(VM-Marketing),然后选择编辑设置。
7在CPU面板中,将预留值更改为所需值。
8单击确定。