Иногда высказывается мнение, что серверная архитектура — это нечто устоявшееся, полностью стандартизированное и ничего инновационного здесь уже не придумать. Однако это далеко не так. Любой сервер содержит более десятка подсистем: электропитания, охлаждения, памяти, хранения данных и пр. Каждую из них можно реализовать и скомпоновать по-разному. Вариантов получается очень много. К тому же любой дизайн можно улучшить.
Крупные провайдеры и интернет-компании заинтересованы в оптимизации центров обработки данных — в частности, в недорогих серверных платформах, более эффективных по энергопотреблению и экономичных в обслуживании. При наличии огромного количества серверов это могло бы дать существенную экономию — с учетом «эффекта масштаба».
Так возникла идея «обобщенных серверных систем». В результате появился новый класс серверов, в которых при проектировании и производстве в рамках одного шасси объединяются несколько узлов: для нескольких серверов или даже для всей стойки используются общие подсистемы питания, охлаждения и управления.
Наиболее ярким примером воплощения данной концепции стал инициированный в 2011 году проект Facebook, нацеленный на создание открытых стандартов для построения энергоэффективных и экономичных ЦОДов. Изначально в рамках этого проекта, позднее получившего название Open Compute Project (OCP), предполагалась разработка оборудования для ЦОДа Facebook, расположенного в Прайневилле (штат Орегон). Однако в итоге было решено сделать новую архитектуру открытой: компания выпустила спецификации OCP с рекомендациями по архитектуре стоечных серверов и их охлаждению. Сегодня речь идет уже о целой экосистеме: в составе консорциума OCP более 150 организаций, включая такие известные, как IBM, Microsoft, «Яндекс».
МОДЕРНИЗИРУЕМ СТОЙКУ
Что же можно усовершенствовать в стандартной стойке? Какие технологии необходимы? Как решают эту задачу инженеры Facebook и другие разработчики? В чем состоят особенности получаемых в результате продуктов и можно ли их использовать для построения обобщенных систем?
На организованной российской компанией RAIDIX конференции «ПроStor» об этом рассказал Александр Буравлев, технический директор компании Aquarius, которая начала заниматься обобщенными системами в 2008 году — в то время она была одним из поставщиком серверов для ЦОДов российских сервис-провайдеров.
Стандарту EIA, определяющему основные параметры стойки, уже не один десяток лет. Поэтому первое, что можно сделать, — попробовать внести технологические улучшения в саму стойку, изменив ее размеры и конструктив.
«Например, зачем устанавливаемым в стойку серверам верхние крышки? Убрав их с 40 серверов, мы снизим общий вес почти на 100 кг, — поясняет Александр Буравлев. — Можно также увеличить ширину стойки и вместо обычных 17″ использовать как полезное пространство все 19″, расширив корпус сервера».
Еще более радикальный шаг — увеличение полезной ширины стойки с 19″ до 21″. По такому пути пошли в Facebook. Помимо прочего, разработчики поменяли стандартную высоту сервера и всей стойки: на смену единице высоты монтируемого в стойку устройства Rack Unit (44,45 мм) пришла новая единица Open Unit (48 мм).
Так появилась спецификация Open Rack. Ширина стойки Open Rack составляет 24″, а отсека для оборудования — 21″ (см. рис. 1). Высота стойки увеличена до 48OU, что улучшает циркуляцию воздуха и упрощает доступ к оборудованию. Дополнительные 2″ к ширине позволяют установить в шасси еще три системные платы или пять дисков 3,5″. Объединение трех стоек в триплет дает еще большую экономию.
Рис. 1. Стойка Open Rack, используемая для размещения архивного хранилища Facebook Open Vault Cold Storage. Диски и вентиляторы в ней включаются, только когда это требуется |
Для Open Rack v1 потребовалась новая конструкция серверов, но об этом мы поговорим ниже. Сначала посмотрим, что можно сделать с подсистемой питания.
МЕНЯЕМ ПОДСИСТЕМУ ЭЛЕКТРОПИТАНИЯ
Каждый стандартный сервер 1U содержит два блока питания мощностью около 450 Вт — итого 80 блоков питания на стойку, половина из которых работает, а другая только потребляет энергию, рассказывает Александр Буравлев. Блоки питания можно объединить, и этот подход применяется практически всеми производителями серверов, разрабатывающими обобщенные системы (не только OCP).
Блоки питания заменяются на один или два существенно более мощных модуля, которые работают в режиме не N+N, а N+1 или N+2. Использование меньшего числа блоков большей мощности дает значительную экономию и упрощает обслуживание системы.
Для питания серверов в задней части стойки монтируются вертикальные шины (см. рис. 2). Этот подход широко применяется при создании обобщенных систем. Например, всю стойку могут обслуживать 9+2 блоков питания.
В серверной стойке Open Rack устанавливают три «полки питания»: для каждой зоны своя. Блоки питания резервируются по схеме 5+1 и суммарно занимают 10OU в стойке. Когда потребляемая мощность мала, часть PSU автоматически отключается, а остальные могут работать с оптимальной нагрузкой.
В системе распределения питания нет кабелей, которые нужно отключать при каждом обслуживании сервера. Электроэнергия подается по вертикальным шинам, и когда сервер задвигается в стойку, сзади в него входит разъем питания. Отдельный отсек 2OU отводится под коммутаторы ToR.
Каким же образом модернизируется подсистема охлаждения?
ПОДСИСТЕМЫ ОХЛАЖДЕНИЯ И УПРАВЛЕНИЯ
В типичном сервере 1U используются вентиляторы диаметром 40 мм, производительность которых составляет 0,06 м3/мин×Вт. В серверах 2U применяются вентиляторы диаметром 60 мм с производительностью 0,09 м3/мин×Вт. В серверах 2OU можно установить вентиляторы диаметром 80 мм с производительностью 0,16 м3/мин×Вт (см. рис. 3). Если же использовать обобщенное охлаждение с вентиляторами 120 мм, то их производительность достигнет 0,27 м3/мин×Вт.
Казалось бы, выигрыш невелик, однако при наличии в стойке 40 с лишним серверов он получается немалым. Если в первом случае типичное/максимальное значение энергопотребления вентиляторов на сервер составляет 56/70 Вт, то во втором — 40/50 Вт, в третьем — 27/34 Вт, а при обобщенном охлаждении — всего 17/28 Вт.
В Aquarius провели расчет энергопотребления на стойку для типовой «обобщенной» конфигурации из 40 серверов (2хE5-2600 80 Вт, 4хHDD SATA, 4x16 Гбайт ОЗУ) с коммутатором ToR и модулем управления питанием. Оказалось, что потребление составит 9,1 кВт. Для сравнения: при использовании стандартных серверов 1U (с процессорами Intel E5 2600GZ) понадобится 13,3 кВт. Несколько киловаттов высвободившейся мощности позволяют установить дополнительные серверы, не снижая общего энергопотребления, или сэкономить на нем.
Обобщенные вентиляторы более эффективны, так как затрачивают меньше ваттов на перемещение кубометра воздуха через сервер. Три таких вентилятора работают в режиме 2+1 и способны обслуживать четыре серверные полки. Однако они рассчитаны на охлаждение серверов при максимальной нагрузке, независимо от нагрузки реальной.
Между тем некоторые серверы в группе могут работать с неполной нагрузкой или вообще быть выключенными, охлаждаясь при этом «по полной программе». Кроме того, через неработающий узел возможен подсос воздуха из холодного коридора. Поэтому обобщенные вентиляторы лучше использовать совместно с программным или аппаратным балансировщиком нагрузки, выравнивающим нагрузку на серверы в стойке.
Обычные же вентиляторы, несмотря на их меньшую энергоэффективность, можно подстраивать под нагрузку конкретного сервера, причем подмес холодного воздуха через неработающий узел отсутствует. Их удобно использовать для задач с заведомо неравномерной нагрузкой на серверы в стойке. По этим причинам отношение к обобщенным вентиляторам в отрасли неоднозначно. Например, если «Яндекс» применяет их в своем ЦОДе, то Facebook предпочитает индивидуальные вентиляторы.
Обобщенная архитектура предполагает мониторинг и управление выделенными подсистемами питания и охлаждения. Вариантов реализации такого управления много. Часто применяются дублируемый IPMI-контроллер с процессором х86, поддерживающий удаленную консоль оператора, и плата подключения датчиков, которая тоже может дублироваться. Помимо централизованного управления, консоль упрощает обновление ПО серверов. Кстати, Microsoft открыла исходные коды модуля управления для своих серверов, используемых в облаке Azure. Независимые производители могут задействовать их в собственных разработках.
За счет комбинации централизованного питания, увеличения ширины отсека для оборудования до 21″ и оптимизации протока воздуха значительно улучшаются показатели энергопотребления (см. табл. 1).
Таблица 1. По данным российской компании ETegro, по сравнению со стандартными решениями ее продукты Therascale OCP потребляют при полной нагрузке на 11% меньше энергии |
ОБОБЩЕННЫЕ СЕРВЕРЫ И СЕРВЕРЫ OCP
Реализации серверных узлов делятся на два класса: соответствующие спецификациям OCP (см. рис. 4) и проприетарные (см. рис. 5). Первые создаются в рамках консорциума OCP, разрабатывающего и публикующего спецификации узлов. Вот несколько вариантов:
- Три сервера в корпусе 2OU, каждый узел содержит два процессора Xeon E5 v3, 16 слотов DIMM DDR4, два адаптера 10GbE, два слота 8PCIe LP, шесть накопителей SATA SSD HS. Такая конфигурация стала возможной благодаря расширению стойки до 21″.
- Четыре узла в корпусе 2OU с двумя процессорами Xeon E5 v3, 16 слотами DIMM DDR4, двумя адаптерами 10GbE, двумя слотами 8PCIe LP и двумя накопителями SATA SSD HS каждый.
- 24 узла в 12RU. Каждый узел — это сервер, оснащенный двумя процессорами Xeon E5 v3, 16 слотами DIMM DDR4, двумя адаптерами 10/40GbE, двумя слотами 8PCIe LP и либо накопителями (8×2,5″ или 4×3,5″), либо дисковым массивом JBOD или RAID. Это реализация Microsoft.
Рис. 5. Пример проприетарной реализации архитектуры обобщенных серверов |
Что касается внешних СХД, то в OCP было выбрано решение, аналогичное использованному для блоков питания. Диски сгруппированы и вынесены за пределы серверных узлов. Так появилась система хранения данных Knox (см. рис. 6) в корпусе 2OU. Она может вмещать 30 дисковых накопителей 3,5″ и очень проста в обслуживании: для замены диска выдвигается «поднос» и открывается соответствующий отсек.
Рис. 6. OCP Knox — дисковая полка JBOD, созданная консорциумом OCP для Open Rack. К ней подключаются адаптеры HBA соседних серверных узлов (по данным Intel) |
Начинка у Knox может быть разной. Например, 30×3,5″ дисков SAS HotSwap, процессор Intel Atom C2xxx (2, 4 или 8 ядер), оперативная память до 32 Гбайт, сетевой адаптер 10GbE, слот x8PCI-E G2. Накопители соединяются кабелем SAS, накопители разного типа можно комбинировать, возможен тиринг.
В Facebook создали модификацию Knox для хранения изображений. Система оснащается вычислительными узлами на базе Intel Avoton SoC (C2350 и C2750) с четырьмя слотами DDR3 SODIMM и интерфейсами mSATA/M.2 SATA3. Модифицированная версия служит архивным хранилищем (Cold Storage). Диски и вентиляторы в ней запускаются только тогда, когда это требуется. Еще один вариант архивной системы содержит 24 магазина с 36 картриджами-контейнерами по 12 дисков Blu-ray в каждом.
ПРОПРИЕТАРНЫЕ РЕШЕНИЯ
На рынке имеется также множество частных, проприетарных решений обобщенных серверов — например, проект Scorpio (серверы без крышки корпуса). Инициаторами Scorpio Project стали три крупнейших игрока интернет-рынка Китая: Baidu, Alibaba и Tencent при поддержке Intel. Цель проекта — разработка и тестирование многофункциональных стоечных серверов. Другие примеры обобщенных проприетарных систем — IBM FlexSystem (теперь Lenovo) (см. рис. 7) и множество модификаций сдвоенных серверов Supermicro (см. рис. 8). Разнообразие конфигураций позволяет выбирать систему под конкретную задачу.
Рис. 7. Lenovo FlexSystem вмещает 14 вычислительных узлов в корпусе 10U для стойки 19″ |
сер |
Рис. 8. Сдвоенные серверы Supermicro (Fat Twins) — это 37 моделей в корпусе 4U для стойки 19″ |
Еще один пример — серверная платформа Microsoft OCP (рис. 9). Шасси шириной 19″ и высотой 12U на 24 узла содержит 12 «полок» по два серверных узла; используются обобщенное резервированное питание (5+1) и охлаждение (3+3), имеется выделенный контроллер управления. Энергопотребление системы составляет 9,6 кВт. Обслуживание осуществляется с двух сторон: с задней (блоки питания горячей замены, вентиляторы горячей замены, интерконнект QPI) и передней (узлы, диски горячей замены). Каждый узел — это два процессора Intel Xeon E5-2600 V3, память DDR4 до 512 Гбайт, встроенный RAID 0/1/10, порты 10GbE DA/SFP+ и 40GbE QSFTP+. Питание централизованное — от постоянного тока с напряжением 12 В.
Рис. 9. Конструкция серверной платформы Microsoft OCP |
Пожалуй, с некоторой натяжкой к классу обобщенных систем можно отнести и модульные серверы (blade). Однако они не имеют столь обширной экосистемы и открытой для сторонних разработчиков архитектуры. Это более дорогие, проприетарные решения. Но по вычислительной плотности эти платформы похожи.
Еще одно отличие обобщенных серверов: обычно в них не применяются старшие модели процессоров (Intel Xeon E7), а уровень надежности ниже, чем в серверах старшего класса. Они предназначены для задач провайдеров и рассчитаны на максимальную эффективность и снижение операционных затрат.
ГДЕ, ПОЧЕМУ И ДЛЯ ЧЕГО ПРИМЕНЯЮТСЯ РЕШЕНИЯ OCP?
Если архитектура OCP (см. рис. 10) станет стандартом де-факто для центров обработки данных, это может упростить развертывание систем и управление ими. Но главное, благодаря достигнутой экономии клиентам будут предоставляться более дешевые сервисы, что позволит добиваться успеха на высококонкурентном рынке. Цели OCP — увеличение наработки на отказ (MTBF), повышение плотности серверов, удобство обслуживания за счет доступа из холодного коридора, улучшение энергоэффективности, что особенно важно для компаний, эксплуатирующих тысячи систем.
Рис. 10. Так выглядит стойка OCP |
Серверы Open Compute могут работать при повышенной температуре. В них установлены высокие радиаторы и более эффективные вентиляторы. Модульная конструкция сервера Open Compute упрощает доступ ко всем его компонентам, а для обслуживания не требуется инструментов. 80% компонентов в OCP заменяются в течение 3 мин или даже быстрее.
Внедрение серверов, созданных в рамках проекта Open Compute, дало Facebook возможность сэкономить за три года более 2 млрд долларов. Однако следует учитывать, что этого удалось добиться в том числе за счет оптимизации ПО, а для каждого вида приложений было разработано пять типовых серверных платформ (см. табл. 2). Сегодня в основном применяются варианты платформы Facebook Leopard с процессорами Xeon E5.
Таблица 2. Типовые серверные платформы, используемые Facebook для разных нагрузок |
В настоящее время спецификации OCP охватывают уже целый пул «открытого» аппаратного обеспечения — от серверов до инфраструктуры ЦОДа. Возросло число компаний, предлагающих и использующих OCP (см. рис. 11). Как оказалось, многие инновации OCP подходят не только для крупных ЦОДов, но и для использования в решениях для частных/публичных облаков. А открытые стандарты — это возможность воспроизведения системы по конструкторской документации.
Рис. 13. Обобщенные серверы, используемые компанией «Яндекс» |
По всей вероятности, применять обобщенные серверы с модульными конструкциями, соответствующие спецификациям OCP, будут не только интернет-гиганты, но и владельцы корпоративных ЦОДов, заинтересованные в удовлетворении спроса на вычислительные мощности при одновременном сокращении занимаемой серверами площади, в снижении их энергопотребления, в упрощении эксплуатации и обслуживания.
Модели их использования могут быть разными (см. рис. 12). В «обобщенной» стойке 21″/19″ высотой от 42 до 48OU и глубиной от 1080 до 1200 мм можно разместить от 20 до 84 серверных узлов (1, 2 и 3 узла на полке). Такие системы с воздушным охлаждением потребляют от 12 до 28 кВт на стойку и требуют закрытых коридоров — как горячего, так и холодного. Рабочая температура серверов достигает +35... +400С, что дает возможность с выгодой использовать фрикулинг.
Преимущества подобных систем — высокая плотность размещения, экономия площадей, достаточная эффективность, сокращение затрат (OPEX), низкое энергопотребление. Но есть и недостатки: значительная стоимость при малых масштабах (стандартные серверы в этом случае дешевле), высокая гранулярность (шаг масштабирования 12 кВт), скудная подсистема расширения и ввода-вывода, неэффективность при потреблении менее 10 кВт на стойку, а также отсутствие сертификации для работы с корпоративным ПО.
Как бы то ни было, такие системы могут быть востребованы организациями из финансового сектора, государственными учреждениями и транспортными и промышленными компаниями. Обобщенные системы используют многие российские сервис-провайдеры и крупные социальные сети (см. рис. 13).
Рис. 13. Обобщенные серверы, используемые компанией «Яндекс» |
Например, интернет-провайдер Hostkey самостоятельно разработал обобщенные серверы для сдачи их в аренду в качестве выделенных платформ. В компании считают, что традиционные решения не позволяют предложить клиентам малобюджетные решения (см. рис. 14).
Инновации OCP постепенно внедряются в ЦОДах и стандартизируются, удешевляют разработку серверных решений, становятся доступными для широкого круга заказчиков. Открытые технологии позволяют предлагать любую комбинацию вычислительных узлов, систем хранения и коммутаторов в стойке, использовать готовые или собственные компоненты, применять коммутаторы любого вендора. Обобщенные системы продолжают развиваться.
Сергей Орлов — независимый эксперт. С ним можно связаться по адресу: sorlov1958@yandex.ru.