【虚拟化实战】主机设计之一Sizing

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

在虚拟化项目的前期,估计预算的时候要对需要的主机有个大概的计划。需要什么类型的主机?每台主机的配置如何?需要多少?

我们假设一个场景来展开讨论。

某公司有50台物理服务器,打算移植到虚拟化平台上来。以下三个步骤可以帮你找到答案。

一 分析需求 搜集数据

一定要对需求有充分的了解。是否需要把已有的物理主机移植到这个虚拟化环境?物理主机上运行的应用是什么?资源使用的平均值和峰值?

VMware CapacityPlanner可以很方便的从已有物理主机上搜集这些信息,并能生成很直观的报告。或者也可以使用perfmon等工具手工收集数据。

假设以下场景:

50台物理主机的平均Core数目是4,平均的CPU主频是2000Mhz。在高峰期的CPU 占用率是12%

Average CPU per physical(MHz)

CPU主频 * Core数目

2000 MHz * 4 = 8000 MHz

Average peak CPU utilization (MHz)

Average CPU per physical * 高峰期的CPU 占用率

8,000MHz x 12% = 960Mhz

Total peak CPU utilization(MHz)

Average peak CPU utilization * 主机的数目

960MHz x 50 = 48,000MHz




每台物理RAM平均是4G,峰值占用率平均为52%


Average peak RAM utilization

Average RAM per physical (MB) x Average Peak RAM utilization (percentage)

4,000MB x 52% = 2080MB

Total peak RAM utilization

Average peak RAM utilization (MB) x Number of concurrent VM’s

2080MB x 50 = 104,000MB

大家需要特别注意,我们这里采用高峰期的占用率,也就是负载最大情况下对运算资源的需求。对于某些应用要知道什么事情、什么时间段有可能是峰值,在数据采集时数据要全面。


二 虚拟化主机的选择

已有主机

可能该用户已经和某个厂商有合作,最好能评估是否该厂商有合适的主机。具体参考VMware HCLHardware Compatibility list)

Scale out vs Scale up

Scale up指采用高配置主机,从而减少主机数量。Scale out指采用配置相对较低的主机,数量较多。

这其中的权衡要考虑的方面很多。在允许的情况下,我个人倾向于低配置,数量多。

优点:

·每台主机上运行的虚拟机数量较少,在主机宕机情况下,HA可以很快的把受到影响的虚拟机在其他主机上重新启动。从而对用户的影响减到最小。

·DRS可以较好的在多个主机间平衡负载

·在主机升级时有很大的余地,可以用较短的时间来vMotion该主机上的虚拟机。

可能的缺点:

·占用的数据中心空间可能较大。所以如果主机数量很多时,刀片服务器可能是较好的选择。

·可能支持成本会高。某些服务器支持的外包合同中,支持成本是和主机的数量有联系的

主机CPU配置:

是选择主频高,core数量较少,还是主频低,core数量较多?因为两种选择CPU的运算资源可能是一样的。是否有的虚拟机所需大量的内存?

需要考虑NUMA的一些影响因素。

网络带宽和存储带宽:

尽量选择主流。比如10G带宽的网卡

依据以上考虑,假设的主机配置如下:

CPU:

Attributes

Specification

Number of CPUs (sockets) per host

2

Number of cores per CPU

6

MHz per CPU core

2000 MHz

Total CPU MHz per host

24,000 MHz

Proposed maximum host CPU utilization

80%

Available CPU MHz per host

19,200 MHz

RAM:

Attributes

Specification

Total RAM per host

80,000 MB

Proposed maximum host RAM utilization

70%

Available host RAM per host

56,000 MB

注意:基于用户的要求,我们在此采取了比较保守的估计。70%的利用率,而且并没有把MemoryOver-commitment的考虑进去。


三 确定所需要的主机数目

假设我们在步骤二中初步确定的主机的配置

ESXi Host Deployment Requirements Total CPU/RAM Required

CPU/RAM Available

ESXi Hosts Required

(rounded up)

48,000MHz

19,200MHz

2.5 (round up) 3 Hosts

104,000MB

56,000 MB

1.8 (round up) 2 Hosts

在本文的例子中,分别基于CPURAM计算出的主机数很接近,这是比较理想的情况。因为没有多余资源的浪费。如果这两个数值差距很大,建议适当调整主机的CPURAM的配置,从而最优化的使用资源。

如果我们采取N+1的策略,也就是额外需要1台主机作为Failover Capacity。那么最终需要的主机是 3+1 = 4


参考:

http://vmfocus.com/2013/09/01/vsphere-sizing-formula-cpu-ram/

http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf

http://virtualtoddsbigblog.blogspot.com.au/2012/02/numa-performance-considerations-on.html

http://frankdenneman.nl/2010/02/03/sizing-vms-and-numa-nodes/

















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



上一篇:docker : 报错 WARNING: IPv4 forwarding is disabled. Networking will not work.


下一篇:three.js 下载安装、开发环境