Олег Спиряев

Серверы Intel-архитектуры становятся сегодня все более популярной платформой для корпоративных клиентов. Если раньше они обычно использовались только как компоненты инфраструктуры, то теперь их применяют даже для поддержки критически важных бизнес-приложений. Привлекательность данной платформы объясняется хорошим соотношением цена/производительность, а также использованием открытых стандартов.

По мнению разработчиков, серверы на базе процессоров Intel - оптимальная платформа для высокопроизводительной, надежной и экономичной консолидации рабочей нагрузки приложений. Данная технология позволяет объединить различные операционные системы и приложения на одном сервере с четырьмя, восемью или более процессорами. Миграция приложений на новую архитектуру не слишком сложна, а использование стандартных серверных технологий снимает многие аппаратные ограничения.

Перед информационными службами современных предприятий стоят две проблемы. Во-первых, требуется сократить количество подлежащих администрированию серверов, а во-вторых, желательно сконцентрировать их в одном месте. Рассредоточенные серверы, как правило, бывают недозагружены (рис. 1). Ресурсы сервера обычно выбираются с расчетом на пиковые нагрузки, но они бывают редко, поэтому во многих случаях средняя загрузка не превышает 25% максимальной. Кроме того, возникают проблемы с управлением этими многочисленными серверами. С другой стороны, недостаточные возможности ОС для управления ресурсами вынуждают администраторов изолировать приложения, устанавливая их на отдельных серверах. В качестве примера здесь можно привести ПО Exchange 2000 - как известно, корпорация Microsoft не рекомендует выполнять другие бизнес-приложения на сервере, который используется для работы данного ПО.

Fig.1 Рис. 1. Эффективность использования ресурсов.

Очевидно, подобные требования вступают в противоречие друг с другом, и чтобы их выполнить, нужны особые аппаратные и программные средства. Так называемая консолидация платформ - это одна из технологий решения данной проблемы. Обычно под консолидацией понимают замену маломощных серверов и подключенных к ним напрямую систем хранения меньшим числом более мощных серверов с доступом к централизованной инфраструктуре хранения данных. Перемещение компьютеров в единый центр обработки данных и создание инфраструктуры таких центров обеспечивает оптимальные условия для оборудования и технического персонала, а также увеличивает степень физической защиты серверов. Кроме того, в центре обработки данных можно использовать более производительное и высококачественное оборудование, которое экономически неэффективно устанавливать в каждом подразделении. Создавая центры обработки данных, можно снизить расходы на техническую поддержку и управление самыми важными серверами предприятия.

По мнению большинства экспертов, чтобы получить максимальный выигрыш от консолидации, компания должна тщательно проанализировать свою инфраструктуру, выделить основные факторы, снижающие эффективность, определить проекты, которые позволяют получить наибольшую отдачу от инвестиций. При этом необходимо учитывать каждое используемое крупное приложение, каждый ИТ-процесс, оценивая его потенциальный вклад на различных уровнях консолидации. Важно также сбалансировать консолидацию в плане потребностей в так называемой распределенной избыточности, которая обеспечивает восстановление систем и бизнес-процессов после сбоя оборудования.

Процессы консолидации серверов бывают сложными - как предупреждают эксперты, сроки окупаемости и расходы в подобных проектах часто оказываются гораздо больше планируемых. Укрупнение серверов, скажем, может привести к резкому удорожанию лицензий на программные продукты, а развертывание больших централизованных серверов потребует расширения пропускной способности сети, совершенствования системы резервного копирования, обеспечения высокой готовности системы, защиты каналов связи и т. п. Кроме того, следует помнить, что не все приложения могут работать в удаленном режиме по относительно низкоскоростным каналам глобальных сетей.

Приступая к крупномасштабной реорганизации серверов, ИТ-менеджер должен в числе прочего решить, консолидация какого рода будет оптимальной для организации. В некоторых случаях вполне достаточно логического объединения, т. е. налаживания стандартного, унифицированного управления всеми серверами. В других же ситуациях может потребоваться физическое укрупнение вычислительных центров.

