优化服务器在机架上的分布

最近,一个同事在聊天中问我:

-是否有文章介绍如何将服务器正确装入机架?

我意识到自己没有意识到。 所以,我决定写我的文字。

首先,这是一篇有关数据中心(DC)设施中的裸机服务器的文章。 其次,我们估计有很多服务器(数百或数千个)。 减少数量对这篇文章没有意义。 第三,我们认为机架中存在三个约束:物理空间,每个机架的电力和机柜留在彼此相邻的行中,因此我们可以使用单个ToR交换机连接其中的服务器。

原始问题的答案在很大程度上取决于我们正在优化的参数以及我们可以更改以获得更好结果的内容。 例如,我们需要使用更少的空间为将来的增长留出更多空间。 或者,也许我们可以自由选择机柜高度,每个机架的功率,每个PDU的插座数量,每个交换机组(每个1、2或3个机架的交换机)的机柜数量,电缆长度和布线工作。 最后一个组件对于机架排的末端至关重要,在机架排的末端,我们需要将电缆拉入另一排或在交换机中保留未充分利用的端口。 完全不同的故事是服务器选择和数据中心选择。 我们应该认为我们已经选择了它们。

最好了解一些细微差别和细节,尤其是平均/最大服务器功耗以及我们的供应商如何供电。 因此,如果我们有一个230V的1相电源,那么一个32Amps的断路器最多可以容纳7kW。 假设我们为每个机架6kW正式付款。 如果供应商以每10个机柜的行而不是单个机柜来衡量我们的功耗,并且如果断路器将功率限制为7kW,那么我们可以在一个机架中使用6.9kW,在另一个机架中使用5.1kW。 可以,不会受到惩罚。

通常,我们的主要目标是减少支出。 最好的衡量标准是降低总拥有成本(TCO)。 它由以下部分组成:

  • 资本支出:购买数据中心基础设施,服务器,网络设备,电缆
  • 运营支出:直流租金,电费,维护费用。 运营支出取决于使用寿命。 假设寿命等于3年是合理的。

TCO图

我们应该优化馅饼中最昂贵的部分。 其他所有内容都应尽可能有效地使用剩余资源。

假设我们有一个现有的DC,机架高度为H个单元(例如H = 47),每个机架的功率为P 机架 (P rack = 6kW),因此我们决定使用h = 2U的两单元服务器。 让我们从机架中卸下2到4个用于交换机,配线架和电缆管理器的装置。 然后我们可以将S h =舍入((H-2..4)/ h)服务器放在一个机架中(即S h =舍入((47-4)/ 2)=每个机架21个服务器)。 让我们记住S h

在简单的情况下,所有服务器都是相同的。 因此,如果我们按服务器填充机架,则每台服务器的平均功率为P serv = P 机架 / S h (P serv = 6000W / 21 = 287W)。 我们在这里忽略了开关功耗。

让我们暂且定义最大服务器功耗P max是什么。 一种简单,完全安全且效率低下的方法是读取服务器电源设备上的标签上写的内容。 这是P max

一种更复杂和有效的方法是对所有组件进行TDP并将其汇总。 这不准确,但是我们可以这样做。

通常,除了CPU之外,我们不了解组件的TDP。 因此,最正确,最复杂的方法是采用经过实验配置充分的服务器,例如通过/ Linpack /(CPU和内存)和/ fio /(磁盘)加载服务器,并测量功耗。 在这种情况下,我们需要一个实验室。 如果我们认真对待,应该在冷通道中创建一个温暖的环境,因为较高的温度会影响风扇和CPU的功耗。 因此,在特定负载下,在当前环境中,使用此特定配置,我们可以获得示例服务器的最大功耗。 请记住,新固件,软件版本和其他条件可能会影响结果。

现在,让我们回到P serv以及如何将其与P max进行比较。 这是一个了解服务如何工作以及我们的CTO的神经有多强的问题。

如果我们不承担任何风险,则应假定所有服务器可能同时开始消耗其潜在的最大值。 同时,直流馈电之一也可能发生故障。 基础结构仍应提供服务。 因此,P serv≡P max 。 当可靠性非常重要时,这就是方法。

