【虚拟化实战】Cluster设计之一资源池
作者:范军 (Frank Fan) 新浪微博:@frankfan7
资源池是Cluster设计中的一个重要概念,本文介绍了为什么用资源池,怎么用好资源池,以及澄清了一些常见的误区。
一概念
每个ESXi主机和Cluster缺省都有一个Root资源池。如果没有新的自由池创建的话,整个系统仅仅有一个资源池。
图中所示RP-Marketing和RP-QA是在Root资源池内新创建的资源池,他们和root资源池是父子关系,他们之间是兄弟关系。
RP-QA-UI是RP-QA下的子资源池。
为了简化管理,通常不建议在资源池内建好几级子资源池,2级资源池应该可以满足绝大多数的情况。
二 为什么使用资源池
授权管理
vCenter管理员可以为每个部门建立资源池,授权特定用户管理该部门的资源池。这样vCenter管理员就无需过多介入对各部门内部资源的控制。
统一策略:
对每个VM进行资源控制费时费力,把有共同需要的VM分配到相应的资源池,可以很便捷的实现资源控制。
资源分离:
对一个资源池的设置改变不会影响到其他资源池,
三基本设计原则
不要仅仅因为逻辑区分或者访问控制的原因,来使用资源池。其实文件夹可以更好的实现该目的。
为了简化管理和减少资源开销,建议资源池的深度不要超过2
不要把虚拟机和资源池分在同一级
不要过度分配资源。在建议资源池之前,检查上一级资源池可供分配的资源。
四 SeparateESXi Cluster vs Resource Pool
如果仅仅从资源分离的角度考虑,需要斟酌是建一个单独的Cluster,还是在Cluster内建资源池。
建议考虑下面的因素:
Cluster内的主机数目
如果一个Cluster有8个以上主机,可以考虑为管理功能的VM设置单独的Cluster。比如vcenter,vCloud,Database等等。 如果主机个数很少,而希望能充分利用资源,在Cluster内建立资源池是更好的选择。
安全
有的公司有非常严格的安全策略,某些特定应用不可以和其他应用共享硬件。为此需要单独设置Cluster,设置为该Cluster分配专属的存储资源。
性能
为了最大化性能的保障,考虑单独的Cluster,能保证充足资源的供给。毕竟资源池还是要共享资源的,在资源竞争很厉害的情况下,资源池的份额设置为High,仅仅是有优势抢到资源,但并不意味着就能满足应用的需要。
假设一台主机由几台虚拟机,分别属于QA和Marketing部门。QA部分需要更多的资源。
设置如下
资源池 |
Share |
Resource Allocation |
RP-QA |
High |
4GHz, 2GB |
RP-Marketing |
Normal |
2GHz, 1GB |
这时候RP-QA内的两个虚拟机,一定比RP-Marketing内的虚拟机更容易在有竞争的情况下抢占到资源。
假如我们在RP-QA内再创建5个VM,那么情况就不一定了。即使RP-QA的share设置为High,但每个VM能抢占到的很有限。
虽然RP-Marketing的RP-Marketing的share设置为Normal,但仅有3个VM,可能每个VM可以抢占的资源比RP-QA内的VM要多。
所以资源池的设置不是一劳永逸,需要密切注意池内的VM数量,可以写一个脚本来根据优先级和VM的数量,自动计算该资源池应该设置的Share数值。
参考:
Resource Allocation Whitepaper
Expandable reservation on resource pools, howdoes it work?
http://www.vmware.com/pdf/vmware_drs_wp.pdf
【虚拟化实战】Cluster设计之一资源池的更多相关文章
- 【虚拟化实战】存储设计之六latency
在[虚拟化实战]存储设计之五IOPS中我们讲了评估存储性能的三个关键指标.也就是Throughput,IOPs和latency.以及三者之间的关系.本文深入介绍Latency过高的原因和一些建议. L ...
- Windows Server 2012 虚拟化实战:网络(二)
关于Windows Server的虚拟化网络,前文描述了在操作系统层面上的出现的配置变化.其中的一些配置通过Windows Server提供的小工具即可实现,如网卡组的配置,而有些需要安装Window ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- 云课堂Android模块化实战--如何设计一个通用性的模块
本文来自 网易云社区 . 如何设计一个通用性的模块 前言 每个开发者都会知道,随着项目的开发,会发现业务在不断壮大,产品线越来越丰富,而留给开发的时间却一直有限,在有限的时间,尽快完成某个功能的迭代. ...
- Python接口自动化测试框架实战 从设计到开发
第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...
- 【虚拟化实战】容灾设计之三Stretched Cluster
作者:范军 (Frank Fan) 新浪微博:@frankfan7 Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个 ...
- 【虚拟化实战】VM设计之一vCPU
作者:范军 (Frank Fan) 新浪微博:@frankfan7 虚拟机需要多少个vCPU呢?是不是个数越多性能越好呢?这方面存在着很多误区.给VM配置CPU资源的时候,要精打细算才能最大可能的利用 ...
- 【虚拟化实战】容灾设计之四VPLEX
作者:范军 (Frank Fan) 新浪微博:@frankfan7 VPLEX等存储设备的出现,可以实现双活数据中心,最大程度的有效利用运算和存储资源. 在“容灾设计之三Stretched Clust ...
- 【虚拟化实战】容灾设计之一VR vs SRM
作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...
随机推荐
- MySQL数据库之索引
1 引言 在没有索引的情况下,如果要寻找特定行,数据库可能要遍历整个数据库,使用索引后,数据库可以根据索引找出这一行,极大提高查询效率.本文是对MySQL数据库中索引使用的总结. 2 索引简介 索引是 ...
- mongodb spring 配置文件
在使用spring-data-mongodb中,需要配置spring文件,如下: mongodb.xml <?xml version="1.0" encoding=" ...
- [POJ1144]Network
来源:Central Europe 1996 思路:Tarjan求割点. 一个点$x$为割点当且仅当: 1.$x$为根结点且有两棵不相交的子树. 2.$x$不为根结点且它的子树中没有可以返回到$x$的 ...
- hdu 4612 边双联通 ***
题意:有N 个点,M条边,加一条边,求割边最少.(有重边) 链接:点我 先求双连通分量,缩点形成一个生成树,然后求这个的直径,割边-直径即是答案 #pragma comment(linker, &qu ...
- hdu 5195 线段树
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABIgAAABeCAIAAADHZri1AAATWklEQVR4nO3dvU4jTRaA4b2nvgNzBw
- HDU 4813 Hard Code(水题,2013年长春现场赛A题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4813 签到题. 把一个字符串按照格式输出就可以了,很水 #include <stdio.h> ...
- 【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
(1)GCD实现的同步异步.串行并行. --同步sync应用场景:用户登录,利用堵塞 --串行异步应用场景:下载等耗时间的任务 /** * 由于是异步.所以开通了子线程.可是由于是串行队列,所以仅仅须 ...
- 在ASP.NET MVC中使用Knockout实践05,基本验证
本篇体验View Model验证.Knockout的subscribe方法能为View Model成员注册验证规则. @{ ViewBag.Title = "Index"; Lay ...
- JavaScript进阶系列07,鼠标事件
鼠标事件有Keydown, Keyup, Keypress,但Keypress与Keydown和Keyup不同,如果按ctrl, shift, caps lock......等修饰键,不会触发Keyp ...
- 在后台运行rtorrent
本来一直是用transmission做PT的客户端的,但是transmission的功能实在是太弱了,web-gui显示的信息也实在是太有限.在别人的推荐下,总算下定决心换rtorrent+wtorr ...