Конвергенцию двух технологий, серверов-лезвий и grid, следует признать одним из самых перспективных технологических направлений, родившихся в 2003 году. Взаимно дополняя друг друга, они позволяют найти новые подходы к созданию так называемых виртуализируемых центров обработки данных. Разработка подобных центров отличается комплексностью, ранее неизвестной компьютерной индустрии. Не случайно, по мнению аналитиков, решить эту задачу по силам только трем компаниям — IBM, Hewlett-Packard и Sun Microsystems. Центр обработки данных первого поколения от Sun представляет собой интеграцию программного инструментария Sun N1 Grid Provisioning Server 3.1 Blades Edition с аппаратной платформой Sun Fire Blade Platform. Их совместной функциональности достаточно, чтобы построить виртуализируемый центр обработки данных — правда, с важной оговоркой. В нынешнем виде и ближайшей перспективе допускается только гомогенная grid-среда и горизонтальное масштабирование; центр обработки данных такого типа не может рассматриваться в качестве замены мощных многопроцессорных серверов.
У каждого из трех ведущих производителей компьютерных систем — IBM, Hewlett-Packard и Sun Microsystems — есть собственное название для перспективного видения, которое они активно пропагандируют и с которым отождествляют будущее вычислительных систем. IBM называет его On Demand Computing («вычисления по требованию»), HP — Adaptive Computing («приспосабливающиеся вычисления»), а Sun — Just In Time Computing («вычисления ко времени»). На уровне общих рассуждений все три доктрины настолько близки, что невольно вызывают в воображении картинки из детских журналов в духе «найди десять различий». К тому же, положа руку на сердце, стоит признать: многословные рассуждения, сопровождающие маркетинговые представления этих доктрин, на редкость однообразны. Их авторы, каждый на свой лад, говорят о сложности современных систем и необходимости их упростить, снизив стоимость и трудоемкость администрирования. Но если просеять многочисленные меморандумы и манифесты, их сухой остаток сведется к тому, что компьютерные системы должны соответствовать изменившей природе приложений.
Точнее говоря, для выполнения современных приложений требуются не просто компьютеры, а виртуализированные центры обработки данных, способные подстраиваться к изменениям в приложениях. Трансформация прикладных программ в приложения — явление не столь новое; оно началось с внедрения Internet-технологий в корпоративную информационную среду, позволившее бизнесу перейти в режим on-line. Особенно активно новые представления о приложениях стали формироваться под влиянием развертывания корпоративных сетей. Приложения динамичны, они перестали быть, как прежде, статичной программой, поддерживающей определенные операции бизнеса. Но, следовательно, и центры обработки данных должны соответствовать динамической природе приложений, отвечая на запросы «по требованию», быть «приспосабливающимися» и выполнять все «ко времени».
Для характеристики традиционных компьютерных систем теперь используют слово ad hoc, вошедшее в английский язык из латыни. Действительно, если к чему-то добавляют ad hoc, значит, это нечто имеет узкое целевое предназначение, оно создано для достижения вполне определенной цели. Все создававшиеся прежде системы как раз и были из категории ad hoc.
Архитектура N1 и «вычисления ко времени»
N1 призвана виртуализовать все три основных технических ресурса, из которых строится центр обработки данных (вычислительные системы, системы хранения данных и сети), а затем собрать их в единый виртуальный компьютер, чтобы предоставлять его ресурсы в виде сервисов пользователям центра. В такой трактовке N1 превращается в своего рода сверхоперационную систему, которая управляет работой сверхкомпьютера. Она призвана: уменьшить сложность при создании инфраструктур и сервисов, поддерживающих бизнес-процессы; сократить время подготовки к работе; улучшить ценовые показатели; повысить уровень использования ресурсов.
Внедрение N1 будет разделено на три этапа: собственно виртуализация, затем сервисное обеспечение (services provisioning) и, наконец, автоматизация управления (policy automation). Нынешний этап сводится к созданию единого пула ресурсов — к виртуализации. На следующем этапе должна появиться возможность представления ресурсов в виде сервисов, управляемая оператором. На третьем — управление должно осуществляться автоматически в соответствии с заранее определенными требованиями.
В 2003 году архитектура N1 частично была материализована в форме N1 Service Provisioning System и Sun N1 Provisioning Server Blade Edition. В 2004 году обновленные версии этих продуктов получили измененные названия, дополненные словом Grid. Система N1 Grid Service Provisioning System является многоплатформным решением для операционных систем Solaris, AIX, Red Hat Linux и Windows. Программное обеспечение N1 Grid Provisioning Server 3.1 Blades Edition можно считать подмножеством этой системы, рассчитанным на работу на единственной платформе Sun Fire Blade Platform.
Ключевое слово в новой системной парадигме, прокламируемой Sun Microsystems, — provisioning. Вместе с этим словом возникает очередная сложность перевода. Действительно, значения «инициализация» и «подготовка к работе», обычно рекомендуемые англо-русскими словарями, не отражают полностью смысла этого слова не только в английском языке, и тем более в данном контексте. Слово provisioning своими корнями восходит к латинскому providere, что означает «предвидеть», а providing — это «действия, предпринимаемые заблаговременно», «предвидение чего-либо», или «меры, которые надо предусмотрительно предпринять на случай непредвиденных обстоятельств»; иногда его используют и в смысле «снабжения». Однако в русском языке еще есть однокоренные слова «провидец» и «провидение» (последнее не стоит путать с «божественным провидением»). «Провидение» — почти синоним «предвидению», оно ближе к provisioning; мы будем использовать в определенных случаях в качестве перевода для provisioning, однако в некоторых случаях приходится использовать и «подготовку к работе».
N1 на фоне grid
«Истинный» термин grid зародился в качестве обозначения системы доступа к глобально распределенным ресурсам. Однако за минувший год он пережил заметную метаморфозу; особенно этому поспособствовали некоторые производители, позволившие себе слишком вольное обращение со словом grid. Сегодня им обозначают и относительно простые кластерные конфигурации, и системы с территориальным распределением ресурсов, имеющие самую разнообразную функциональность. Поэтому имеет смысл ввести некоторую классификацию, дабы определить то место, которое идеям grid отводится в рамках N1. Можно выделить четыре типа инфраструктур grid: вычислительные (compute), информационные (data или information), сервисные (service) и интеллектуальные (intelligent).
- Вычислительные среды grid появились первыми, в начале 90-х годов. Стимулом к их появлению стало желание использовать «спящие» вычислительные ресурсы.
- Информационные среды grid появились в 2000 году вместе с почившим в бозе проектом Napster, бывшим самым популярным средством обмена аудиофайлами. Такие конфигурации призваны обеспечить доступ к распределенным информационным ресурсам; такие среды grid могут обеспечить коллаборативную работу над сложными проектами в географически распределенных организациях. Особое значение этот тип grid может обрести в связи с виртуализацией приложений, в тех случаях, когда передача приложений потребует меньшего трафика, чем передача данных. В подобных средах grid в наибольшей степени заинтересованы такие отрасли, как фармацевтика, финансовая и нефтегазовая.
- Сервисные среды grid появились в 2002 году, в них сочетается физическое соединение узлов с архитектурой p2p (program-to-program), основанной на Web-сервисах. Область применения этого типа сред grid — корпоративные приложения и utility computing.
- Интеллектуальные среды grid сочетают соединение узлов с возможностью управления системными и сетевыми ресурсами, а также ресурсами систем хранения, а в будущем — и приложениями, и базами данных. Средствами таких конфигураций можно реализовать распределенную вычислительную среду, ограничить сложность систем, а также необходимость человеческого вмешательства в нее. Этот тип grid может стать основой центра обработки данных.
По масштабам конфигурации grid можно разделить на кластерные (cluster grid), а далее по восходящей: intra-grid, extra-grid и inter-grid. Новое поколение кластерных сред grid обязано своим появлением на свет серверов-лезвий. Три оставшиеся категории могут быть упорядочены по масштабу: intra-grid — это среда масштаба подразделения, extra-grids — масштаба предприятия, а inter-grid — это среда, выходящая за рамки предприятия.
Если согласиться с приведенной классификацией, то Sun Fire Blade Platform является основой для построения сервисных и интеллектуальных сред grid масштаба предприятия.
Виртуализация платформы Sun Fire Blade
Для создания интеллектуальных сред grid на основе серверов-лезвий требуется решить ряд как традиционных, так и совершенно новых задач, связанных с управлением аппаратным комплексом.
- Традиционные задачи. Количественное увеличение числа серверов (в десятки раз) приводит к необходимости в надежных и масштабируемых средств для администрирования. Однако повышение сложности происходит в условиях, когда необходимо сокращать трудозатраты на администрирование и общие вложения в ИТ. Эта категория задач еще более усложняется в связи с необходимостью поддерживать различные операционные среды.
- Специфические задачи управления серверами-лезвиями. Обычно серверы-лезвия называют «безголовыми» (headless), понимая под этим отсутствие у них прямой связи с периферийными устройствами. При этом, по условиям работы в составе центра обработки данных, остается необходимость в оперативной установке операционной системы. Обычно такие действия выполняются либо с локальной консоли, либо при подключении, скажем, ноутбука по последовательному порту. В условиях центра обработки данных эти операции должны выполняться дистанционно.
- Специфические задачи управления, связанные с обеспечением «провидения». Серверный пул создается для того, чтобы иметь возможность гибко перераспределять ресурсы, поэтому система администрирования должна позволять настраивать приложения на отдельных серверах или больших группах серверов в оперативном режиме.
Практически во всех известных системах виртуализации кластеров, состоящих из серверов-лезвий, применяется архитектурное решение, при котором серверы одновременно включаются в две сети управления: сеть администрирования (Management Network) и директивная сеть (Command Network). Сеть администрирования строится по принципу передачи in-band, то есть трафик, администрирование и провидение проходит по одному и тому же носителю (это может быть Fast Ethernet или Gigabit Ethernet). Директивная сеть является выделенной, она создается по принципу out-of-band и служит для выполнения перезагрузки и других директив, которые обычно вводятся с консоли (эта сеть строится на основе RS-485, либо по общим соединениям Ethernet). Совместная работа по двум сетям позволяет выполнять все действия по управлению серверами, в том числе провидение приложений, интеграцию решений и мониторинг системы в целом.
Средством для создания интеллектуальной среды grid является конструктив Sun Fire B1600 Intelligent Shelf (в буквальном переводе — «интеллектуальная полка»). Полка реализует взаимодействие по соединениям Gigabit Ethernet между установленными внутри нее лезвиями, а также доступ к системным ресурсам вне нее. В полке высотой 3U (1U = 1,75 дюйма) может размещаться до 16 серверов или лезвий специального назначения; кроме того, здесь же находятся и два дублирующих друг друга устройства: коммутатор и системный контроллер (Switch and System Controller, SSC). Серверы строятся на одном микропроцессоре UltraSPARC или x86, имеют диск и два интерфейса Gigabit Ethernet, работают под управлением операционной системы Linux или Solaris. Каждый из них может функционировать независимо или входить в качестве строительного блока в виртуализированную серверную ферму. Помимо серверов в полку (в отведенном для лезвий пространстве) могут устанавливаться два типа выполненных в том же формате специализированных лезвий (Speciality Blade), которые отвечают за горизонтальное масштабирование и поддержку Web-приложений. Одно из них, Sun Fire Content Load Balancing Blade обеспечивает балансировку нагрузки между серверами-лезвиями, полками или шкафами, состоящими из нескольких полок. Другое устройство, Sun Fire SSL Proxy Blade выполняет функцию ускорителя шифрования Secure Sockets Layer (SSL). Позади лезвий устанавливается узел SSC, который для надежности может быть задублирован. Этот узел включает в себя системный контроллер System Controller и Ethernet-коммутатор. Системный контроллер System Controller предназначен для реализации интерфейса администрирования (т.е. для настройки системы, переконфигурирования компонентов, мониторинга). Контроллер System Controller получает доступ к лезвиям по последовательному интерфейсу по Ethernet, но в любом случае на принципе out-of-band. Системный контроллер осуществляет практически все операции управления на нижнем уровне и осуществляет связь со средствами управления, находящимися на более высоких уровнях.
Коммутатор имеет суммарно 24 порта Gigabit Ethernet (16 портов для подключения лезвий и еще 8 портов для внешних подключений). Он является аппаратной основой виртуализации, поддерживая виртуальную локальную сеть (virtual local area network, VLAN). Он полностью совместим с SNMP, может управляться по директивному интерфейсу или по интерфейсу на основе Web-технологий с использованием протокола SNMP. Виртуализация реализуется сочетанием функциональности коммутатора и операционной среды Solaris, они позволяют создавать VLAN, где серверы, входящие в разные физические сети, объединяются в одну логическую.
Конфигурация виртуальной сети может быть произвольной, однако количество способов включения серверов-лезвий в физическую сеть ограничено. Sun предлагает две основные физические конфигурации: двойная звезда и сквозная конфигурация (рис. 1). Две основные конфигурации могут быть расширены при использовании специальных лезвий, причем и лезвия Content Load Balancing, и SSL Proxy Blade также могут быть продублированы.
Рис. 1. Варианты объединения серверов-лезвий |
Этот механизм виртуализации является ключевым для горизонтального масштабирования. Такой тип масштабирования имеет практический смысл только в тех случаях, когда клиентская нагрузка может быть распределена на множестве серверов путем репликации приложений: хостинг, потоковое мультимедиа, сейсмические расчеты, биоинженерия.
Четырехуровневая модель управления кластером лезвий
Система управления платформой Sun Fire Blade Platform является частью общей стратегии виртуализации N1, которая преследует цель создания пула анонимных и лишенных состояния ресурсов. Управление подразумевает конфигурирование, провидение, администрирование и мониторинг. Эта система построена по иерархическому принципу и может быть условно представлена в виде четырехуровневой модели. Нижний уровень — управление отдельными устройствами внутри полки, далее — управление интеллектуальной полкой как единым целом, затем — управление в масштабах стойки и, наконец, управление всем центром обработки данных в целом (рис. 2).
На нижнем уровне выполняются простейшие служебные операции с серверами-лезвиями и системными контроллерами и коммутаторами. Для обмена управляющей информацией используется последовательный порт SSC в режиме out-of-band или отдельная сеть Ethernet. Основной инструмент нижнего уровня управления — Advanced Lights-Out Manager, который служит для включения и выключения устройств, для восстановления исходного состояния, для подготовки к замене, для регистрации аварийных ситуаций. Управление на этом уровне осуществляется через системный контроллер. Управление полкой осуществляется в режиме in-band по интерфейсу SNMP; эту работу выполняют агенты, поддерживающие центр администрирования Sun Management Center. Для управления на уровне стойки используются программные средства, поставляемые целым рядом компаний (BMC Patrol, Micromuse Netcool и Aprisma Spectrum).
Управление всем центром обработки данных, построенным на основе Sun Fire Blade Platform, осуществляется средствами программного продукта N1 Grid Provisioning Server 3.1 Blades Edition. Эта система управления работает на отдельно выделенном сервере в сети администрирования, функционирующей по принципу out-of-band. Пакет Grid Provisioning Server 3.1 Blades Edition управляет всеми ресурсами, собранными в пул. Он позволяет конфигурировать виртуальные локальные сети и резервировать IP-адреса таким образом, что появляется возможность создавать, масштабировать, реконфигурировать и уничтожать виртуализированные серверные фермы «на лету». Непосредственно серверными фермами занят модуль Creation and Configuration of Server Farms; он управляет «прокладкой» виртуальных кабельных сетей. Оператор может выбирать тип сервера и его конфигурацию (SPARC или x86), устанавливать исходный образ программного обеспечения на сервере (Solaris или Linux), выбрать политику балансировки и многое другое.
На пути к новым поколениям серверов-лезвий
Лезвиям и создаваемым на их базе центрам обработки данных примерно два года; этого срока достаточно для создания следующего поколения устройств; их появления следует ожидать в конце этого или следующего года. Новые решения станут в большей степени привязаны к идее центра обработки данных, будут сильнее ориентированы на сети хранения и соединения Fibre Channel.
Но, возможно, важнейшим отличием станет замена Gigabit Ethernet в задней панели компьютерной системы на коммутируемую структуру Infiniband. Этим путем идут многие компании.
Другим направлением будет совершенствование механизма виртуализации. В дополнение к используемым сейчас традиционным Ethernet-коммутаторам (они действуют на уровне 2 модели OSI) могут быть задействованы возможности коммутации на уровне 4. На этом фронте Sun ведет переговоры о приобретении компании Nauticus Networks, имеющей опыт так называемой контентной коммутации.