如果首席信息官不仅考虑理想的安全,还考虑公司的钱,如果他足够勇敢,那么他可以决定

  • 我们开始管理我们的供应商,尤其是我们在预期的高负载期间禁止进行任何计划的维护,以最大程度地减少电源故障
  • 和/或我们的体系结构允许我们在服务继续运行时丢失机架/行/ DC
  • 或者我们将负载水平地分布在机架上,这样一来,我们位于单个机柜中的服务器将永远不会消耗其理论最大值。

不仅可以在此处猜测,而且可以监视功耗并了解服务器在正常负载和峰值负载下的功耗,这是有利的。 经过一番分析后,CIO苦苦地说:
“我命令所有服务器最大功耗的最大可达到平均值要比单个服务器最大功耗小得多。” 设P serv = 0.8 * P max

然后,一个6kW的机架不能容纳16个P max = 375W的服务器,而是20个P serv = 375W * 0.8 = 300W的服务器。 即服务器增加25%。 这是真正的经济,因为我们需要的机架数量减少了25%。 而且我们可以节省机架PDU,交换机和电缆的费用。 该解决方案的一个严重缺点是需要不断检查我们的假设是否仍然有效。 我们应该确保新固件不会显着改变风扇的运行和功耗,并且开发团队不会开始更有效地使用服务器(这意味着它们设法提高了利用率和功耗)。 然后,最初的假设和结论都变得错误。 因此,以负责任的态度承担风险。 或者可以避免风险,然后公司为明显欠载的机架付费。

重要说明:值得尝试在机架上水平分布不同的服务服务器。 要求避免一堆服务服务器到达并垂直安装到机柜中的情况,以提高“密度”(这是因为这样做更容易)。 确实,当一个机架上装有相同的低负载服务器而所有高负载服务器都位于另一机架时,就会导致这种情况。 当负载配置文件相同且所有服务器由于高负载而开始同时消耗相同的资源时,丢失第二个机架的可能性就会变得更高。

让我们回到机架中的服务器分发。 我们考虑了机柜中的物理限制和功率限制。 现在让我们考虑网络。 一个可以使用N = 24/32/48端口交换机(假设48端口ToR交换机)。 幸运的是,如果我们忽略分支电缆,则没有太多选择。 我们考虑在每个机架中选择一个交换机,在每组中每两个或三个机柜中选择一个交换机(R net )。 我认为该小组不应该是三个。 否则,会导致布线问题。

因此,我们针对每种网络场景(每个组1个,2个或3个机架)在机架之间分布服务器:

S rack = min(S h ,向下舍入(P rack / P serv ),向下舍入(N / R net ))

因此,一组两个机架的方案是

S 机架 2 =最小值(21,向下(6000/300),向下(48/2))=最小值(21、20、24)=每个机架20个服务器

同样,我们计算其他情况:

机架 1 = 20

机架 3 = 16

我们快完成了。 我们应该计算分配所有服务器S的机架总数(假设有1000台服务器):

R =汇总(S /(S 机架 * R net ))* R net

R 1 =汇总(1000 /(20 * 1))* 1 = 50 * 1 = 50个机架

R 2 =汇总(1000 /(20 * 2))* 2 = 25 * 2 = 50个机架

R 2 =汇总(1000 /(16 * 3))* 3 = 21 * 3 = 63个机架

然后,我们应该根据机架数量,所需的交换机,电缆等对每个选项的总拥有成本进行计数。 我们选择总拥有成本最低的方案。 赢利!

请注意,尽管方案1和2的机架数相同,但由于第二种方案的交换机数量减少了两倍,电缆更长,因此TCO有所不同。

PS如果每个机架的功率或机架高度可能有所不同,则可变性会增加。 但是可以通过蛮力选择将选择减少到上述方法。 会有更多方案,但数量有限。 我们可以以1kW的步长增加每个机架的功率,并且标准机架类型的数量有限:42U,45U,47U,48U。 在数据表模式下使用Excel的假设分析可能会有所帮助。 我们应该查看结果表并选择最佳选项。

Source: https://habr.com/ru/post/zh-CN473988/


All Articles