В статье рассмотрены возможности применения серверов-лезвий. Проанализированы общие особенности их конструктивного строения. Обсуждаются некоторые конкретные реализации серверов-лезвий, рассмотрены преимущества и недостатки их применения.
Как учит диалектика, развитие идет по спирали. В настоящее время мы находимся на ее новом витке, характеризующемся определенным возвратом к централизованным решениям. Консолидация серверов [1] не является простым возвратом к традиционным мэйнфреймам. В современных центрах данных (использование этого термина вызывает в памяти более «древнюю» аналогию — вычислительные центры коллективного пользования) могут применяться различные аппаратные решения. Некоторые производители Unix-серверов теперь также называют их мэйнфреймами. «Менее централизованный» подход к построению центров данных, становящийся в последнее время все более популярным, появился первоначально в приложениях, связанных с Internet. Этот подход — применение так называемых «серверов-лезвий» (server blade).
Вообще говоря, сервер-лезвие не представляет собой нового решения с точки зрения архитектуры компьютерных систем. Это, скорее, некоторый набор чисто инженерных (конструкторских) решений, проявляющихся в виде более плотной упаковки различных аппаратных компонентов. Движение в этом направлении происходит уже довольно давно. Сначала оно проявилось в миниатюризации стоечных вариантов серверов вплоть до форм-фактора 1U (1U = 1,75 дюйма), вслед за которыми относительно недавно и появились собственно серверы-лезвия.
С точки зрения автора, сам термин «серверы-лезвия» не совсем полно отражает суть данного технического решения, которое включает в себя не только собственно серверы, но и другие компоненты аппаратной инфраструктуры. Представляется, точнее было бы говорить о кластерах или о небольшой локальной сети, реализованных на базе лезвий. Само по себе слово «лезвие» указывает лишь на «сверхтонкость» различных аппаратных модулей, в том числе, и серверных.
В целом серверы-лезвия характеризуются не только определенными аппаратными решениями, но и соответствующим программным обеспечением, облегчающим администрирование, что позволяет уменьшить полную стоимость владения (total cost of ownership,TCO). В первой части статьи постараемся объяснить, почему вообще серверы-лезвия понадобились потребителю; при этом будем считать термин «серверы-лезвия» интуитивно понятным, уточняя его по мере обсуждения. Затем обратимся собственно к устройству серверов-лезвий.
Необходимость в серверах-лезвиях
Вспомним сначала, чем была вызвана тенденция к консолидации серверов. Одна из важнейших причин — стремление к уменьшению в TCO доли расходов на зарплату системных администраторов благодаря упрощению администрирования по сравнению с распределенной системой серверов, находящихся, вообще говоря, в разных помещениях. Консолидация сопровождается уменьшением требуемых площадей. Возможное очевидное решение задачи консолидации — использование стоечных решений. Конечно, задачу системного администратора можно упростить гораздо сильнее, если перейти к использованию более мощных SMP-серверов или мэйнфреймов. Однако такое решение стоит гораздо дороже (по крайней мере, с точки зрения первоначальных вложений), чем установка дешевых серверов в стойку.
Очевидными минусами обычного стоечного решения являются неудобства, вызванные наличием кучи кабелей, подсоединенных к серверам стойки: сетевых, электропитания, кабелей коммутатора клавиатура/мышь/видео и проч. Полная стойка из 42 серверов форм-фактора 1U может содержать сотни кабелей, с которыми сложно разбираться и которые мешают доступу. Кроме того, в таком решении часть пространства стойки уходит под коммутаторы (сетевые, Fibre Channel и др.) и блоки обеспечения электропитания (Power Distribution Unit, PDU) [2].
Собственно, цель перехода к серверам-лезвиям — обращение к более совершенным инженерным решениям, которые позволили бы достигнуть более высокой плотности упаковки, чем при работе с 1U/2U-серверами, уменьшить общее энергопотребление и количество необходимых кабелей.
Для того чтобы было понятнее, зачем нужны серверы-лезвия, и какие к ним могут предъявляться требования со стороны приложений, необходимо обратиться к типовой аппаратной инфраструктуре, используемой подобными приложениями в настоящее время. Нижеследующий анализ базируется в основном на публикации компании Sun Microsystems [3].
Часто подчеркивают, что серверы-лезвия вызваны к жизни приложениями, ориентированными на Сеть. Рассмотрим типичное строение информационной системы, характерное для современных Web-приложений [4]. Специальный нулевой уровень (кэширование на рис. 1) может отсутствовать, и тогда можно говорить о трехуровневой схеме.
Типичными приложениями, где применение серверов-лезвий целесообразно уже сегодня (назовем их приложениями первого класса), являются приложения, «связанные» с пропускной способностью сети. Это удаленное кэширование, прокси-серверы, межсетевые экраны, почтовые и Web-системы переднего плана, DNS-системы, серверы Web/XML, SSL-шифрование и т.д. [3].
Приложения этого класса не лимитируются производительностью процессоров и дискового ввода-вывода, а на серверах переднего плана при этом обычно используются известные легко настраиваемые приложения (например, Apache Web Server или Sun ONE Web Server), как правило, на платформах Unix или Linux. Такие приложения характерны для центров обработки данных и, следовательно, для них встают требования минимизации площадей и энерговыделения. Эти приложения являются горизонтально масштабируемыми.
К приложениям второго класса в Sun относят ориентированные на обработку транзакций, требования которых, по мнению компаниии, кардинально отличаются от требований приложений первого класса. Очевидно, что требования к серверам-лезвиям со стороны приложений второго класса гораздо серьезнее: здесь основная нагрузка ложится на серверы приложений и серверы баз данных (рис. 1).
Помимо нагрузки на процессоры, эти приложения отличаются высокими требованиями к дисковой подсистеме ввода-вывода. Для таких приложений (например, CУБД или ERP) более характерно требование масштабирования по запросам, а также задача обеспечения непрерывной доступности.
Примером может быть система электронной коммерции, для которой доступ к Web должен обеспечивать хорошее масштабирование в период предпраздничных дней. Как указывают в Sun, здесь важно вертикальное масштабирование, характерное для систем с общей памятью, используемой многими параллельными нитями [3].
C точки зрения автора, вертикальное масштабирование, традиционный путь при использовании многопроцессорных SMP-серверов, потенциально можно заменить горизонтальным, а фактически, построением кластера. В качестве обоснования этого тезиса можно сослаться на хорошее распараллеливание некоторых тестов TPC в кластерах.
К приложениям второго класса, которые могут требовать применения серверов-лезвий, иногда относят вообще любые связанные с интенсивными вычислениями приложения, требующие использования нескольких процессоров. По мнению автора (эту точку зрения я постараюсь обосновать ниже), эффективность применения серверов-лезвий для приложений данного класса, по меньшей мере, дискуссионна.
Думаю, в Sun поступают корректно, говоря о том, что серверы-лезвия для подобных приложений будут созданы на следующем этапе [3]. К утверждениям о применимости сегодняшних серверов-лезвий для высокопроизводительных приложений следует относиться с осторожностью; по-видимому, в них сильна рекламная составляющая.
Исходя из анализа приложений, можно сформулировать определенные технические требования к характеристикам серверов-лезвий, которые, в частности, включают:
- пониженное энергопотребление микропроцессоров (они могут иметь разную архитектуру - теоретически это может быть и Intel x86, и 64-разрядные RISC-микропроцессоры, например, Sun UltraSPARC);
- инженерно-механические решения для увеличения компактности, в частности, применение компактных форм-факторов;
- эффективно реализованная общая инфраструктура (электропитание, сетевые межсоединения и проч.);
- удобные и простые средства управления и поддержки и др.
Теперь пришла пора рассмотреть, как этого добиваются в реальности в конструкции серверов-лезвий.
Конструктивные особенности серверов-лезвий
Позволю себе еще раз напомнить, что серверы-лезвия, по крайней мере, в их сегодняшнем состоянии, не привносят что-либо нового с точки зрения архитектуры компьютерных систем. Вместе с тем, их отличает ряд определенных конструктивных решений. В целом серверы-лезвия можно считать состоящими из трех основных компонентов [2]:
- шасси (корпус), в которое вставляется некоторое число модулей-лезвий с возможностями горячей замены;
- вставляемые в шасси модули-лезвия серверного типа (фактически, обычные серверы, но в специальном конструктиве);
- вставляемые в шасси "дополнительные" модули, которые могут, в принципе, отсутствовать.
Модули-лезвия серверного типа, являясь независимыми серверами, содержат в себе не менее одного процессора, оперативную и дисковую память и сетевые контроллеры. Каждый такой модуль оснащен собственной операционной системой и выполняет соответствующие приложения.
Модули-лезвия серверного типа помещаются в имеющиеся в шасси монтажные отсеки. Шасси, в свою очередь, монтируются в стойку. Подобно многопроцессорным серверам SMP-архитектуры, шасси сервера-лезвия может иметь конструктивное решение с задней (backplane) или со срединной платой (midplane). Однако если в SMP-системах эти платы являются, в первую очередь, «носителями» общей шины (и соответственно ее слотов), то в шасси серверов-лезвий они используются для организации доступа к общим компонентам инфраструктуры: коммутаторам Ethernet/Fibre Channel/KVM («клавиатура - видео - мышь»), системным портам, вентиляторам и блокам питания, накопителям CD-ROM [2]. Какие конкретно аппаратные компоненты сделаны общими, зависит от производителя.
Рис. 2. Основные компоненты серверов-лезвий |
Также от производителя зависит и то, какие дополнительные модули могут вставляться в шасси сервера-лезвия (риc. 2). Дополнительные модули используются модулями-лезвиями серверного типа совместно и могут включать, в частности, модули управления, электропитания, вентиляторов, коммутаторов. Некоторые из дополнительных модулей, например, модули электропитания, могут обеспечивать избыточность и тем самым способствовать отказоустойчивости. Эти модули могут иметь контроллеры для внешних устройств, в том числе. SCSI, Fibre Channel, дисковых массивов, iSCSI, Infiniband и др.
В сочетании с поддержкой Gigabit Ethernet это позволяет строить решения с использованием технологий NAS и SAN, что способно обеспечить масштабируемость решений для внешней памяти и удобные средства работы — как раз то, что часто требуется в центрах данных [2].
Мы вкратце рассмотрели основные особенности построения серверов-лезвий, что позволяет точнее понять потенциальные преимущества этого подхода по сравнению с простым размещением в стойке серверов форм-фактора 1U/2U. Более высокий «КПД» использования пространства в серверах-лезвиях обеспечивается благодаря применению общих (разделяемых) компонентов инфраструктуры. По мнению IBM [2], конструкции серверов-лезвий позволяют обеспечить минимум вдвое более плотную упаковку процессоров, чем стоечные серверы с форм-фактором 1U.
Полезно отметить, что если в обычном SMP-cервере все процессоры, как правило, должны быть одинаковыми, в шасси сервера-лезвия можно вставить модули-лезвия серверного типа, содержащие разные типы процессоров (например, более «горячие» и более быстродействующие, или более «холодные» и менее высокопроизводительные), оптимизируя выбор под конкретный набор приложений. Конечно, внутри модуля-лезвия серверного типа процессоры должны быть одинаковы (эти модули могут быть либо однопроцессорными, либо SMP-архитектуры). В настоящее время в модулях-лезвиях серверного типа применяется не более двух микропроцессоров, но на рынке уже появляются и 4-процессорные модули.
По оценкам Sun, плотность размещения аппаратных компонентов в серверах-лезвиях должна быть не менее чем в 5 раз выше, чем в 1U-cерверах. Другой важной составляющей будущего успеха серверов-лезвий должна быть стандартизация, в частности, используемых межсоединений и форм-факторов, а также программных интерфейсов управления [3]. По мнению аналитиков Gartner, производителям серверов-лезвий необходимо договориться о стандартизации плат типа backplane, чтобы в одном шасси можно было бы размещать модули, выпущенные разными компаниями [5].
Конкретные реализации
Ряд небольших фирм стали предлагать потребителям свои серверы-лезвия уже в конце 2000 года. В настоящее время серверы-лезвия поставляются уже и крупнейшими компьютерными компаниями — HP, IBM, Dell, Fujitsu Siemens. Значительное внимание этому сегменту рынка уделяют и Intel, и Sun.
Как правило, серверы-лезвия базируются на микропроцессорах с пониженным уровнем энергопотребления (обычно х86-совместимыми) и соответственно имеющими более низкую производительность, чем можно достигнуть в стандартном современном ПК. Например, компания RLX Technologies, один из ключевых игроков рынка серверов-лезвий, предлагает серверы-лезвия на базе микропроцессоров Crusoe TM5800/1 ГГц, которые ориентированы на рынок мобильных систем и имеют пониженное энергопотребление. RLX предлагает, в частности, бездисковые модули-лезвия, а также лезвия на базе 2,5-дюймовых IDE-дисков, ориентированных на использование в ноутбуках, но имеющих более низкие скорости передачи.
Наиболее популярной платформой для серверов-лезвий сегодня являются, вероятно, Pentium III, поскольку они выделяют тепла значительно меньше, чем Pentium 4. Intel выпустила две специальные модификации процессоров Pentium III с пониженным и «сильно пониженным» уровнем рабочих напряжений [6]. В качестве примера серверов-лезвий на базе Pentium III можно упомянуть, в частности, Dell PowerEdge 1655 или серверы HP ProLiant BL. Последние выпускаются в двух модификациях: класса e (однопроцессорные, на базе Pentium III/800 МГц) и класса р (двухпроцессорные, на базе Pentium III/1400 МГц).
HP — лидер рынка серверов-лезвий, поэтому рассмотрим эти системы более подробно. Для иллюстрации возможностей подобных серверов-лезвий в таблице 1 приведены некоторые, в первую очередь конфигурационные, характеристики ProLiant BL на базе Pentium III.
Полезно взглянуть и на некоторые «технико-экономические» показатели. В серверах класса e размещается до 20 лезвий на корпус, или до 280 лезвий на полную стойку размером 42U. В серверах p-класса размещается до 8 лезвий на корпус, или до 48 лезвий на стойку. Данные таблицы 2 показывают экономию в количестве требуемых кабелей при использовании решений на базе ProLiant BL класса p.
Рассмотрим теперь подробнее конструктивные решения, использованные в серверах HP ProLiant класса p. Это может служить общей иллюстрацией того, как практически устроены серверы-лезвия.
Рис. 3. Стойка с серверами-лезвиями HP Proliant BL p-класса 1 — Модули межсоединения 2 — Модули-лезвия серверного типа 3 — Блоки питания |
На рис. 3 представлена стойка, заполненная серверами-лезвиями ProLiant p-класса [7]. Шасси этих серверов-лезвий использует конструктив с платой типа backplane (она является съемной), которая обеспечивает доступ к системе электропитания и сетевую передачу данных.
Собственно блоки питания расположены отдельно внизу стойки в специальном 3U-корпусе. Они обеспечивают резервирование (избыточны) и имеют возможности горячей замены; доступ к ним осуществляется с фронтальной стороны стойки. Их задача — поддержание напряжения -48 В, поставляемого в серверы-лезвия через специальные шины (bar) сзади стойки. Имеются одно- и трехфазные варианты этого 3U-копуса; возможно применение сразу двух 3U-корпусов с блоками питания. Каждый 3U-корпус содержит также модуль управления электропитанием со специальным микроконтроллером, обеспечивающим мониторинг блоков питания и всего 3U-корпуса. Этот модуль может быть соединен с модулями управления 6U-корпуса серверов-лезвий.
Монтируемый модуль управления 6U-корпуса серверов-лезвий располагается сзади этого корпуса и общается через backplane с микросхемами ASIC iLo каждого лезвия. Задача этого модуля — отслеживать, в частности, температурные показатели и состояние электропитания.
6U-шасси серверов-лезвий имеет 8 монтажных отсеков для модулей-лезвий серверного типа (часто также называемых серверами-лезвиями) и 2 монтажных отсека по краям корпуса — для модулей межсоединения (рис. 3).
Модули-лезвия серверного типа по своим главным характеристикам близки к серверам ProLiant DL360 G2 (см. также таблицу 1). Оба основаны, в частности, на одном и том же наборе микросхем ServerWorks HE Superlite. В лезвии имеется 4 слота оперативной памяти с двукратным расслоением, поэтому модули DIMM должны добавляться парами. В модуль устанавливаются два жестких диска Ultra3 SCSI с возможностями горячей замены. Используемый контроллер дисковых массивов SmartArray 5i может комплектоваться энергонезависимым кэшем записи, снабженным собственной батареей [7].
Имеющиеся сетевые платы поддерживают технологию PXE (Preboot Execution Environment), что обеспечивает, в частности, удаленную загрузку при установке операционной системы. При использовании коммутаторов Gigabit Ethernet требуется всего один сетевой кабель на 8 модулей-лезвий серверного типа. Поддерживается также избыточность сетевых плат.
На передней панели модуля-лезвия серверного типа имеются следующие световые индикаторы: включенного электропитания; установленного соединения и активности на сетевом «канале»; активности жестких дисков; идентификации модуля (он может быть активизирован удаленно); индикатор «здоровья» аппаратуры модуля.
Стандартно поставляемые расширенные средства iLo (Integrated Lights-Out) в дополнение к поддержке доступа к коммутатору KVM предоставляют возможности виртуальной дискеты. Кроме этих средств, следить за состоянием стойки в графическом режиме помогает Insight Manager. Для быстрого конфигурирования серверов-лезвий используются возможности еще одного программного средства — ProLiant Essentials Rapid Deployment Pack. Подробнее об этих программных средствах см. [7].
На фронтальной стороне модулей-лезвий серверного типа имеется специальный коннектор для диагностических кабелей. Через них осуществляется подключение внешнего ПК, выступающего в качестве диагностической станции, который позволяет: включать электропитание модулей-лезвий серверного типа и модулей межсоединения; тестировать и конфигурировать эти модули; загружать программное обеспечение в модули серверного типа и др. При диагностике модулей-лезвий серверного типа с помощью внешнего компьютера также используется iLO.
6U-корпус рассматриваемых серверов-лезвий предполагает использование пар межсоединений, что повышает отказоустойчивость. Как уже было сказано, модули-лезвия межсоединений располагаются внутри 6U-корпуса; они собирают сигналы со всех сетевых плат всех модулей серверного типа, находящихся внутри данного корпуса, и предоставляют коннекторы RJ-45 для внешних соединений сервера-лезвия.
HP предлагает различные типы модулей межсоединения — от простых панелей-«заплат» с разъемами RJ-45 (обеспечивающих, однако отказоустойчивость из-за дублирования) до полнофункциональных модулей-коммутаторов Gigabit Ethernet с поддержкой средств построения виртуальных локальных сетей, обеспечения требуемого качества обслуживания, агрегирования каналов (trunking) и т.д.
Семейство серверов-лезвий ProLiant быстро развивается. HP уже объявила о выпуске 4-процессорных серверов-лезвий BL40P (поставки начнутся в марте), а также о реализации в SMP-серверах ProLiant BL класса p поддержки сетей хранения.
Показателен подход HP к оценкам производительности cерверов-лезвий: измеряется, например, число транзакций WebBench на единицу электрической мощности или на единицу площади. Это ясно указывает на цели, к которым стремятся разработчики. Однако очевидно, что с точки зрения достижения более высокой производительности следует использовать серверы на базе Pentium 4 Xeon, а не Pentium III.
Такие серверы-лезвия на базе Pentium 4 уже предлагает, в частности, IBM (cерверы-лезвия eServer BlackCenter). Компоненты этих серверов-лезвий представлены на рис. 2. Шасси этих серверов-лезвий имеет размер 7U и содержит 14 монтажных отсеков под модули-лезвия (соответственно на стойку получается максимум 84 модуля-лезвия лезвия серверного типа). В шасси могут быть размещены до четырех (с избыточностью) коммутаторов Gigabit Ethernet или Fibre Channel с возможностями горячей замены, а также до четырех модулей электропитания с возможностями горячей замены. Поставляются также дополнительные модули охлаждения, содержащие вентиляторы, и модули управления с портами Ethernet и KVM. Доступ к общим компонентам инфраструктуры обеспечивает плата ePlane.
Собственно модули-лезвия серверного типа, HS20, содержат до двух процессоров Xeon с частотами 2 ГГц или 2,4 ГГц и оперативную память (DDR PC2100 ECC с поддержкой Chipkill) емкостью от 0,5 до 8 Гбайт. HS20 комплектуется жестким диском с интерфейсом IDE или UltraSCSI 160/320 (в последнем случае — с возможностью горячей замены). Кроме того, поддерживается два контроллера Gigabit Ethernet с балансировкой нагрузки.
В качестве другого примера серверов-лезвий, ориентированных на более высокопроизводительные приложения, можно указать на продукцию компании Egenera, существующей всего три года. Она предлагает шасси BladeFrame для серверов-лезвий, в которое могут монтироваться 2- и 4-процессорные модули-лезвия серверного типа на базе процессоров Intel с тактовой частотой до 2 ГГц. Хотя в качестве межсоединения фирма предлагает собственную разработку с пропускной способностью 2 Гбит/с, имеется поддержка Ethernet для соединения в локальную сеть, а также Fibre Channel и SCSI для работы в составе сетей хранения. При этом, в отличие от HP, IBM и Dell, Egenera поставляет бездисковые процессорные лезвия.
Заключение
Области, в которых применение серверов-лезвий может быть целесообразно уже сегодня, характеризуются тем, что их производительность лимитируется скорее производительностью сети, а соответствующие приложения не требуют высокой производительности процессорной или дисковой подсистем. В этом случае для экономии площадей, упрощения администрирования и по ряду других причин разумно рассмотреть возможность применения серверов-лезвий. Однако следует учитывать, что это стоит несколько дороже традиционных стоечных решений.
Что касается приложений, действительно требующих очень высокой производительности, автор критически оценивает целесообразность применения серверов-лезвий, по крайней мере, сегодня. Обратимся к ставшему классическим способу создания высокопроизводительных вычислительных ресурсов путем построения Linux-кластеров (например, на основе технологии Beowulf).
Решения на базе серверов-лезвий теоретически позволяют построить высокопроизводительный Beowulf-кластер с большим числом узлов на относительно малых площадях. Такие кластеры на базе серверов-лезвий уже применяются, и упоминавшаяся выше компания RLX Technologies рассматривает кластеры в качестве одной (хотя и не главной) из областей рынка для своих серверов-лезвий.
Серверы-лезвия имеют все недостатки, свойственные применению стоечных решений для построения высокопроизводительных кластеров: ограничения внутреннего места в серверах для размещения аппаратных компонентов, проблемы охлаждения (в первую очередь, микропроцессоров), меньший выбор на рынке и более высокую цену, большую стоимость запасных частей в случае выхода из строя отдельных аппаратных компонентов.
Даже 1U-решения, как правило, отсутствуют для наиболее высокопроизводительных и высокочастотных микропроцессоров (хотя они обычно доступны для процессоров с несколько более низкими частотами). В качестве примера можно упомянуть отсутствие на рынке высоконадежных двухпроцессорных 1U-систем на базе современных процессоров AMD Athlon. В серверах-лезвиях, где проблемы с охлаждением еще больше, отставание по тактовой частоте бросается в глаза.
Соответственно вместо того, чтобы иметь много относительно медленных процессоров в серверах-лезвиях, пользователь может применять меньшее число, но более быстрых процессоров (также, возможно, в стойке, но с форм-фактором 2U или больше). Учитывая, что с ростом числа процессоров распараллеливание ухудшается, применение меньшего числа быстрых процессоров в реальных приложениях выглядит более привлекательно. Наконец, следует отметить, что при построении современных вычислительных систем суперкомпьютерного уровня стремятся к максимальной производительности, и, следовательно, к применению наиболее высокопроизводительных процессоров, недоступных (по крайней мере, сегодня) при использовании серверов-лезвий.
Литература
- "Storage Consolidation on Intel Architecture based servers", White paper, Intel, 2002.
- M.T. Chapman, "Why Blade Servers?", White paper, IBM, 2002. Sept.
- "Architecture and Infrastructure for Blade Computing", Sun Microsystems, 2002. Sept.
- "The Next Wave: Blade Server Computing", Sun Microsystems, 2002. Sept.
- Том Ягер, "Первые итоги: серверы-лезвия". Computerworld Россия, 2002, № 43.
- "Intel Pentium III Processor-based Server Blades", www.intel.com/eBusiness/pdf/prod/ workgroup/wp021102.pdf
- "Compaq ProLiant p-class System Overview and planning", White paper, Compaq, 2002. Aug.
Михаил Кузьминский (kus@free.net) — старший научный сотрудник ИОХ РАН.