IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    u010170023发表于 2013-10-25 13:08:44
    love 0

    作者:范军 (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 HCL(Hardware 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

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

    如果我们采取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/



沪ICP备19023445号-2号
友情链接