Сценарии консолидации

Правильный выбор стратегии консолидации - залог максимально удобного и экономически эффективного перехода на централизованную модель вычислительной среды. Стратегия должна определять порядок консолидации с учетом применяемых платформ и структур управления. Разные стратегии могут ориентироваться на разные приоритеты, например, на сохранение уже сделанных инвестиций, на оптимизацию использования имеющихся приложений или на удобство пользователей.

Приступать к проекту рекомендуется при наличии плана, включающего несколько этапов: например, централизацию, физическую консолидацию, консолидацию данных и приложений. Так, в качестве первого шага к консолидации предприятия следует рассмотреть возможность сконцентрировать распределенные серверы в пределах единого центра данных или в нескольких региональных центрах. Последующее объединение приложений затрагивает проблемы хостинга разнородного ПО на одном сервере или мэйнфрейме. По мнению экспертов, это наиболее сложная форма консолидации инфраструктуры, к тому же в общем случае обеспечивающая меньшие преимущества при более высоких рисках. Дело в том, что здесь может потребоваться разделение ресурсов и изощренные настройки платформы, перенос существующих приложений на иную платформу и т. п.

Перед принятием решения о консолидации приложений следует тщательно оценить все риски и потенциальные выгоды, соотнести стоимость разработки и развертывания с эксплуатационными затратами, учесть требования приложений и их взаимозависимости. Множество проблем может возникнуть в момент, когда приложения станут конкурировать за доступ к сети, за устройства ввода-вывода, память и кэш-память, ресурсы процессора. Следует иметь в виду, что многие приложения используют эти ресурсы по-разному и не проектировались для работы в смешанной среде.

В корпоративной среде консолидация данных путем сокращения числа централизованных БД и систем хранения может обеспечить значительную экономию, упростить администрирование данных и систем хранения, повысить доступность самой информации для пользователей и приложений в рамках всего предприятия. По мнению одного из экспертов компании Meta Group, самый большой выигрыш от консолидации при минимальных затратах можно получить, хорошо продуманным способом доведя программу консолидации серверов до фазы консолидации систем хранения данных. Прогресс, достигнутый в разработке решений на основе кластерных БД, обеспечивает руководителям ИТ-подразделений простой и эффективный набор опций для такой консолидации. Теперь почти все крупные поставщики СУБД, включая Oracle, IBM и Microsoft, поддерживают кластеризацию больших баз данных в пределах нескольких доступных по цене серверов. Имеются новые средства, автоматизирующие или упрощающие разделение данных и даже предусматривающие динамическое перераспределение БД на основе шаблонов доступа к данным в операционной среде.

Решения на основе сетей хранения данных SAN (Storage Area Network) обеспечивают огромные преимущества благодаря снижению эксплуатационных расходов, улучшению использования ресурсов и повышению отзывчивости и доступности инфраструктуры хранения данных. Эти высокопроизводительные системы подключаются к серверной инфраструктуре через высокоскоростные коммутируемые волоконно-оптические сети. Их развертывание стоит немало, но велика и отдача от инвестиций. Устройства хранения данных, подключаемые к сети NAS (Network Attached Storage), - подходящее решение для менее ответственных приложений. Замена локальных дисковых систем на централизованные системы хранения данных позволяет перераспределять ресурсы за считанные минуты, а далее вычислительная мощность каждого индивидуального сервера может использоваться более полно.

Физическая консолидация на предприятии состоит в уменьшении числа серверов, работающих под управлением одинаковых ОС и выполняющих одинаковые приложения, путем их объединения в более крупные, мощные системы. Такая консолидация может улучшить использование ресурсов и снизить стоимость управленческих затрат. Она также способна повысить эффективность использования занимаемой площади, потребляемой мощности и т. п.

