В прошлом выпуске мы считали киловатты по спецификациям — по тому, что собираются купить. Сейчас посчитаем по тому, что уже стоит.
Разница между этими двумя расчётами больше, чем кажется. Спецификация описывает один заказ: столько-то узлов, такая-то конфигурация, одно поколение, одна закупка. А в стойке лежит не заказ. В стойке лежит история: то, что купили шесть лет назад, то, что добавили три года назад, и то, что приехало в прошлом месяце. Каждый слой приходил по своему бюджету, с собственным обоснованием, и сумму никто не считал, потому что суммы не было ни в одном документе.
Дальше — разбор двух площадок из разных проектов. Одна с тремя поколениями гиперконвергентных узлов и чужим оборудованием в той же стойке, вторая с парком, который нарастал с 2012 года. Плюс отдельно про инженерные комплексы, которые приезжают собственным шкафом, — там правила совсем другие. Потребление посчитано по составу, это оценка. Температуры — замер с работающих машин.
Как и в прошлый раз: не все эти проекты выполнены нашими руками, в части мы участвовали на отдельных этапах. Заказчиков не называем, отрасль и страну не указываем.
Плотные узлы
Гиперконвергенция: потребление и температура
Узел, набитый накопителями, потребляет вдвое больше обычного сервера и хуже продувается. Пороги мониторинга при этом от прошлого поколения.
Начнём с гиперконвергентных узлов, потому что это самый массовый тип машины на площадках, о которых пойдёт речь, и потому что у него есть особенность, про которую редко говорят.
Узел HCI — это сервер, в который набили накопителей. В обычном сервере баз данных накопителей два-четыре, а здесь их восемь, двенадцать или двадцать четыре, и все твердотельные. Отсюда два следствия.
Первое — по потреблению. Накопители дают пятую часть расхода узла и дают её почти постоянно: в простое они могли бы потреблять вдвое меньше, но в кластере фоновые операции, дедупликация и репликация не дают им туда уйти. Узел на 172 ядра с двумя десятками накопителей берёт около 1780 W против 695 W у сервера баз данных с теми же по классу процессорами.
Второе — по теплу, и вот это важнее. Плотно набитый узел 1U с накопителями по всей передней панели имеет мало места для прохода воздуха. Всё, что входит спереди, проходит сначала через накопители, потом через память, потом через процессоры и уходит назад уже изрядно подогретым.
На замерах с работающего кластера это видно прямо. Узлы текущего поколения, установленные вплотную друг к другу без просветов, показывают на процессорах до 76 градусов. Память — до 51. Чипсет — до 51. Сам процессор сообщает верхнюю границу нормальной работы на уровне 92 градусов и критическую — на 100, а собственно снижение частоты по кристаллу начинается ещё выше. То есть запас есть, но он меньше, чем хотелось бы, и меньше, чем у тех же процессоров в менее плотном корпусе.
Из этого следует практическая рекомендация, которая ничего не стоит на этапе монтажа и которую почти никогда не выполняют: плотные узлы не надо ставить сплошной колонной. Один пустой юнит между группами узлов, закрытый заглушкой, заметно меняет картину распределения воздуха. Если свободных юнитов нет — тем более нельзя оставлять открытые проёмы в других местах стойки, потому что горячий воздух пойдёт через них обратно.
И отдельно про пороги мониторинга. В штатных шаблонах систем мониторинга пороги по температуре процессора обычно стоят на 70 градусах для предупреждения и 75 для критического уровня. Для процессоров прошлых поколений это было разумно. Для текущих, которые сами сообщают границу нормальной работы на 92 градусах, это означает поток ложных срабатываний: система круглосуточно сообщает о критическом перегреве машины, которая работает штатно.
Последствия у этого хуже, чем кажется. Дежурная смена привыкает к красному цвету и перестаёт на него реагировать. А когда появится настоящий перегрев, он утонет в потоке тех же сообщений. Пороги надо приводить к значениям, которые сообщают сами процессоры конкретной модели, — это разовая работа на полдня, и она возвращает мониторингу смысл.
Заодно проверьте пороги по остальным датчикам. В том же наборе сообщений нам попался порог на время отклика дискового массива, выставленный в одну десятитысячную микросекунды — величину, которую не даст никакое оборудование в принципе. Такое срабатывает всегда и не означает ничего.
Дежурная смена привыкает к красному цвету и перестаёт на него реагировать. Настоящий перегрев утонет в том же потоке.
Накопление
Три поколения в одной стойке
Двадцать один киловатт в стойке, где нет ни одного ускорителя. Ни одна закупка не смотрела на сумму.
Первая площадка. В стойке стоят две группы гиперконвергентных узлов разных поколений, дисковый массив с полкой, два коммутатора фабрики и коммутатор управления.
Старая группа — десять узлов: пять по 32 ядра и пять по 48, с памятью по 768 GB и гибридным хранением. Новая группа — девять узлов по 48 ядер, с 2 TB памяти и полностью твердотельным хранением на каждом. Плюс массив предыдущего поколения с полкой на 24 диска.
Считаем: 33 юнита и 21.2 kW в типовой работе. 832 ядра, 26 TB памяти, 570 TB логической ёмкости.
Двадцать один киловатт в стойке, где нет ни одного ускорителя. Для сравнения: кластер из 15 современных узлов, о котором шла речь в прошлом выпуске, давал 18.2 kW и не влез в один ввод. Здесь получилось больше — обычными узлами, просто накопленными за три поколения.
По фазам картина такая же неприятная: 30.7 A на фазу при рабочем пределе 25.6 A для ввода на 32 A. Стойка не проходит по вводу. И при этом в ней девять свободных юнитов. Ровно тот случай, ради которого писался прошлый выпуск, только здесь он сложился сам, без чьего-либо решения — просто потому, что каждая закупка смотрела на свои юниты и не смотрела на сумму.
Вторая площадка того же заказчика устроена похоже: 29 юнитов, 21.4 kW, четыре сервера прошлого поколения вместо массива.
Эффективность
Метрика зависит от того, чего не хватает
По ядрам на киловатт новое поколение проигрывает старому. По терабайтам — выигрывает втрое.
В прошлом выпуске был раздел про ватты на ядро, где выходило, что плотный процессор экономнее. Здесь эта логика разворачивается, и разбор стоит того, чтобы его провести.
Сравним узлы целиком, а не процессоры.
Старый узел на 32 ядра даёт 47 ядер на киловатт. Старый на 48 ядер — 57. А новый, тоже на 48 ядер, — всего 38. По ядрам на киловатт новое поколение проигрывает старому в полтора раза.
Причина не в процессорах. Новый узел несёт втрое больше памяти и вчетверо больше ёмкости, и всё это потребляет. По терабайтам на киловатт он выигрывает в 2.3-2.8 раза, по памяти — в полтора.
Отсюда вывод, который мы считаем главным в этом выпуске. Единой метрики эффективности не существует, метрика выбирается по дефициту. Упираетесь в вычисления — считайте ядра на киловатт, и тогда плотный процессор с минимумом обвязки выигрывает. Упираетесь в ёмкость — считайте терабайты на киловатт, и ответ будет обратным. Считать «вообще» бессмысленно: одна и та же пара узлов даст противоположные результаты в зависимости от того, что вы поделили на что.
И практическое следствие для разговора о замене парка. Фраза «новое поколение экономичнее» верна ровно настолько, насколько новый узел повторяет конфигурацию старого. Если вместе с поколением выросли память и ёмкость — а они всегда растут, — узел станет потреблять больше, и замена по принципу «меняем один на один» даст рост потребления, а не снижение.
Возраст парка
Слои, которые никто не складывал
Четыре стойки, пять поколений, 25 киловатт. Половину даёт слой, который давно перестал быть основным.
Вторая площадка — другой заказчик и другая история. Здесь парк рос не тремя слоями, а пятью, начиная с 2012 года.
Четыре стойки, 83 юнита оборудования, 25.5 kW в типовой работе. Разложим по возрасту.
Серверы 2012 года — шесть штук, 2.1 kW, 8% мощности. Серверы 2015 года — тридцать штук, 13.1 kW, больше половины всего потребления площадки. Серверы 2016-2018 — семь штук, 2.9 kW. Серверы 2025-2026 годов — пять штук, 2.5 kW, десятая часть.
И отдельной строкой: сетевое оборудование — 24 устройства и 4.8 kW, то есть 19% мощности площадки. Почти пятая часть электричества уходит на коммутаторы, из которых половина выпущена больше десяти лет назад. В отдельных стойках доля сети доходит до 29%.
Это число мы приводим специально, потому что оно ломает привычное представление. Когда считают потребление, считают серверы. Сеть в расчёте обычно фигурирует как «ну и коммутаторы ещё». Здесь коммутаторы едят больше, чем весь новый парк вместе взятый, и при этом каждый из них по отдельности выглядит незначительным — 390 W, кто их считает.
Доля сети к тому же распределена неравномерно. В стойках, где собраны коммутаторы ядра и доступа, она доходит до четверти и даже до 29%, а в стойке, где стоят только серверы, падает до одного процента. Это стоит учитывать при планировании: стойка с сетевым оборудованием требует своего расчёта, и переносить в неё серверы «раз там место есть» может оказаться нельзя.
Второе наблюдение — про середину списка. Тридцать серверов одного поколения дают половину всего расхода. Это не старейшее оборудование и не новейшее, это тот слой, который когда-то был основным, а потом никуда не делся. Его не выводят из эксплуатации, потому что на нём что-то работает, и не модернизируют, потому что бюджет уходит на новое. За десять лет такой слой становится главной статьёй расхода, и обнаруживается это только когда кто-то садится и складывает всё вместе.
Коммутаторы едят больше, чем весь новый парк вместе взятый. И каждый по отдельности выглядит незначительным.
Инженерные комплексы
Когда стойка приезжает целиком
Есть класс систем, где питание посчитано вендором до покупки. И где шкаф занят целиком с первого дня.
До сих пор речь шла о стойках, которые собирают сами: покупают серверы, ставят в шкаф, подключают. Есть другой класс систем, где шкаф приезжает как единое изделие, и разговор про питание там устроен принципиально иначе.
Это инженерные комплексы — машины баз данных, комплексы обработки больших данных, специализированные системы резервного копирования. Внутри у них обычное серверное железо, отличается мощность компонентов и состав. Снаружи — готовый шкаф, в котором уже стоят многофазные блоки распределения питания, уже разведена внутренняя сеть, уже рассчитано охлаждение.
Типовая начальная конфигурация такой машины — два сервера баз данных и три сервера хранения. В корпусах по 2U это порядка 10 юнитов оборудования плюс коммутаторы внутренней фабрики. Шкаф при этом стоит целиком, все 42 юнита, и рассчитан он на полное заполнение.
Отсюда главное отличие от самосборной стойки, и оно работает в обе стороны.
Хорошая сторона: расширение не требует пересчёта питания. Узлы добавляются по одному или блоками, исходя из нужной ёмкости и производительности, и вопрос «влезет ли по киловаттам» не возникает — вендор заложил его заранее, блоки распределения уже стоят, номиналы подобраны под полный шкаф. Это сильно упрощает жизнь на горизонте нескольких лет: вы точно знаете, что дорастёте без разговоров с энергетиками.
Обратная сторона: место и подвод заняты под полный шкаф с первого дня. Вы покупаете четверть заполнения, а зал должен отдать под него площадь целого шкафа и подвод, рассчитанный на его максимум. Для зала с ограниченным подводом это может оказаться дороже, чем кажется при покупке.
Требования к подводу у таких систем производитель публикует открыто, в документации по планированию площадки: там указаны и мощность, и тепловыделение, и требования к вводам. Это стоит прочитать до закупки, а не после — в отличие от обычных серверов, здесь всё посчитано за вас и просто написано.
Отдельная история — мейнфреймы. Там фиксировано вообще всё: состав шкафа, питание, охлаждение, разъёмы. Система приезжает как единое целое, подключается по собственной схеме, и никакой свободы в компоновке нет по определению. С точки зрения планирования зала это проще всего: есть одно число, под которое надо подготовить место. С точки зрения гибкости — противоположность самосборной стойке.
Практический вывод. Если в вашем парке есть или планируется такой комплекс, его нельзя учитывать в общей арифметике стоек наравне с обычными серверами. Это отдельная единица планирования со своим подводом, своим тепловыделением и своим, заранее известным потолком роста. И это, пожалуй, единственный случай, когда вопрос «а влезет ли расширение» имеет ответ ещё до того, как расширение понадобилось.
Охлаждение
Предел воздуха
Несколько отраслевых порогов, после которых схема охлаждения меняется не по желанию, а по физике.
Мощность, которую мы посчитали, надо отвести в виде тепла. Про охлаждение достаточно знать несколько порогов, и они отраслевые, а не вендорские.
До примерно 10 kW на стойку хватает обычной схемы с горячим и холодным коридорами, при условии, что коридоры действительно разделены, а свободные юниты закрыты заглушками. В диапазоне от 10 до 30 kW нужны внутрирядные решения и внимательный контроль за тем, куда уходит воздух. На 30-40 kW воздушное охлаждение упирается в физический предел: объём и скорость воздуха, который надо прогнать через стойку, превышают то, что способна дать обычная система. Растянуть этот предел помогает задняя дверь-теплообменник. Выше 40 kW жидкость перестаёт быть опцией и становится требованием.
Обе разобранные площадки живут в диапазоне от 3 до 21 kW на стойку. То есть верхние стойки уже вышли из зоны, где достаточно коридоров и заглушек, и попали туда, где нужен внимательный контроль за воздухом. Никакого решения об этом не принималось — просто добавили очередной слой.
Полезно сопоставить требуемый воздух с тем, что даёт существующая система. Перфорированная плитка фальшпола пропускает обычно от 300 до 600 кубических футов в минуту. Стойка на 21 kW требует около 3300 — то есть шесть-десять плиток, и весь этот объём должен попасть именно в неё, а не разойтись по соседям. В смешанной стойке это сложнее, чем в однородной: у оборудования разных вендоров разная глубина, разные вентиляторы и разные требования к зазорам.
Отдельно про направление продува. Серверы почти всегда дуют спереди назад, а коммутаторы выпускаются в двух исполнениях, и в смешанную стойку легко поставить устройство, которое забирает воздух из горячей зоны. В однородной стойке этот вопрос не возникает, в смешанной его надо проверять по каждой позиции — особенно если оборудование приехало из разных поставок с разницей в несколько лет.
Замер
Когда дело не в киловаттах
Случай, где очевидное объяснение оказалось неверным, и это выяснилось только повторным замером.
Последний раздел — про случай, где мы оказались неправы, и это полезнее всего остального.
Четыре сервера баз данных, самая скромная позиция во всём парке: 48 ядер, около 470 W, корпус 1U. При проверке показали температуру процессора 78 и 85 градусов при верхней границе нормальной работы 92 и критической 100, а сетевой карты — 86 и 90 при пороге 95. То есть пять градусов запаса у карты, о которой в таких разборах обычно не вспоминают вовсе.
Логика напрашивалась простая: серверы стояли в верхней части стойки, где приток холодного воздуха хуже. Переставили вниз, сняли замер повторно.
Температура процессора — 77 градусов вместо 78. Накопители на три градуса холоднее. Сетевая карта — ровно 90, как и была.
Более того, на обеих переставленных машинах все четыре порта сетевых карт показали ровно 90.0. Не 89 и не 91. При разном воздухе и разной нагрузке так не бывает: разброс был бы хотя бы в пару градусов. Это поведение не датчика, упёршегося в среду, а регулятора, удерживающего заданную точку. Система управления охлаждением считает 90 градусов приемлемыми, потому что порог 95, и не раскручивает вентиляторы сильнее.
Заодно объясняется, почему перестановка не помогла. Регулятор скомпенсировал более холодный воздух, снизив обороты, и вернул температуру на ту же уставку. Условия изменились, рабочая точка осталась.
Что из этого следует практически. Если температура не меняется при изменении условий, искать надо в настройках, а не в зале: профиль охлаждения в прошивке, обороты вентиляторов, пороги в системе управления. И отдельно — в конфигурации. В этих серверах стоят стандартные радиаторы и стандартные вентиляторы, тогда как в других наших проектах на сопоставимых процессорах везде выбраны производительные. Это две строки в конфигураторе, которые выглядят необязательной опцией и стоят на фоне сервера незаметно.
И ещё одна деталь, которую видно в тех же замерах. Второй процессор на обеих машинах холоднее первого на 9-15 градусов. Это не продув, такой разрыв продувом не объясняется. Это нагрузка, сидящая преимущественно на одном узле распределения памяти: половина машины работает под порогом, вторая половина прохлаждается. Температура здесь оказалась индикатором проблемы, к охлаждению отношения не имеющей.
Добавим то, что обычно остаётся за кадром: конфигурации серверов собираются с параметром «среда ЦОД 25 градусов». Это не пожелание, а условие, при котором заявленное охлаждение работает. Если на входе в стойку теплее, запас израсходован ещё до первого включения, и никакая перестановка внутри стойки этого не вернёт.
Критерий
Когда выводить старое
К поломке, окончанию поддержки и нехватке производительности стоит добавить четвёртый повод.
Возвращаемся к тому, с чего начали, — к слоям.
Старую группу узлов с первой площадки нельзя расширять: лицензии прежнего типа. Она занимает 31 юнит на двух площадках, потребляет 15.4 kW и несёт некритичные и тестовые задачи при загрузке процессоров около 40%. За год это примерно 135 000 kWh только на оборудование и около 215 000 с учётом охлаждения.
Решение оставить её в роли эластичного резерва разумное: железо куплено, работает, задачи для него есть. Но теперь у этого решения появилась цена, и она измерима. Пятнадцать киловатт — это больше, чем занимает весь новый кластер на одной из площадок.
Отсюда критерий, которого обычно нет в обсуждении вывода оборудования из эксплуатации. Старое железо выводят, когда оно ломается, когда кончается поддержка или когда не хватает производительности. Предлагаем добавить четвёртый повод: когда занимаемые им киловатты нужнее, чем выполняемая им работа. В зале, где подвод ограничен, каждый старый узел занимает место, на которое не встанет новый. И считать это надо не в юнитах, а в киловаттах и в токе на фазу.
Чек-лист
Что проверить на своей площадке
Десять действий, для которых не нужны ни аудит, ни приборы.
- Сложить потребление всего, что стоит в стойке, включая коммутаторы, массивы и всё, что приехало из чужих поставок. Не по слоям, а целиком.
- Посчитать ток на фазу для каждой стойки и сравнить с номиналом ввода — для смешанных стоек это чаще всего узкое место.
- Разложить потребление по возрасту оборудования и посмотреть, какой слой самый дорогой. Обычно это не самый старый и не самый новый.
- Посчитать долю сетевого оборудования отдельно. Если она больше десятой части — стоит посмотреть, что там стоит и сколько ему лет.
- Проверить пороги по температуре в системе мониторинга и привести их к значениям, которые сообщают сами процессоры конкретной модели. Заодно посмотреть остальные пороги: те, что срабатывают всегда, не означают ничего.
- Посмотреть, стоят ли плотные узлы сплошной колонной, и по возможности развести их просветами с заглушками.
- Проверить направление продува у каждого несерверного устройства в стойке.
- Снять температуры с работающих машин, включая сетевые карты, память и накопители, а не только процессоры.
- Инженерные комплексы считать отдельной единицей планирования, а требования к подводу взять из документации производителя по планированию площадки.
- Для каждого старого узла ответить на вопрос, что важнее — работа, которую он делает, или киловатты и юниты, которые он занимает.
Итог
Вместо вывода
Парк никогда не покупают целиком. Его докупают: по одной закупке, по одному обоснованию, каждый раз глядя на свободные юниты и почти никогда — на общий ток по фазе. Через несколько лет получается стойка, которую никто не проектировал, и её характеристики не описаны ни в одном документе, потому что каждый документ описывал свой слой.
Хорошая новость в том, что сложить слои может кто угодно: для этого не нужен ни аудит, ни приборы, достаточно состава оборудования и калькулятора. Плохая — что сумма обычно оказывается больше, чем ожидают, и обнаруживается это в момент, когда надо поставить ещё один сервер.
Если хотите узнать, что у вас на самом деле в стойках, — давайте посчитаем. Заодно снимем температуры с того, что уже работает: судя по нашему опыту, там находится больше интересного, чем в любой спецификации.