PSU firmware is outdated.
Когда я впервые увидел такую надпись при опросе версий прошивок HP DL380, то был несколько обескуражен. Эм, ну ладно, если очень нужно – скачай и поставь. Но что за софт может быть в банальном блоке питания? Оказалось, что для диагностики местной системы жизнеобеспечения и обработки отказов по питанию. Там натуральный кластер из блоков питания, со своим арбитром и логикой. Под катом рассказ об устройстве такого "кластера" и о том, почему 2 x 1400 = 2300W.
Два блока питания – в два раза выше надежность? Не всегда, потому что зависит от настроек системы электропитания. Вот о ней подробнее и поговорим. В качестве предметов рассказа я выбрал оборудование среднего серверного класса, вроде такого:
То есть, не блейды и не мейнфреймы – у них все иначе устроено. Обратите внимание, форм-фактор сервера не имеет значения для наличия или отсутствия дополнительных блоков питания.
Надежность или удобство
Начнем с ответа на вопрос "зачем сколько БП, если можно просто хранить небольшой запас запчастей". Системы с резервированием в сервере всегда полезны, даже если не рассматривать отказоустойчивость. Например, они повышают удобство обслуживания и позволяют нам не ночевать в серверной при замене дисков или тех же блоков питания.
Например, второй блок питания поможет, если:
Выйдет из строя ИБП;
Дорожные рабочие найдут месторождение электричества;
Возникнет необходимость переноса сервера в другую стойку;
- Железу нужно больше мощности, чем обеспечивает самый производительный из доступных в каталоге источников питания.
Два блока питания дают больше гибкости при проектировании серверной комнаты. Например, рабочая схема подключения у одного клиента: в серверной две фазы, подключены к разным блокам питания серверов. Одна фаза подключена к UPS, а вторая работает только через стабилизаторы. Но эта линия идет от генератора с автозапуском. При отключении электричества дизель стартует и серверы продолжают работать, даже если UPS разрядятся. Это всего лишь один из вариантов, подобранный с учетом пожеланий клиента и возможностей бюджета.
Итого, несколько БП нужны для удобства администратора, повышения надежности системы и обеспечения большей мощности.
Теория "на коленке"
Простейший вариант систем с двумя блоками питания выглядит как запитывание отдельных комплектующих компьютера от разных блоков, при этом один из них управляющий и питает материнскую плату. Подобные решения практикуют геймеры и майнеры, потому что для установки трех и более видеокарт одного источника питания не хватит. Для подключения используют такие адаптеры:
При нажатии на Power замыкаются зеленый сигнальный провод с "землей", давая команду на запуск обоим блокам питания.
Помню, когда-то давно был у меня компьютер уровня Pentium III с набором SCSI дисков. Штатного блока питания перестало хватать, и я подключил старый АТ-блок отдельно для жестких дисков. Запуск чудо-машины происходил так: нажимаем на кнопку дополнительного питания и ждем жужжания дисков, затем включаем основной БП и начинается загрузка.
Даже в эпоху всепроникающего Китая для "самоделкиных" существует множество схем подключения двух блоков питания своими руками, чтобы получилась похожая конфигурация:
Но вернемся к промышленным серверным решениям.
Устройство питания по своей логике довольно простое. Блоки подключаются к специальной корзине Power Distribution Backplane, где также присутствует микроконтроллер Power Distribution Unit (не путайте с распределителем питания для серверной стойки). Контроллер отвечает за схему использования доступных БП: одновременно или в режиме primary-backup.
Настройка и логика работы
Столь продвинутую подсистему питания можно настраивать под конкретные потребности. При использования сервера с двумя блоками питания доступно несколько режимов работы:
Резервирование, при котором один блок питания нагружен постоянно, а второй готов подхватить нагрузку в случае сбоя;
- Распределение нагрузки, при котором сервер использует оба блока питания одновременно.
Очень напоминает RAID – его отказоустойчивый уровень 1 и производительный 0.
Большинство производителей позволяют администратору выбрать необходимый режим. Например, в таком сервере HP настройка через BIOS выглядит следующим образом:
Изображение немного устарело, так как в новых системах используется настройка через iLO, но для понимания сути ее достаточно.
Посмотрим на выдаваемую мощность пары блоков питания HP DL360 при разных режимах настройки и небольшой нагрузке. Для этого используем консольную утилиту hpasmcli.
- Balanced Mode
hpasmcli> SHOW POWERSUPPLY
Power supply #1 | Power supply #2 | |
Present : | Yes | Yes |
Redundant: | Yes | Yes |
Condition: | Ok | Ok |
Hotplug : | Supported | Supported |
Power: | 110 Watts | 95 Watts |
Не обманул производитель, блоки питания выдают примерно одинаковую мощность.
- High Efficiency Mode
hpasmcli> SHOW POWERSUPPLY
Power supply #1 | Power supply #2 | |
Present: | Yes | Yes |
Redundant: | Yes | Yes |
Condition: | Ok | Ok |
Hotplug: | Supported | Supported |
Power: | 90 Watts | 20 Watts |
И правда, при использовании режима распределения нагрузки блоки нагружены примерно одинаково. Но при включении отказоустойчивости используется только один блок питания, а второй переводится в Standby и расходует минимум энергии.
Своеобразный "спящий режим" нужен для того, чтобы избежать холодного старта при подключении резервного БП, сэкономить время и минимизировать риски выхода блока питания из строя в процессе его активизации. Как и в случае с бытовыми лампочками, при любом холодном включении образуются пиковые нагрузки на элементную базу электроцепи, что может привести к ее порче.
Настройка режимов работы у каждого производителя выполняется по-своему. Например, у Lenovo (IBM) в системах с двумя блоками питания настройка через GUI выглядит следующим образом:
На выбор предлагаются три режима работы:
Отказоустойчивость без снижения энергопотребления – вернемся к нему позже;
Отказоустойчивость с понижением мощности;
- Без отказоустойчивости, но с максимальной мощностью.
Generic-серверы, вроде Intel и Supermicro, не всегда хорошо документированы и открытой информации о настройках режимов работы БП не оказалось. Пришлось обратиться к нашим инженерам и форумам. Оказалось, что подобные системы обычно работают они в режиме балансировки нагрузки.
Если вы плотно работали с подобными платформами и владеете другой информацией – поделитесь в комментариях, пожалуйста.
Еще интереснее обстоят дела с системами из трех и более БП.
Три, четыре – кто больше?
Как и в аналогии с RAID, большее число узлов открывает более изощренные схемы использования. Например, у сервера Supermicro с тремя блоками штатно используется режим работы 2+1, то есть работают одновременно два, а третий в резерве.
В случае с четырьмя БП в Lenovo можно настроить использование блоков питания более гибко. Интерфейс даже считает показатели мощности самостоятельно:
С точки зрения баланса производительности и надежности, подобные конфигурации из 4 БП оправданы только при использовании "прожорливых" комплектующих. В остальных случаях запас по мощности будет избыточным, а удобство и запас надежности обеспечивают 2 блока питания с разными подводами электричества.
На мой взгляд, в таких платформах интереснее вместо третьего и четвертого БП поставить резервные батареи (примеры для Supermicro и HP). Они подстрахуют от проблем с UPS и минут на 5 повысят время работы без электричества в сети. Кроме того, с подобными модулями удобнее заниматься обслуживанием железа: выдернул кабель – и спокойно перенес сервер в другой шкаф. Время работы сервера от встроенной батареи составляет около пяти минут.
Один на 800 или два по 400
Опыт инженеров Сервер Молл показывает, что блоки питания на втором месте по выходу из строя, после жестких дисков. По крайней мере, в ходе восстановления серверов эти компоненты часто меняются из-за применения в их конструкции электролитических конденсаторов.
Если к сбоям дисковой подсистемы мы привыкли и держим запасной диск наготове, то замена для системы питания встречается на полках ЗИП реже. Ситуацию в какой-то степени спасает гарантия и возможность получить замену отказавшего БП через пару дней с курьером, но Закон Мерфи со счетов сбрасывать не стоит. В моей практике был случай, когда во время ожидания замены отказавшего БП вышел из строя оставшийся. Хорошо, что на сервере ничего жизненно-важного не было.
Если оставить в стороне надежность, то остается вопрос с мощностью. Как правило, лучше взять сразу два блока питания, каждый с достаточным запасом выходной мощности. Но если бюджет таких вольностей не позволяет, то придется взвешивать потребности более детально и учитывать проседания мощности источников питания. Обратимся к руководству от HP, в котором представлен график КПД системы питания в разных конфигурациях:
В случае низкой нагрузки машины КПД одного блока питания выше, но картина меняется, если у нас высоконагруженный сервер.
Что же будет, если один из блоков питания выйдет из строя, а мощности оставшегося не хватит?
У многих вендоров предусмотрен механизм снижения энергопотребления на случай сбоя – PowerSafe Guard у Fujitsu, Throttling у Lenovo. Использование подобных механизмов не всегда спасает ситуацию, да и существенное падение производительности порой хуже простоя.
Есть еще один нюанс: возрастает нагрузка на второй блок питания, что повышает вероятность его выхода из строя. Лучше исходить из того, что один блок питания из пары должен обеспечивать сервер целиком, хотя бы при штатных нагрузках. Разница в стоимости блоков питания разной мощности не так уж велика, поэтому стоит выбирать более производительные модели. Например, вот цены на варианты от Supermicro:
Блок питания PWS-406P-1R на 400 Ватт стоит в среднем 12 000 ?;
- Блок питания PWS-706P-1R на 700 Ватт стоит в среднем 14 000 ?.
Цены взяты с Яндекс маркета, так что в реальности они могут быть даже ниже. Экономия 4 000 ? в ущерб отказоустойчивости выглядит так себе даже для небольшого сервера.
Так что там с прошивками
Современный блок питания содержит набор диагностических механизмов для контроля внутренней системы охлаждения, напряжения, силы тока и массы внутренних состояний.
Помимо автоматического отключения при перегреве, полезно иметь возможность подключить к централизованному мониторингу показатели работы подсистемы питания. Например, с их помощью можно прогнозировать выход из строя определенного БП или выявить нестабильный подвод электричества. Все это обеспечивают микроконтроллеры, внутреннюю логику которых производитель периодически совершенствует в новых обновлениях.
А теперь о минусах
При всех описанных преимуществах, у решений с несколькими блоками питания есть и отрицательные стороны:
Необходимость покупать более дорогие проприетарные блоки питания. Как правило, они должны быть одинаковыми, что может вызвать проблемы с заменой для очень старых серверов;
Узким местом становится управляющий блоками питания контроллер и плата, к которой они подключаются (Power Distribution Backplane);
При малой нагрузке больший расход электроэнергии, как следствие специфического алгоритма использования;
- Вероятность выхода из строя одного блока питания из группы все же выше, чем сбой единственного – банальная теория вероятности. Поэтому стоит внимательно относиться к выбору энергоемких решений, полностью использующих оба блока питания.
Если у вас есть собственный негативный опыт работы с конфигурациями из нескольких блоков питания – было бы интересно почитать в комментариях.
В завершение приведу несколько полезных ссылок на калькуляторы мощности популярных вендоров:
Если вам тоже лень оценивать мощность при выборе очередного нового сервера, то эти инструменты помогут при расчете как мощности блоков питания, так и энергопотребления всего ЦОД.
Комментарии (20)
beydin_d
22.09.2016 20:02+1на супермикро заметили странное поведение — при выходе из строя (на самом деле просто кабель питания вывалился) одного из блоков — сильно проседает производительность системы. Восстанавливается если вернуть питание или если полностью достать обесточенный блок. на hp так же?
dimskiy
22.09.2016 20:52На HP такого не замечали, а вот на IBM (особенно m3-поколение) на некоторых моделях при отключении второго БП отваливается оперативная память :)
dimskiy
23.09.2016 00:04Я тут поспрашивал – говорят, у супермикро такое поведение описано в faq, правда для блейдов. Это как раз замедляется производительность системы, так как блок питания помечается как failed, даже если просто вытащить кабель. Такое поведение можно отключить каким-то джампером. Вот одна из ссылок на тему:
http://www.supermicro.com/support/faqs/faq.cfm?faq=23485
Panda_sama
23.09.2016 06:49+1зашел, чтобы прочитать ответ на вопрос из заголовка статьи — но так его и не увидел
llirik
23.09.2016 08:51+1У нас в компании сервера HP работают с несколькими блоками питания. Нагрузка не сильно большая и в принципе с небольшим запасом потянул бы 1 блок питания. По этой причине, ваше утверждение «Вероятность выхода из строя одного блока питания из группы все же выше, чем сбой единственного – банальная теория вероятности.» считаю неверным. Банально из-за того, что нагрузка практически в 2 раза ниже в случае двух блоков питания. Поэтому вероятность (субъективное мнение, не подкреплённая статистическими данными) выхода из строя блока питания в конфигурации из 2-х блоков питания ниже, нежели в конфигурации с 1 блоком питания.
Usikoff
23.09.2016 09:29Я с Вами полностью согласен, но вот как я для себя оправдал это заявление автора: 2 блока будут работать безусловно дольше одного, т.к. нагрузка меньше. Но при выходе из строя одного из блоков, выросшая нагрузка на второй может убить его с очень высокой вероятностью. В итоге — 2 трупа и никакой отказоустойчивости. Это лишь редкие случаи из практики, но подобный «эффект домино» гораздо чаще встречается в RAID-массивах на шпинделях, и особенно на дисках из одной партии. Замена вышедшего из строя диска запускает ребилд, который добавившись к основной нагрузке, может добить полудохлые винты массива.
BulldozerBSG
23.09.2016 12:14По этой причине, ваше утверждение «Вероятность выхода из строя одного блока питания из группы все же выше, чем сбой единственного – банальная теория вероятности.» считаю неверным.
Ознакомтесь пожалуйста с основами расчета надежности технических систем.llirik
23.09.2016 13:08вы можете что угодно бездоказательно говорить. но я знаю, что если устройство нагружено на 90% своих возможностей, то оно скорее всего проработает гораздо меньшее время, чем то-же устройство нагруженное на 45%.
Говоря абстрактное «технических систем», могу в свою защиту привести банальный пример из мира автомобилестроения. Представьте, что вы каждый день крутите двигатель почти в отсечку (это и есть 90% от его возможности). Долго ли прослужит в таком режиме двигатель?
Я этот пример взял лишь для того, чтобы показать, что время работы устройства в зависимости от нагрузки имеет нелинейную зависимость.Usikoff
23.09.2016 14:56Есть штатный режим эксплуатации. Автомобиль предназначен для того, чтобы его крутили — главное не превышать отсечку и сделать режим стабильным. Согласитесь, что двигатель после 100000км по трассе будет в разы в лучшем состоянии, чем после 100000км по городу. Также есть такое понятие как «крейсерская скорость», при которой двигатель выдает максимальную эффективность в соотношении износ/расход.
Я не предлагаю нагружать БП под 100%. 80% в пике нагрузки — это нормальный режим работы блока питания.
А когда блок питания выделяет тепла больше чем вся система, которую он питает — это не рациональное решение.
renault
23.09.2016 08:52лет 10 назад столкнулся с глюками по питанию
привезли новые серваки IBM — такого же класса
схема питания как в статье описано
серваки проинсталлили, почти в работу запустили
не помню как, то ли случайно на стенде, то ли решил проверить как они будут отрабатывать пропадание питания
так вот — при отключении питания на одном из БП сервер продолжал работать, а при появлении — уходил в перегруз
решилось заменой БП по гарантии, прошивку там поменять было вроде бы самому нельзя…
Usikoff
23.09.2016 09:221. Не согласен со сравнением балансировки нагрузки с RAID0. RAID0 не имеет никакой отказоустойчивости, а при балансировке нагрузки на БП отказоустойчивость как раз как у RAID1 — при выходе из строя одного из БП, второй берет на себя всю нагрузку. Причем указанная мощность никогда не суммируется, а считается как мощность одного модуля. В схемах 2+1 общая мощность равна сумме двух блоков, но работают все три равномерно нагруженно, и выход из строя одного из модулей не приведет к снижению суммарной мощности БП.
2. Еще один немаловажный плюс использования БП с возможностью горячей замены — это отсутствие необходимости разбирать сервер и, как следствие, собирать назад, укладывая заново проводку, чтобы она не перекрывала воздушные потоки системы охлаждения. Эта задача может стать нетривиальной для большой части обслуживающего персонала. А вынуть/вставить модуль — это несложно и удобно. Power distributor — да, узкое место — но, как Вы писали — БП имеет гораздо большую вероятность выхода из строя.
3. И еще один момент при выборе мощности. Многие считают, что чем больше — тем лучше. Это расточительно. КПД многих БП довольно велико, но в любом случае, если взять БП мощней в 4 раза чем надо, то энергопотери и тепловыделение от 2 блоков могут превысить потребление всей полезной системы. Есть прецеденты установки 2х920Вт в однопроцессорную систему с SSD общим полезным потреблением не более 130Вт. БП при этом сам сжирал более 300Вт. Не очень эффективное использование.
БП надо подбирать из расчета загрузки его на 80% в пике.
darthslider
23.09.2016 11:25Мы столкнулись с тем, что просто купить в ЗИП бп для серверов Dell — задача не тривиальная. Наш поставщик очень с трудом это делает и после долгого пинания, как-то связано с тем, что это делается не через дистрибуцию делл, а через сервис.
dimskiy
23.09.2016 11:28А параллельно вам не предлагают купить сервисный контракт Dell? Один из моих давних поставщиков пробовал нечто подобное, у них там разнарядка сверху была – пропихивать контракты и отговаривать покупать одни лишь запчасти. Правда, вендор другой был.
darthslider
23.09.2016 11:31У нас поддержка NBD на все серверное оборудование. Просто если у меня есть ЗИП, то когда у меня умирает бп, я не жду инженера сутки, а сам его меняю за 5 минут на запасной с полки, после чего мёртвый меняю на живой через сервис. С хардами причем таких проблем нет, харды в ЗИП покупаются в комплекте с серверами легко.
navion
24.09.2016 02:38Тоже слышал про дефицит запчастей у Dell, а про partsale@ru.ibm.com и вовсе слагают легенды.
Вот HP есть в свободной продаже занедорого, но даже с ними можно пролететь на какой-нибудь мелочи.darthslider
26.09.2016 11:03На сколько я знаю, там не дефицит, они просто очень трудно именно «продаются» по какой-то причине. Мол поставка запчастей только через серверные каналы.
Именно по наличию з/п — нам пару раз меняли материнки в серверах, блок питания, харды, батареи рейд контроллера по звонку в супорт реально на следующий день.
Долго было буквально пару раз на старых десктопах, на которые почему-то была продлённая гарантия, там приходилось что-то заказывать и ждать.
zte189
Что тут сказать — питание — это не то, на чём следует экономить.