调整服务器的配置大小可能很棘手,尤其是涉及到处理器时。制造商提供了各种各样的硬件,知道选择哪一个更令人困惑,更重要的是为什么。 如果没有深入研究如何选择 CPU ,可以参考一些技术和财务方面的信息,这些方面可以帮助你做出选择。
物理核心数
执行CPU指令时,ESXi的调度程序会调度VM以获取硬件切片。如果VM有2个虚拟核心,则ESXi必须找到2个可用于安排核心的核心。如果有太多虚拟内核同时要求切片CPU,则调度程序必须对它们进行排队并延迟无法立即满足的操作,这会导致 CPU就绪 问题。
你可以在esxtop中找到VM的CPU就绪状态,按C显示CPU指标并查找%RDY。不应超过10%。
为了防止这个问题的发生,需要尝试将vCPU:pCore比率保持在合理的值。此比率由正在运行的VM上配置的核心总和表示,与主机的物理核心数相关。
你可以在PowerCLI中使用此代码段来显示你的环境信息:
Foreach($ vHost in(Get-VMHost)){
$ VMcore = $ vHost | Get-VM | powerstate -eq Poweredon| measure-object -property numcpu -sum | select -expandpropertysum
[pscustomobject] @ {
Host = $ vHost.name
pCores = $ vHost.ExtensionData.Summary.Hardware.NumCpuCores
vCPU = $ VMcore
vCPUtoCore =“$ VMcore:$($vHost.ExtensionData.Summary.Hardware.NumCpuCores) “
}
}
根据经验,4:1的比率是确保你的VM不会遇到CPU争用的安全方法。但是,它取决于主机运行的工作负载。例如,如果将高度事务性的DB放置在密集型的主机上,则可能会成为“吵闹的邻居”,从而阻碍所有其他VM的性能,反之亦然。
另一方面,运行VDI桌面的主机可以很容易地达到10:1而不会冒很大的风险。
如前所述,如果你不确定工作负载的并发性,那么4:1的比率将是一个明智的数字。
时钟速度和turbo模式
如果你查看英特尔ARK网站,你会发现随着添加更多内核,时钟速度会降低。这并不意味着你不能在24核CPU上以正常模式超过2GHz,但价格有点失控。那些超过10万美元线路的单位通常被认为是在相当具体的情况下,而不是在确定常规虚拟基础设施的大小时(除非你的昵称是“放大之王”)。
如前所述,大多数混合工作负载环境的首要标准是并发性。2.1GHz的20个内核可能比3.4GHz的10个内核更好。然而,这并不意味着你永远不会需要超过2.1GHz。
在导出或索引操作期间,许多工作负载可能同时变为spikey并且在CPU使用率上变得疯狂,在这种情况下,2.1GHz可能会限制VM并延迟执行时间。
这是Turbo模式发挥作用的地方。英特尔和AMD都有自己的功能方法和他们自己的戏剧性名称。实际上,它将允许CPU超频,以满足不断增长的需求,如:
工作量类型活动核心数估计的电流消耗估计功耗处理器温度以下是VMware对英特尔Turbo模式的看法:
另一方面,如果工作负载需要更多功率,那么英特尔Turbo Boost将提升处理器的内部频率,并且应该为低延迟,高性能工作负载启用。但是,由于Turbo Boost可以超频部分CPU,如果应用需要稳定,可预测的性能和低延迟以及最小的抖动,它应该被禁用。
我个人认为您可以从启用Turbo模式中受益,因为如果其他内核不忙于其他VM,它将允许您的CPU峰值得到满足。
CPU插槽数量
如果查看预配置的服务器版本,你将经常看到它们带有2个CPU插槽。然而,它可能无法为你提供最佳价值,特别是如果你在内存方面没有巨大需求。它将在很大程度上取决于你对以下几章的看法以及你在历史悠久的“放大与缩小”辩论中所处的位置。
内存和PCI通道要求
现代服务器上的内存插槽在处理器之间分配,一半可由一个CPU访问,另一半可由第二个访问。它以4个套接字服务器的相同方式进行。同样通常也适用于PCI通道。如果只填充了一个CPU插槽,则某些PCI插槽可能与内存插槽不同。
这意味着你的内存要求可能会强制你进行双CPU配置。如果每台服务器不需要超过384GB,那么几乎总能使用单CPU。
以 戴尔R740 为例。你可以在上面的摘录中看到,处理器1访问右侧的A个内存插槽,左侧的B插槽由处理器2访问。技术指南还提到了PCI IO中无法使用的内容。单插槽配置。
使用单CPU配置时,任何Riser1(1A / 1B / 1C /1D)卡和仅Riser 2B都可以使用。
许可费用
你知道,vSphere产品按CPU插槽许可,通常不便宜。如果你不需要为每个服务器提供大量内存,那么通过使用单个套接字服务器可以节省大量成本。
让我们将CPU和许可证的成本转换为$ / core,以了解单插槽和双插槽之间的区别。下面的比较将考虑24个核心。
单插座:1个Intel®Xeon®Platinum8168
24核@ 2.70GHz1 x 5890.00美元双插槽:2xIntel®Xeon®Gold6136
3 x 12核@ 3.00GHz2 x 2460.00美元支持3年的vSphereEnterprise Plus许可证:7818.29美元
单插槽版本:$ 13708.29 $571 / core
双插槽版本:$ 20556.58 $ 856 / core
在单插槽版本中,每台服务器的价格会高出7.2GHz,但它是否值得花费6850美元?
如果你对所有PCI或内存通道没有特定需求,那么您一定要考虑使用单插槽。
请记住,大多数VMware产品都是按CPU插槽许可的,这意味着如果您使用双CPU服务器,则必须为每个产品支付双倍费用,例如vRops,VSAN,NSX .
失败域名
故障域表示可能受到硬件问题的负面影响和失败的环境部分。在此特定用例中,故障域是运行我们的VM的物理服务器。
服务器越大,运行的虚拟机越多,故障域越大。
在阅读了关于物理内核的章节之后,很自然地会想到“我每个服务器丢50个内核,所以我们每个运行200个虚拟机”。
你肯定会优化服务器的成本,但是由于某种原因你失去一天的那天,你一次会损失200个虚拟机。要在群集中正常运行的主机上重新启动200个VM。这不理想吗?
现在对于你应该如何调整你的失败领域没有正确或错误的答案,这就是我所指的着名的“扩大规模与扩大规模”辩论。在一天结束时,它将取决于您的需求和您感觉舒适。
我愿意承担什么风险?
正如上面提到的那样,失败域越大,当主机出现故障时,主机上的虚拟机就会越多。如果您是一名不会错过单一反关联规则的DRS狂热者,您可能会因为在其他主机上运行冗余虚拟机而遇到重大失败。如果您有许多不像传统软件那样集群的关键虚拟机,那么您可能需要更加小心,不要对主机的虚拟机密度感到疯狂。
我的工作量有多重要?
如果服务器出现故障,那里有很多工作负载并不介意。这方面的示例可能是VDI桌面,容器或其他无状态服务,可以安全地杀死并快速重新启动或在其他地方重新创建。如果您的环境在此类工作负载上很大,您可以开始考虑增加VM密度。
我的预算是多少?
CPU和内存占价格的大部分,但较小的故障域意味着更多的服务器,因此需要支付更多的硬件(机箱,主板,nics .),并且根据您选择的CPU型号(核心数量)可能需要更多的许可证因此更高的$ /核心。
CPU和内存之间的平衡
调整主机大小的另一个棘手的部分是确保您将充分利用其资源,否则,您只是在烧预算。
您可以通过戴尔配置器快速获取,并在您的服务器上仅使用12个CPU核心就可以投入654GB内存。当然,如果你有需要256GB内存的怪物虚拟机只有4个vCPU就可以了,但你不会经常看到它们。
这里的问题是,您将很快耗尽可用的CPU而几乎不使用25%的内存,查看vSphere Web客户端资源使用情况将是可耻的。当然,如果您选择具有128GB RAM的怪物56核CPU组合,则情况恰恰相反。虽然扩展起来会更容易,因为与CPU相比,向服务器添加内存更容易。
听起来很明显,但说起来容易做起来难,找到合适的平衡点可能非常棘手。什么适合一个环境可能不适合下一个环境?
对不起,这里没有普遍的答案。尽管如此,我发现对于经常混合的工作负载,单个20核CPU和320GB内存在CPU,内存和成本之间取得了相当好的平衡。
案例分析
我们举一个例子将所有这些汇总成事实信息。我们将尝试为以下环境调整服务器大小:
250个虚拟机平均每个VM 2个vCPU峰值CPU使用率:300GHz(非常不可能。)平均每个VM 6GB内存vCPU:pCore平均比例为5:11主机无法容忍所需的物理内核: 250 VM x 2vCPU / 5 = 100个内核
所需内存: 250 x 6 10%= 1650GB
鉴于vSphere许可证的成本,我们将在这里使用单插槽服务器,因为我们没有明确的需要,否则会大大降低价格。
4主持人=否
在单CPU配置中不支持413GB,并且包含故障转移主机的每台服务器有50个VM在大多数情况下都是一个太大的故障域,晚上你睡不好.
5主机= 52600美元
那个更现实,因为你可以从一个处理器中获得330GB,而20个核心的CPU相当实惠。每个主机运行42个虚拟机非常密集,但如果您对它感到满意,那么它对您来说可能是物有所值的。这是最便宜的解决方案。
英特尔至强黄金6138非常适合100核和200GHz。也就是说,如果你在正常模式下运行2.00GHz的内核就可以了。
6主机= 63270美元
这是一个看起来并不坏的集群。失败领域是明智的,成本不应该通过屋顶。
在这种情况下,我可能会选择Intel Xeon Gold6140。你得到108核心和248.4GHz。
它确实比前一个更昂贵,但是您可以获得价格较小的故障域。
7主机= $ 65485
在这种情况下,我们会获得更小的域,从而减少每个主机的大小。在您开始添加其他VMware产品并扩展群集之前,您可以放心地获得这种安心。
我们可以为此选择Intel Xeon Gold5120,为我们提供100核和215GHz。
8主机= $ 74840
这个简短的案例研究表明$ / core和$ / VM可以是一个有趣的指标,并为我们提供了有关如何为虚拟基础架构选择配置的更多信息。我的偏好是6服务器配置。
虽然它与7台服务器的价格几乎相同,这也不是什么坏事,但是当您扩展环境时,就可以节省资金,当您添加VMware产品(如vRops)时甚至更多。你获得一些额外的核心和GHz的事实也是一个很好的交易。
我个人不会选择5服务器配置,因为故障域对我来说太大了。但这只是我的意见,你可能会有不同的想法。对于vSphere许可证的成本,我认为8服务器配置有点浪费金钱。
结论
为虚拟化主机选择CPU配置并非易事。许多变量开始发挥作用,您很快意识到它不仅仅是关于GHz的数量还是处理器的生成。当你的需求发展时,你肯定能得到它们中的任何一个并购买更多硬件,但你可能会以这种方式把钱扔出窗外。