云计算管理平台

vRealize Operations 容量优化 — 分析现状

保证数据中心有足够的计算资源来支撑业务正常运营,是 IT 运维团队的最基本职责。所以,对于系统管理员来说,他必须时刻掌握服务器计算资源的使用状况,并且对资源的使用情况做出一个预估,对未来可能出现的资源短缺现象及时做好预案计划。vRealize Operations 就是系统容量评估和规划的好助手,它能够帮助管理员及时了解计算资源的使用状况,并且在以下几个方面提高 IT 运维的水平:

  • 确保数据中心的计算性能保持在承诺的服务等级;
  • 提高资源的利用率,并且降低总体采购和运营成本;
  • 通过假设分析 (what-if) 来对未来的资源使用情况进行预估,从而及早做好扩容的准备。

采用 vRealize Operations 进行容量优化的第一步就是分析一下数据中心中各种资源的使用现状。vRealize Operations 是以 vSphere 集群为单位来进行容量统计的,下图就是对 Production_North 集群内存使用状况的一个统计和预估,当前日期是4月10日,这个日期之前的曲线是对过去一段时间内存使用情况的一个统计,这个日期之后的色块区域表示的是对将来内存使用情况的一个预估。这张图也告诉我们按照目前内存消耗的趋势,再过18天内存资源就会耗尽。同样的,vRealize Operations 也可以对 CPU 和存储 (Disk) 资源状况进行同样的分析。

vRealize Operations 对资源进行分析有 Allocation (按分配) 和 Demand (按需求) 两种模式,这是两种不同的统计方法。举一个例子,集群中总共有 100GB 可用内存空间,共有10个虚机在运行,每个虚机都配置了 10GB 虚拟内存,这样按分配模式统计的话正好把所有的内存空间都耗尽。但实际上内存是按需分配的,虚机启动时可能只用到了 5GB 内存,随着运行的继续虚机所占用的内存才会越来越大,按照需求模式来统计的话,当前的内存资源还可以支撑一段时间。业务场景决定了采用哪 种统计模式,如果集群中运行的是关键业务应用,需要保证这些应用的性能,必须保证资源的供应,这种情况下适合采用 Allocation 模式来统计资源。而对于云服务提供商,则希望充分利用现有的计算资源,所以会选择 Demand 模式来统计资源,这反映的是资源的实际使用情况。

管理员的运维意图是通过以下这些参数来定义的 (如下图所示)。

  • Criticality Threshold (严重性阀值):警告阀值 (Warning Threshold) 定义了当资源还剩下多少天时通知管理员,预估发生资源短缺的数据中心在 vRealize Operations 管理界面中被标记为黄色或红色。
  • Risk Level (风险等级):对于资源预估有两条曲线 ,上面一条曲线采用保守 (Conservative) 的方式来预估,按照资源预计使用的最大量来预估,这种策略保证对于资源的需求可以得到满足。这面这条曲线采用相对激进 (Aggressive) 的方式来预估,即按照资源使用量的平均值 (Mean) 来进行预估,这种策略对应的风险高一些,但是推迟了资源耗尽的预估时间,有助于节省硬件投资。在实际应用中,保守预估方式一般用于生产环境,激进方式一般用于开发测试环境。
  • Allocation Model (分配模式):云服务提供商在低等级的服务中都会采用超配模式 (Over-Commit) ,例如下图中把 CPU 分配模式设定为 4:1,意味着每4颗 vCPU 对应一颗物理 CPU 内核,因为不可能所有的虚机都在同一时间要求 CPU 资源,所以在工作负载较低的情况下 CPU 超配完全能够满足计算需求。当然这种超配模式也对应着服务等级 SLA,对于高服务等级的场景,就有必要把 CPU 分配模式设定为 1:1。内存和存储也是类似的。

针对资源短缺的情况,可以采用以下的解决方案:

  • 回收资源:针对已经被分配的资源进行分析,看看有哪些是不再继续被使用的,回收这些资源来挖掘现有的潜力。
  • 增加容量:购买新的服务器来增加计算资源;除了购买硬件之外,把部分的工作负载迁移到其他集群或数据中心也是一种解决办法。

下面给大家看一个利用 vRealize Operations 的容量优化功能来分析资源使用状况的演示视频 (提示:请选择视频下方的“高清 720P”选项来观看):