Однако все эти преимущества следует сопоставлять с достоинствами упрощенной архитектуры, обеспечивающей выравнивание рабочих нагрузок на нескольких серверах. Разукрупнение обеспечивает высокую готовность при низких затратах благодаря избыточности серверов, а также возможность пошагового масштабирования путем простого добавления серверов. Инструменты для управления такими кластерными решениями значительно усовершенствованы за прошедшие годы, поэтому операционные затраты перестают быть основным критерием. В общем случае при физической консолидации рекомендуется подход, предполагающий укрупнение и разукрупнение системы по мере необходимости - для оптимизации инфраструктуры каждого конкретного приложения.

От "коробок для пиццы" к "лезвиям"

Один из типичных примеров консолидации - использование так называемых модульных серверов, или "лезвий" (blades). Здесь наглядно проявляется стремление к уменьшению стоимости владения (TCO), упрощению администрирования, уменьшению требуемых площадей. Очевидный шаг к достижению этих целей - использование стоечных решений. Но обычным стоечным системам свойственны неудобства, вызванные наличием многочисленных кабелей, подсоединенных к серверам стойки (сетевых, электропитания, кабелей коммутатора клавиатуры, видео, манипулятора и т. д.). Полная стойка из 42 серверов с форм-фактором 1U может содержать сотни кабелей, с которыми сложно разбираться и которые мешают свободному доступу к оборудованию. Кроме того, при таком решении часть пространства стойки уходит под сетевые коммутаторы и блоки обеспечения электропитания. Переход к модульным серверам - более совершенное инженерное решение, которое дает большую плотность упаковки, чем использование традиционных серверов высотой 1U или 2U. Кроме того, такое решение позволяет уменьшить общее энергопотребление и количество необходимых кабелей (см. пример на рис. 2).

Fig.2 Рис. 2. Преимущества модульных серверов.

К типичным приложениям, для которых применение модульных серверов наиболее целесообразно, относятся удаленное кэширование, прокси-серверы, межсетевые экраны, почта и Web-системы, DNS-системы, серверы Web/XML, SSL-шифрование и т. п. На фронтальных серверах при этом обычно используется популярное легко настраиваемое ПО (например, Apache Web Server или Sun ONE Web Server) - как правило, на платформах Unix или Linux. Такие приложения обычно развертываются в центрах обработки данных, что и обуславливает необходимость минимизации площадей и энергопотребления. Подобные приложения могут горизонтально масштабироваться.

Методы виртуализации

При физической консолидации информационных ресурсов важно быстро завершить процесс перестройки информационной системы и переноса приложений в центры обработки данных. Наиболее удобна в этом случае технология виртуализации, которая отвечает не только за саму консолидацию, но и за разделение системы на независимые части, миграцию приложений на другое оборудование, балансировку нагрузки в высоконадежных кластерных конфигурациях и многое другое. Под виртуализацией здесь подразумевается технология, которая позволяет разделить один физический сервер на несколько виртуальных. Фактически логическая структура информационной системы предприятия при этом отделяется от ее сетевой и компьютерной составляющей. Заметим также, что поддержка одновременного выполнения набора приложений под управлением единственного экземпляра ОС в настоящее время представляет собой весьма трудную задачу, так как стандартные средства управления ресурсами в операционных системах довольно слабы.

Можно выделить два основных типа виртуализации: аппаратную и программную. Аппаратная виртуализация использует некоторые особенности платформы, и применить ее на устройствах другого производителя, как правило, не удается. Примеры такой виртуализации - технология разбиения на разделы (выделение доменов) в мэйнфреймах, модульные серверы и другие решения. При этом за каждым сервером, как правило, закрепляется свой набор ресурсов - автоматически менять это распределение приложения не могут.

Заметим, что организация физических разделов предусматривает группировку аппаратных ресурсов (процессоров, памяти, системных плат с контроллерами и т. д.) в независимые физические домены (рис. 3). В каждом из физических разделов может быть запущен отдельный экземпляр ОС с определенным набором приложений. Физические разделы позволяют владельцу сервера сгруппировать аппаратные ресурсы так, чтобы повысить степень их использования. Они также дают возможность тонкой настройки ОС под отдельное приложение с целью повышения производительности. В этом случае упрощаются процедуры, связанные с миграцией, обеспечением сосуществования приложений, их разработкой, тестированием, сменой версий ПО и микрокода. Повышается отказоустойчивость: отказ какого-либо аппаратного ресурса не приводит к остановке тех экземпляров ОС, которые работают в других физических разделах, не включающих в себя отказавший ресурс.

