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

在一次聊天中,有人问我一个问题:

— 我可以读到有关如何将服务器正确装入机架的任何内容吗?

我意识到我不知道这样的文字,所以我自己写了。

首先,本文介绍的是物理数据中心 (DC) 中的物理服务器。 其次,我们认为服务器数量相当多:数十万;对于较少的数量,此文本没有意义。 第三,我们认为我们有三个限制:机架中的物理空间、每个机架的电源以及将机架排成一排,以便我们可以使用一台 ToR 交换机连接相邻机架中的服务器。

这个问题的答案很大程度上取决于我们正在优化哪些参数以及我们可以改变哪些参数以获得最佳结果。 例如,我们只需要占用最小的空间,以便为进一步的增长留下更多的空间。 或者,也许我们可以自由选择机架的高度、每个机架的功率、PDU 中的插座、一组交换机中的机架数量(一个交换机用于 1、2 或 3 个机架)、电线长度和牵引工作(这在行的末端至关重要:一排有 10 个机架,每个交换机有 3 个机架,您必须将电线拉到另一排或未充分利用交换机中的端口),等等。 单独的故事:服务器的选择和DC的选择,我们假设它们被选择。

最好了解一些细微差别和细节,特别是服务器的平均/最大消耗,以及如何向我们供电。 因此,如果我们有一个 230V 的俄罗斯电源,每个机架一相,那么一台 32A 的机器可以处理约 7kW。 假设我们名义上为每个机架支付 6 千瓦的费用。 如果提供商仅测量一排 10 个机架的功耗,而不是每个机架的功耗,并且如果机器设置为有条件的 7 kW 截止值,那么从技术上讲,我们可以在单个机架中消耗 6.9 kW,在另一个机架中消耗 5.1 kW,一切都会好起来的——不会受到惩罚。

通常我们的主要目标是最小化成本。 衡量的最佳标准是 TCO(总拥有成本)的降低。 它由以下几部分组成:

  • 资本支出:购买数据中心基础设施、服务器、网络硬件和布线
  • OPEX:直流电租赁、用电量、维护。 运营成本取决于使用寿命。 假设为3年是合理的。

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

根据整个蛋糕中各个部分的大小,我们需要优化最昂贵的部分,并让其余部分尽可能有效地使用所有剩余资源。

假设我们有一个现有的 DC,机架高度为 H 单位(例如 H=47),每个机架的电力为 Prack(Prack=6kW),我们决定使用 h=2U 两台服务器。 我们将从机架上移除 2..4 个用于交换机、配线架和管理器的装置。 那些。 从物理上来说,我们的机架中有 Sh=rounddown((H-2..4)/h) 服务器(即 Sh = rounddown((47-4)/2)=每个机架 21 台服务器)。 让我们记住这个Sh。

在简单的情况下,机架中的所有服务器都是相同的。 总的来说,如果我们在一个机架上装满服务器,那么在每台服务器上我们平均可以花费的功率 Pserv=Prack/Sh (Pserv = 6000W/21 = 287W)。 为了简单起见,我们在这里忽略开关消耗。

让我们退一步来确定最大服务器消耗 Pmax 是多少。 如果它非常简单、非常无效且完全安全,那么我们会读取服务器电源上写的内容 - 就是这样。

如果它更复杂、更高效,那么我们将所有组件的TDP(热设计封装)相加(这不是很正确,但有可能)。

通常我们不知道组件的TDP(CPU除外),所以我们采取最正确,但也是最复杂的方法(我们需要一个实验室) - 我们采用所需配置的实验服务器并加载它,例如,我们使用 Linpack(CPU 和内存)和 fio(磁盘)来测量消耗。 如果认真的话,我们在测试时还需要在冷走廊中创建最温暖的环境,因为这会影响风扇消耗和CPU消耗。 我们得到具有特定配置的特定服务器在这些特定条件下在该特定负载下的最大消耗。 我们只是说新的系统固件、不同的软件版本和其他条件可能会影响结果。

那么,回到 Pserv 以及我们如何将其与 Pmax 进行比较。 问题在于了解服务如何运作以及技术总监的神经有多坚强。

