По прогнозам аналитиков Standish Group International, в грядущие два года число установленных кластерных систем в мире увеличится на 160%. Столь бурные предполагаемые темпы развития этой пока еще экзотической технологии свидетельствуют о том, что у кластеров наконец-то появился массовый рынок. Во многом эту заслугу можно отнести на счет Интернета, предъявляющего сегодня самые жесткие требования к аппаратной вычислительной платформе.
Сложилось так, что кластеризация, будучи неотъемлемой частью мэйнфреймовских систем, очень долго искала свой путь к платформе Intel. Корпоративные серверы, изначально предназначенные для работы в одиночестве, а также главные Intel-ориентированные серверные операционные системы Windows NT и Linux оказались не приспособленными к поддержке совместной работы серверов. А между тем надежности отдельно стоящих машин сегодня недостаточно для поддержки работы таких приложений, как системы онлайновой обработки транзакций, электронной коммерции, СУБД, хранилища данных и системы документооборота.
Рис. 1. Стандартный кластер с двумя узлами
Проблема внедрения высоконадежных систем хранения и онлайновой обработки данных встает перед организацией, когда она достигает такого уровня работы, при котором требуется обеспечить бесперебойное обслуживание множества клиентов, часто круглосуточно и круглогодично.
Наиболее распространенные продукты в данном случае уже не обеспечивают ни сохранности данных, ни их своевременной обработки. Относительно низкая стоимость оборачивается не самым высоким уровнем отказоустойчивости - не более 99%. Это означает, что около четырех дней в году информационная структура предприятия будет неработоспособна. На первый взгляд это не так уж много, если учесть, что сюда входят и плановые простои, связанные с проведением профилактических работ или реконфигурацией. Но клиенту, например пользователю системы оплаты по кредитным карточкам, безразлично, по какой причине он будет лишен обслуживания. Он останется неудовлетворенным и будет искать другого оператора.
Дорогие высоконадежные вычислительные системы - кластеры - обеспечивают надежность 99,999%. Этого уже вполне достаточно, так как простои здесь составляют не более 5 минут в год. Данный тип систем характеризуется повышенными, хотя и оправданными, расходами на поддержку и установку и требует специально обученного персонала. Их нельзя приобрести в готовом исполнении, и предлагаются они как индивидуально настраиваемые решения.
Итак, к достоинствам кластеров относятся высочайшая надежность, производительность, возможность обеспечения централизованной обработки и хранения данных, масштабируемость и гибкость, т. е. способность быстро автоматически перераспределять вычислительные ресурсы внутри системы.
К недостаткам кластерных систем можно отнести сложность и относительную дороговизну реализации, необходимость послепродажного обслуживания, а также отсутствие единого стандарта. Кстати, стандарт находится на стадии разработки: он одобрен всеми ведущими мировыми поставщиками кластерных решений, однако по сути еще не заработал. О нем мы скажем чуть ниже.
Типы кластерных конфигураций
Существует несколько вариантов конфигурирования кластерных систем. Разные варианты отвечают требованиям разных приложений и, естественно, различаются по стоимости и сложности реализации. Кластеры строятся по схемам “активный - активный”, “активный - резервный” и SMP (система с симметрично-параллельной обработкой). Широкое применение нашли и так называемые “псевдокластеры” - системы самостоятельных серверов с совместно используемыми подсистемами хранения. Псевдокластеры - это самый дешевый вариант вычислительного комплекса повышенной надежности, однако они не обеспечивают большинства полезных функций кластеров.
Рис. 2. Схема “активный - резервный”
Схема “активный - резервный” представляет собой решение для компании, имеющей интегрированную информационную систему, где лишь часть ресурсов задействована для выполнения критичных по надежности приложений. В такую систему в простейшем случае входят активный сервер, выполняющий наиболее важные приложения, и резервная машина, которая может находиться в режиме ожидания или решать менее ответственные задачи. При сбое активного сервера все его приложения автоматически переносятся на резервный, где приложения с низшим приоритетом прекращают функционировать. Такая конфигурация позволяет исключить замедление работы критичных приложений: пользователи просто не заметят никаких изменений. Остальные схемы этого не обеспечивают.
Конфигурация “активный - активный” подразумевает исполнение всеми серверами кластера отдельных приложений одинаково высокого приоритета. В случае сбоя приложения с неработающей машины распределяются по оставшимся, что, конечно, сказывается на общей производительности. Кластеры “активный - активный” могут существовать только в качестве выделенных систем, на которых нельзя запускать низкоприоритетные задачи типа поддержки офисной работы.
Рис. 3. Схема “активный - активный”
SMP-системы являются наиболее мощной и полноценной реализацией кластерной технологии. Как следует из их названия, все критичные приложения выполняются сразу всеми серверами системы. Требуя самой высокой степени интеграции программного обеспечения, эта конфигурация достигает не только высочайшей надежности работы критичного приложения, но и невозможной для других типов производительности.
Рис. 4. Схема SMP
Оптимальными сетевыми технологиями соединения серверов и подсистем хранения в кластер считаются интерфейс SCSI и оптоволоконные линии. Сейчас в высокопроизводительных кластерах все большее применение находит Fibre Channel как наиболее производительная и функциональная технология коммуникации.
Подсистемы хранения данных, совместно используемые серверами кластера, также должны отвечать требованиям высокой надежности, доступности и быстродействия. Сегодня для таких случаев оптимальны RAID-массивы. Поддержка различных коммуникационных технологий и принадлежность к разным ценовым категориям делают технологию RAID универсальным решением, легко подстраиваемым под конкретную систему.
В последнее время наибольшее распространение получила конфигурация “активный - активный”. Два кластера на ее базе были реализованы компанией Trans-Ameritech по заказу МПС. Один из них, установленный в Главном вычислительном центре (ГВЦ), составлен их двух серверов IBM PC Server 325R, соединенных по интерфейсу SCSI и использующих в качестве подсистемы хранения данных RAID-контроллер LynxArray фирмы Artecon.
Второй кластер работает в управлении Белорусского вокзала и состоит из двух IBM Netfinity 5500R и RAID-контроллера Z-9250 производства Digi-Data Corporation.
Оба кластерных решения построены на основе Windows NT с использованием внутренних средств кластеризации Enterprise Edition.
Специальное программное обеспечение - вот что объединяет серверы в кластеры. Многие современные корпоративные приложения и операционные системы имеют встроенную поддержку кластеризации, но бесперебойное функционирование и прозрачность кластера может гарантировать специальное ПО промежуточного уровня. Это ПО отвечает в первую очередь за слаженную работу всех серверов и разрешение возникающих в системе конфликтов, обеспечивая формирование и реконфигурацию кластера после сбоев.
Серверы в кластере общаются, уведомляя друг друга о своей работоспособности, с помощью сигналов “сердцебиения” (heartbeat). Если в небольших кластерах heartbeat-сигналы передаются по тем же каналам, что и данные, то в крупных для этого выделяются специальные линии, так как кластерное ПО должно получать сигнал “сердцебиения” каждого сервера с определенным временны/м интервалом и в случае его неполучения (например, из-за занятости линии) сервер считается неработающим и кластер автоматически переконфигурируется. Также автоматически разрешаются конфликты между серверами, когда при запуске кластера возникает проблема выбора “ведущего” сервера или группы серверов, задача которых - сформировать новый кластер.
Кроме того, ПО промежуточного уровня обеспечивает распределение нагрузки по узлам кластера, восстановление работы приложений сбойных серверов на доступных узлах (failover), а также мониторинг состояния аппаратной и программной сред. Существует и еще одно важное достоинство этого ПО: оно позволяет запускать на кластере любое приложение без предварительной адаптации к новой аппаратной архитектуре.
Примером кластерного ПО для Intel-архитектуры является Novell High Availability Server (NHAS) для серверов NetWare. Пожалуй, это одно из самых потенциально широко применимых и дешевых решений для сетей на базе Novell NetWare. NHAS на основе NDS позволяет соединить несколько файл-серверов NetWare в кластер с функциями автоматической реакции на сбои и работы с разделяемыми подсистемами хранения.
Другие известные кластерные продукты для архитектуры Intel выпускают компании Veritas и Compaq; кластерная служба включена и в Windows 2000.
В декабре 1997 г. Compaq, Intel и Microsoft объявили о начале разработки стандарта кластерной архитектуры, основной идеей которого стала возможность объединения в кластеры недорогих массовых серверов. Получивший название Virtual Interface Architecture 1.0, стандарт не зависит от аппаратной, программной и сетевой архитектуры и реализует принцип предоставления пользовательским процессам виртуальных интерфейсов с сетевой средой в кластерной системе. К проекту уже присоединились более ста фирм, в том числе все основные поставщики аппаратных и программных компонентов корпоративных информационных систем, такие, как 3Com, Hewlett-Packard, Oracle и др.
Эпоха массовых кластерных систем только начинается, и соответствующие технологии еще предстоит освоить. Ясно одно: ближайшее будущее за кластеризацией, ведь эта технология дает реальный шанс сохранить существующие инвестиции в аппаратное обеспечение и в то же время эффективно расширить вычислительные мощности в соответствии с современными требованиями.
С автором можно связаться по адресу: Sedykh@transameritech.ru.