Fig.3 Рис. 3. Системные домены в Primergy RX800.

Архитектура Enterprise X-Architecture

Консолидация нагрузки на мэйнфреймах широко применяется уже многие годы, но сегодня она уверенно распространяется в область распределенных платформ и серверов на базе Unix и Windows. Производители предлагают все более широкий выбор соответствующих технологий и сервисов. Одним из таких предложений стала технология Enterprise X Architecture (рис. 4), которую разработала корпорация IBM (http://www.ibm.com).

Fig.4 Рис. 4. Архитектура IBM Enterprise X-Architecture.

Специалисты IBM почти три года трудились над созданием набора микросхем с кодовым названием Summit. Одной из существенных особенностей этой архитектуры стала группировка процессоров в блоки, объединенные высокоскоростными коммуникациями. Из четырехпроцессорных блоков, в свою очередь, формируются 8-, 12-, 16-процессорные системы. По мнению разработчиков, данная технология открыла новый этап в производстве высокопроизводительных вычислительных систем на базе стандартных процессоров Intel.

В качестве первого в отрасли масштабируемого корпоративного узла, построенного по технологии Enterprise X-Architecture, корпорация IBM еще в 2002 г. представила сервер xSeries 440. Он совмещал новый уровень масштабируемости, готовности, производительности и управляемости в едином стоечном корпусе высотой 4U и представлял собой весьма экономичную модель для создания оптимальной компьютерной инфраструктуры.

Взаимодействие различных компонентов системы (таких, как микропроцессоры, системная кэш-память, оперативная память, ресурсы ввода-вывода и т. п.) определяет набор микросхем XA-32 с усовершенствованной логикой ядра. Такие наборы микросхем позволяют реализовать в серверах массовой архитектуры многие перспективные концепции, например, модульную конструкцию узлов системы, логические разделы, высокопроизводительные кластеры и поддержку высокоскоростного удаленного ввода-вывода PCI-X.

И действительно, серверы данного типа предоставляют возможности, основанные на технологиях мэйнфреймов, всего лишь за часть стоимости настоящего мэйнфрейма. Архитектура Enterprise X-Architecture, построенная на стандартных процессорах, памяти и устройствах ввода-вывода, помогает лучше сочетать все эти технологии. Более того, подобные серверы реализуют высокую готовность посредством применения отказоустойчивых подсистем и компонентов, связанных в единое целое благодаря системам управления, упрощающим техническое обслуживание ИТ-инфраструктуры и повышающим производительность труда пользователей. Технологии Active PCI-X и Active Memory повышают степень готовности систем благодаря возможности добавлять и заменять в горячем режиме адаптеры стандарта PCI-X, проводить горячую замену, зеркалирование и защиту памяти (Memory ProteXion). При зеркалировании памяти запись идет одновременно в два банка памяти - подобная схема есть и в дисковых массивах уровня RAID 1. Если один из банков выходит из строя из-за отказа модуля DIMM, система продолжает бесперебойную работу, перенаправляя запросы к исправному банку до тех пор, пока отказавший DIMM не будет заменен. Новый модуль DIMM можно установить без отключения сервера для замены отказавшего или для наращивания памяти. Расположенная на процессорном комплексе кэш-память 4-го уровня дополняет сверхоперативную память процессоров.

Набор микросхем XA-32 состоит из контроллера памяти (один контроллер обслуживает четыре процессора), контроллера процессора и кэш-памяти (один контроллер обслуживает четыре процессора) и контроллера ввода-вывода. Сегодня данный НМС применяется, например, в ряде серверов Primergy корпорации Fujitsu Siemens Computers (http://www.fujitsu-siemens.com).

Организация логических разделов может существенно оптимизировать использование вычислительных ресурсов. Несколько логических разделов используют совместно один и тот же набор аппаратных ресурсов сервера, в каждом из таких разделов запускается свой экземпляр ОС (называемый также гостевой ОС) и индивидуальный набор приложений. Таким образом, приложения оказываются изолированными, и конфликта ресурсов не возникает.

Консолидация систем с помощью логических разделов существенно сокращает затраты (за счет уменьшения числа систем и центров обработки данных), улучшает управление доступностью, дает новые возможности оптимизации и модернизации сетей.

Программная виртуализация

Итак, технология виртуальных машин используется уже в течение десятилетий, начиная с мэйнфреймов. Сегодня для консолидации широко применяются программные решения, которые предполагают создание в рамках одной ОС нескольких виртуальных сред. В этих средах приложения не могут напрямую взаимодействовать с программами из других таких сред. Примеры таких решений - продукты компаний VMware, Connectix* и Virtuozzo компании SWsoft (http://www.swsoft.ru). Все они работают на серверах стандартной архитектуры (т. е. базирующихся на процессорах Intel).


* Недавно технологию Connectix купила и реализовала в своем продукте корпорация Microsoft. - Прим. ред.

Программную виртуализацию обычно подразделяют на эмуляцию компьютера и создание виртуальной среды исполнения. В первом случае эмулятор позволяет исполнять в одной операционной системе приложения, написанные для другой ОС. Виртуализация среды исполнения позволяет запускать только приложения одной определенной ОС. С помощью виртуальных сред исполнения можно расслоить один сервер на большое число, скажем, на тысячи отдельных.

На практике широко используются оба подхода, поскольку в некоторых случаях важна работа приложений, предназначенных для различных платформ, а в других - эффективность получившегося решения. Примерами эмулятора компьютеров могут служить продукты VMware и Connectix. В них технология виртуализации позволяет запустить на одном физическом сервере несколько виртуальных.

Виртуализация от VMWare

Компания VMWare (http://www.vmware.com) была создана в 1998 г. профессором Стэндфордского университета д-ром Менделем Розенблюмом и его супругой Дианой Грин. Первый продукт компании, VMware Workstation, предназначенный для запуска нескольких операционных систем на рабочей станции, был выпущен в 1999 г. В 2001 г. VMware выпустила два серверных продукта - VMware GSX Server, предназначенный для серверов рабочих групп, и VMware ESX Server, ориентированный на серверы уровня предприятия. Сегодня ПО VMware предлагает производительную и стабильную технологию виртуализации, предусматривающую поддержку множества "гостевых" ОС и эмулируемых внешних устройств. VMware обеспечивает различные варианты сетевой поддержки и решения для консолидации серверов предприятия. В ассортименте VMware сегодня имеются следующие продукты:

  • VMware Workstation 4 - виртуальная машина для рабочих станций, которая работает под управлением ОС Windows NT/2000/XP и Linux;
  • VMware GSX Server 2.5 - виртуальная машина для серверов рабочих групп (Windows NT/2000/XP и Linux);
  • VMware ESX Server 2 - виртуальная машина для серверов уровня предприятия (включает микроОС и не требует установки внешней ОС);
  • VMware Virtual SMP - расширение для VMware ESX Server, позволяющее на многопроцессорных серверах выделять более одного физического процессора для одного виртуального компьютера.

ПО VMware поддерживает следующие гостевые операционные системы:

  • Microsoft Windows (3.1x, 9x, Me, NT, 2000, XP и Windows Server 2003), MS-DOS;
  • Linux (Red Hat 7.0, 7.1, 7.2, 7.3 и 8.0, Mandrake 8.2 и 9.0, SuSE 7.3, 8.0 и 8.1;
  • Novell NetWare 5.1 и 6.0;
  • FreeBSD 4.0-4.6.2, 4.8.

ПО VMware считается хорошим выбором для решения таких задач, как совместный запуск ОС Windows и Linux на одном компьютере (как Windows под Linux, так и Linux под Windows); использование виртуальных компьютеров в сложной сетевой инфраструктуре; консолидация серверов и построение типовых решений виртуализации для предприятий.

ПО VMWare используется на серверах IBM и Fujitsu Siemens Computers и обеспечивает оптимальное использование аппаратных ресурсов сервера, снижение времени простоя и расходов на сопровождение, а в итоге совокупной стоимости владения серверной инфраструктурой.

VMWare представляет собой слой виртуализации, который находится между ОС с прикладными программами, с одной стороны, и аппаратным обеспечением - с другой. Стандартный сервер при этом превращается в пул логических вычислительных ресурсов, которые затем можно динамически выделять для любой ОС или программы с произвольной степенью детализации. Например, при работе с VMWare ESX Server 16-процессорная система может быть разбита на 64 виртуальных раздела.

Данная технология в значительной мере снижает затраты и сложность поддержки таких корпоративных приложений, как Web-серверы, серверы приложений, почтовые серверы и серверы баз данных. Кроме того, благодаря поддержке как однородных, так и разнородных ОС системные администраторы получают возможность оптимизировать работу приложения за счет функционирования системы на безопасных, выделенных виртуальных машинах. Например, некоторые приложения лучше выполняются в среде Windows, а другие могут работать только в версии Linux.

При использовании ПО VMware все приложения и сочетания ОС могут запускаться с одного и того же сервера, что делает более эффективной загрузку оборудования и повышает надежность в сравнении с использованием большого числа менее надежных одноцелевых серверов.

Летом 2003 г. компания VMware объявила о выпуске второй версии своего пакета VMware ESX Server, предназначенного для создания в рамках одного реального сервера нескольких виртуальных машин, выполняющих взаимно независимые задачи (рис. 5). Это позволяет оптимизировать нагрузку на существующие вычислительные мощности или заменить несколько устаревших машин одной новой.

Fig.5 Рис. 5. Логические разделы VMware ESX.

Вторая версия пакета VMware ESX Server содержит целый ряд полезных нововведений. В пакете появилась поддержка модульных серверов HP ProLiant BL20p и IBM BladeCenter. Важно отметить, что максимальное число виртуальных серверов, которые можно создать в рамках одной физической машины, достигло 80. Кроме того, в ПО VMware ESX Server 2 появилась поддержка файловой системы Advanced File System, усовершенствована система управления ресурсами, улучшен интерфейс управления пакетом.

В свою очередь система Virtual SMP представляет собой надстройку над VMware ESX Server и позволяет выделять виртуальной машине сразу два физических процессора. Такая возможность очень важна при работе с ресурсоемкими приложениями. VMware ESX Server 2 поддерживает множество серверных операционных систем, включая Windows (NT 4, XP Professional, 2000 Server, Server 2003) и Linux (Red Hat 7.3, 8.0, 9.0, Advanced Server 2.1, SuSE Linux 8.2 и Linux Enterprise Server 8). VMware - это коммерческий пакет.

VMware ESX Server служит прекрасным дополнением к другим методам консолидации платформ, таким, как физические разделы и средства расширенного управления ресурсами. Система ориентирована на такие приложения, как Web-серверы и серверы приложений, серверы обмена сообщениями, файловые серверы и серверы печати, терминальный доступ, серверы-посредники, сетевые службы, пользовательские приложения.

Консолидация серверов стала насущной потребностью для бизнеса. Не секрет, что основные усилия корпоративных ИТ-администраторов часто направлены на упрощение компьютерной среды предприятия и снижение затрат. Объединение десяти или даже ста серверов в один может в некоторых случаях обеспечить значительные преимущества. При этом само число серверов не является четкой мерой издержек или сложности среды. Жизненно важным в определении общей стоимости оборудования и эффективности серверной среды является распределение серверов, их использование и управление ими. Процесс консолидации серверов в крупных информационных системах становится сейчас все более популярным, однако необходимо, чтобы он был экономически эффективным, и средства для этого на рынке есть.