【虚拟化实战】Cluster设计之一资源池

简介:

作者:范军 (Frank Fan) 新浪微博:@frankfan7

资源池是Cluster设计中的一个重要概念,本文介绍了为什么用资源池,怎么用好资源池,以及澄清了一些常见的误区。

概念

每个ESXi主机和Cluster缺省都有一个Root资源池。如果没有新的自由池创建的话,整个系统仅仅有一个资源池。

072854908.png

图中所示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,仅仅是有优势抢到资源,但并不意味着就能满足应用的需要。


五 实例

072857546.png

假设一台主机由几台虚拟机,分别属于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














本文转自frankfan751CTO博客,原文链接:http://blog.51cto.com/frankfan/1324634 ,如需转载请自行联系原作者


相关文章
|
虚拟化 KVM Linux
带你读《KVM实战:原理、进阶与性能调优》之一:虚拟化简介
本书兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。
|
9月前
|
Go 虚拟化 云计算
Docker 基础知识解析:容器与传统虚拟化对比:资源利用、启动时间、隔离性和部署效率
Docker 基础知识解析:容器与传统虚拟化对比:资源利用、启动时间、隔离性和部署效率
287 0
|
8月前
|
NoSQL Ubuntu Linux
掌握QEMU虚拟化技术:搭建ARM64+Linux调试环境实战指南
掌握QEMU虚拟化技术:搭建ARM64+Linux调试环境实战指南
|
存储 调度 虚拟化
2.3.1 虚拟资源层 虚拟化软件|学习笔记
快速学习2.3.1 虚拟资源层 虚拟化软件
291 0
2.3.1 虚拟资源层 虚拟化软件|学习笔记
|
存储 KVM 文件存储
【KVM虚拟化】· 存储池、存储卷
【KVM虚拟化】· 存储池、存储卷
528 0
|
存储 运维 Kubernetes
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
|
Linux 虚拟化
top中的st含义—虚拟化底层从你的vm里偷了多少资源
linux在top中打印中有st显示项,这一显示项单位为百分比,它的值表明你的系统花了百分之多少等待得到真正的cpu资源。 在正常情况下在云平台下st最好为0,这表明你的vm得到了所有必要的cpu资源。
4270 0
|
容器 Linux 虚拟化
带你读《Linux实战》之二:Linux虚拟化:构建Linux工作环境
你正在期望学习管理Linux计算机吗?这是一个很好的选择。虽然Linux常常驻留于消费者的桌面计算机上,但它同时也是服务器领域的绝对主宰,特别是虚拟服务器和云服务器。如果你打算管理当前引人关注的服务器和网络体系架构,你将不得不围绕Linux的命令行展开学习。除了第1章之外,本书的每一章都包括一个或两个实际项目。鉴于第1章的内容主要用来填补你的Linux知识体系中可能存在的基础知识空白,因此其组织形式与其他章节有所不同。

热门文章

最新文章