如果我们完全不冒任何风险,我们相信所有服务器都可以同时开始消耗其最大容量。 同时,可能会出现一个到 DC 的输入。 即使在这些条件下,基础设施也必须提供服务,因此 Pserv ≠ Pmax。 在这种方法中,可靠性是绝对重要的。

如果技术总监不仅考虑理想的安全性,还考虑公司的资金并且足够勇敢,那么你可以决定

  • 我们开始管理我们的供应商,特别是我们禁止在计划的高峰负载时进行定期维护,以尽量减少一项输入的下降;
  • 和/或我们的架构允许您失去机架/行/DC,但服务继续工作;
  • 和/或我们将负载水平分布在机架上,因此我们的服务永远不会在一个机架上达到最大消耗。

在这里,不仅可以猜测,而且可以监控消耗并了解服务器在正常和高峰条件下实际消耗的电力是非常有用的。 因此,经过一番分析后,技术总监压缩了他所拥有的一切并说道:“我们自愿决定,每个机架的最大服务器消耗的最大可实现平均值比最大消耗低**这么多**”,有条件地 Pserv = 0.8* P最大。

那么一个6kW的机架就不再能容纳16台Pmax=375W的服务器,而是20台Pserv=375W*0.8=300W的服务器。 那些。 服务器数量增加 25%。 这是一个非常大的节省 - 毕竟,我们立即需要减少 25% 的机架(而且我们还将节省 PDU、交换机和电缆)。 这种解决方案的一个严重缺点是我们必须不断监控我们的假设是否仍然正确。 新固件版本不会显着改变风扇的运行和消耗,新版本的突然开发并没有开始更有效地使用服务器(阅读:它们在服务器上实现了更大的负载和更大的消耗)。 毕竟,我们最初的假设和结论都会立即变得错误。 这是必须负责任地承担的风险(或避免并为明显未充分利用的机架付费)。

重要提示 - 如果可能的话,您应该尝试将来自不同服务的服务器水平分布在机架上。 这是必要的,这样就不会出现当一批服务器到达执行一项服务时,机架垂直地堆放它以增加“密度”的情况(因为这样更容易)。 事实上,事实证明,一个机架充满了相同服务的相同低负载服务器,而另一个机架则充满了同样的高负载服务器。 第二次跌倒的概率明显更高,因为负载配置文件是相同的,并且由于负载增加,该机架中的所有服务器开始消耗相同的量。

让我们回到机架中服务器的分布。 我们已经研究了物理机架空间和功率限制,现在让我们看看网络。 您可以使用具有 24/32/48 N 端口的交换机(例如,我们有 48 端口 ToR 交换机)。 幸运的是,如果您不考虑分支电缆,那么选择并不多。 我们正在考虑这样的场景:每个机架有一台交换机,Rnet 组中的两个或三个机架有一台交换机。 在我看来,一组超过三个机架就已经太多了,因为…… 机架之间的布线问题变得更加严重。

因此,对于每个网络场景(一组中的 1、2 或 3 个机架),我们将服务器分布在机架之间:

Srack = min(Sh, 向下舍入(Prack/Pserv), 向下舍入(N/Rnet))

因此,对于一组 2 个机架的选项:

Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21) = 每个机架 20 台服务器。

我们以同样的方式考虑其余选项:

碎片1 = 20
碎片3 = 16

我们已经快到了。 我们计算分配所有服务器 S 的机架数量(假设为 1000):

R = 汇总(S / (Srack * Rnet)) * Rnet

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

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

R3 = 汇总(1000 / (16 * 3)) * 3 = 25 * 2 = 63 个机架

接下来,我们根据机架数量、所需交换机数量、布线等计算每个选项的 TCO。 我们选择 TCO 较低的选项。 利润!

请注意,虽然选项 1 和 2 所需的机架数量相同,但它们的价格会有所不同,因为第二种选择的开关数量是第二种选择的一半,并且所需电缆的长度更长。

PS 如果您有机会研究每个机架的功率和机架的高度,可变性就会增加。 但只需浏览选项即可将过程简化为上述过程。 是的,会有更多的组合,但数量仍然非常有限 - 用于计算的机架的电源可以以 1 kW 为步长增加,典型机架的标准尺寸数量有限:42U、45U、47U、48U ,52U。 Excel 的数据表模式下的假设分析可以帮助计算。 我们查看收到的车牌并选择最小值。

来源: habr.com

添加评论