Серверные кластеры
По прогнозам аналитиков Standish Group International, грядущие два года принесут общемировой рост количества установленных кластерных систем на 160%. Столь бурные предполагаемые темпы развития этой пока еще экзотической технологии свидетельствуют о том, что у кластеров наконец-то появился массовый рынок. Во многом эту заслугу можно отнести на счет Интернета, предъявляющего сегодня самые жесткие требования к аппаратной вычислительной платформе.
Сложилось так, что кластеризация, будучи неотъемлемой частью мэнфреймовых систем, очень долго искала свой путь к Intel-платформе. Корпоративные серверы, изначально предназначенные для работы в одиночку, а также главные Intel-ориентированные серверные операционные системы Windows NT и Linux оказались неприспособленными к поддержке совместной работы серверов. А между тем надежности отдельно стоящих серверов сегодня недостаточно, чтобы поддерживать работу таких приложений, как системы он-лайновой обработки транзакций, системы электронной коммерции, СУБД, хранилища данных, системы документооборота.
Проблема внедрения высоконадежных систем хранения и он-лайновой обработки данных встает перед организацией, когда она достигает такого уровня развития, при котором требуется обеспечивать бесперебойное обслуживание множества клиентов, часто круглосуточно и все 365 дней в году.
Наиболее распространенные системы в данном случае уже не обеспечивают ни сохранность данных, ни их своевременную обработку. За относительно низкую стоимость приходится платить самым высоким уровнем отказоустойчивости - не более 99%. Это означает, что около 4 дней в году информационная структура предприятия будет неработоспособна. На первый взгляд, это не так много, учитывая то, что сюда входят и плановые простои для проведения профилактических работ или реконфигурации. Но клиенту, например, пользователю системы оплаты по кредитным карточкам, безразлично, по какой причине он останется без обслуживания. Он будет неудовлетворен и станет искать другого оператора.
Дорогие высоконадежные вычислительные системы - кластеры - обеспечивают надежность 99,999%. Этого уже вполне достаточно, так как здесь простои составляют не более 5 минут в год. Данный тип систем характеризуется повышенными, хотя и оправданными, расходами на поддержку и установку и требует специально обученного персонала. Эти системы обычно не могут приобретаться в готовом исполнении и предлагаются как индивидульно настраиваемые решения.
Итак, к достоинствам кластеров относятся высочайшая надежность, производительность, возможность обеспечения централизованной обработки и хранения данных, масштабируемость и гибкость, то есть возможность быстрого и автоматического перераспределения вычислительных ресурсов внутри системы.
К недостаткам кластерных систем можно отнести сложность и относительную дороговизну реализации, необходимость постпродажного обслуживания, а также отсутствие единого стандарта. Кстати, стандарт находится на стадии разработки и одобрен всеми ведущими мировыми провайдерами кластерных решений, однако по сути он еще не заработал. О нем речь пойдет ниже.
типы кластерных конфигураций
Существует несколько вариантов конфигурирования кластерных систем. Различные варианты отвечают требованиям различных приложений и, естественно, отличаются по стоимости и сложности реализации. Кластеры строятся по схемам "активный-активный", "активный-резервный" и "SMP" (система с симметрично-параллельной обработкой). Широкое применение нашли также так называемые "псевдокластеры", то есть системы самостоятельных серверов с совместно используемыми подсистемами хранения. Псевдокластеры являются наиболее дешевым вариантом вычислительного комплекса повышенной надежности, однако они не обеспечивают большинства полезных функций кластеров.
Схема "активный-активный" - это самое универсальное решение для компании, имеющей интегрированную информационную систему, где лишь часть ресурсов задействована для выполнения критичных по надежности приложений. В такой системе в простейшем случае имеется активный сервер, выполняющий наиболее важные приложения, и резервная машина, которая может находиться в режиме ожидания или же решать менее критичные задачи. При сбое активного сервера все его приложения автоматически переносятся на резервный, где в свою очередь заканчивают работу приложения с более низким приоритетом. Такая конфигурация позволяет исключить замедление работы критичных приложений - пользователи просто не заметят никаких изменений. Остальные схемы не позволяют сделать этого.
Конфигурация "активный-активный" подразумевает исполнение всеми серверами кластера отдельных приложений одинаково высокого приоритета. В случае сбоя приложения с неработающей машины распределяются по оставшимся, что, конечно, сказывается на общей производительности. Кластеры "активный-активный" могут существовать только в качестве выделенных систем и не позволяют запускать низкоприоритетные задачи типа поддержки офисной работы.
Системы с симметрично-параллельной обработкой данных (SMP) являются наиболее мощной и полноценной реализацией кластерной технологии. Как следует из их названия, все критичные приложения выполняются сразу всеми серверами системы. Эта конфигурация требует самой высокой степени интеграции ПО, обеспечивая не только высочайшую надежность работы критичного приложения, но и недостижимую в других случаях производительность.
Оптимальными сетевыми технологиями соединения серверов, а также подсистем хранения в кластере являются SCSI и оптоволокно. Сейчас в высокопроизводительных кластерах все больше начинает применяться Fibre Channel, как наиболее производительная и функциональная технология коммуникации.
Подсистемы хранения данных, совместно используемые серверами кластера, также должны отвечать требованиям высокой надежности, высокой доступности и быстродействия. Сегодня оптимальным решением является применение RAID-массивов. Массивы RAID поддерживают различные телекоммуникационные технологии и принадлежат к разным ценовым категориям, что делает технологию RAID универсальным решением, легко подстраиваемым под конкретную систему.
Специальное программное обеспечение - вот что объединяет серверы в кластеры. Многие современные корпоративные приложения и операционные системы имеют встроенную поддержку кластеризации, но для того чтобы система работала слаженно, а пользователи не испытывали проблем, требуется установить специальное ПО промежуточного уровня, обеспечивающее бесперебойную работу и прозрачность кластера. Это ПО отвечает в первую очередь за слаженную работу всех серверов и обеспечивает формирование и реконфигурацию кластера после сбоев, разрешая возникающие в системе конфликты.
Серверы в кластере "общаются", уведомляя друг друга о своей работоспособности, с помощью сигналов "сердцебиения" (heartbeat). Heartbeat-сигналы передаются по тем же каналам, что и данные, однако в крупных кластерах для этого выделяют специальные линии, так как кластерное ПО должно получать сигнал сердцебиения каждого сервера с определенным временным интервалом, и в случае неполучения (например, из-за занятости линии) сервер считается неработающим и кластер автоматически переконфигурируется. Так же автоматически разрешаются конфликты между серверами, когда при запуске кластера возникает проблема выбора "ведущего" сервера или группы серверов, задача которых - сформировать новый кластер.
Кроме этого, ПО промежуточного уровня обеспечивает распределение нагрузки по узлам кластера, восстановление работы приложений сбойных серверов на доступных узлах, а также мониторинг состояния аппаратной и программной сред. Существует и еще одно важное достоинство этого ПО: оно позволяет запускать на кластере любое приложение без предварительной адаптации к новой аппаратной архитектуре, что дает возможность использовать кластеризацию как универсальное решение для всей информационной структуры организации.
Примером кластерного ПО для Intel-архитектуры является Novell High Avaibility Server (NHAS) для серверов NetWare. Пожалуй, это одно из самых потенциально широко применимых и дешевых решений для сетей на базе Novel NetWare, NHAS на основе NDS (Novell Directory Services) позволяет соединить несколько файл-серверов NetWare в кластер с функциями автоматической реакции на сбои (при помощи переноса нагрузки на активные серверы) и работы с разделяемыми подсистемами хранения.
Другие известные кластерные продукты для архитектуры Intel выпускают компании Veritas, Compaq. Кластерная служба также включена в Windows 2000.
В декабре 1997 года Compaq, Intel и Microsoft объявили о начале разработки стандарта кластерной архитектуры, основной идеей которого стала возможность объединения в кластеры недорогих массовых серверов. Названный Virtual Interface Architecture 1.0 стандарт не зависит от аппаратной, программной и сетевой архитектуры и реализует принцип предоставления пользовательским процессам виртуальных интерфейсов с сетевой средой в кластерной системе. К проекту уже присоединились более ста фирм, среди которых все основные поставщики аппаратных и программных компонентов корпоративных информационных систем, такие, как 3Com, Hewlett-Packard, Oracle и др.
Эпоха массовых кластерных систем только начинается, и соответствующие технологии еще предстоит освоить. Ясно одно: ближайшее будущее за кластеризацией, ведь эта технология дает реальный шанс сохранить существующие инвестиции в аппаратное обеспечение, эффективно расширив вычислительные мощности в соответствии с современными требованиями.
Сергей Седых, Trans-Ameritech
Сложилось так, что кластеризация, будучи неотъемлемой частью мэнфреймовых систем, очень долго искала свой путь к Intel-платформе. Корпоративные серверы, изначально предназначенные для работы в одиночку, а также главные Intel-ориентированные серверные операционные системы Windows NT и Linux оказались неприспособленными к поддержке совместной работы серверов. А между тем надежности отдельно стоящих серверов сегодня недостаточно, чтобы поддерживать работу таких приложений, как системы он-лайновой обработки транзакций, системы электронной коммерции, СУБД, хранилища данных, системы документооборота.
Проблема внедрения высоконадежных систем хранения и он-лайновой обработки данных встает перед организацией, когда она достигает такого уровня развития, при котором требуется обеспечивать бесперебойное обслуживание множества клиентов, часто круглосуточно и все 365 дней в году.
Наиболее распространенные системы в данном случае уже не обеспечивают ни сохранность данных, ни их своевременную обработку. За относительно низкую стоимость приходится платить самым высоким уровнем отказоустойчивости - не более 99%. Это означает, что около 4 дней в году информационная структура предприятия будет неработоспособна. На первый взгляд, это не так много, учитывая то, что сюда входят и плановые простои для проведения профилактических работ или реконфигурации. Но клиенту, например, пользователю системы оплаты по кредитным карточкам, безразлично, по какой причине он останется без обслуживания. Он будет неудовлетворен и станет искать другого оператора.
Дорогие высоконадежные вычислительные системы - кластеры - обеспечивают надежность 99,999%. Этого уже вполне достаточно, так как здесь простои составляют не более 5 минут в год. Данный тип систем характеризуется повышенными, хотя и оправданными, расходами на поддержку и установку и требует специально обученного персонала. Эти системы обычно не могут приобретаться в готовом исполнении и предлагаются как индивидульно настраиваемые решения.
Итак, к достоинствам кластеров относятся высочайшая надежность, производительность, возможность обеспечения централизованной обработки и хранения данных, масштабируемость и гибкость, то есть возможность быстрого и автоматического перераспределения вычислительных ресурсов внутри системы.
К недостаткам кластерных систем можно отнести сложность и относительную дороговизну реализации, необходимость постпродажного обслуживания, а также отсутствие единого стандарта. Кстати, стандарт находится на стадии разработки и одобрен всеми ведущими мировыми провайдерами кластерных решений, однако по сути он еще не заработал. О нем речь пойдет ниже.
типы кластерных конфигураций
Существует несколько вариантов конфигурирования кластерных систем. Различные варианты отвечают требованиям различных приложений и, естественно, отличаются по стоимости и сложности реализации. Кластеры строятся по схемам "активный-активный", "активный-резервный" и "SMP" (система с симметрично-параллельной обработкой). Широкое применение нашли также так называемые "псевдокластеры", то есть системы самостоятельных серверов с совместно используемыми подсистемами хранения. Псевдокластеры являются наиболее дешевым вариантом вычислительного комплекса повышенной надежности, однако они не обеспечивают большинства полезных функций кластеров.
Схема "активный-активный" - это самое универсальное решение для компании, имеющей интегрированную информационную систему, где лишь часть ресурсов задействована для выполнения критичных по надежности приложений. В такой системе в простейшем случае имеется активный сервер, выполняющий наиболее важные приложения, и резервная машина, которая может находиться в режиме ожидания или же решать менее критичные задачи. При сбое активного сервера все его приложения автоматически переносятся на резервный, где в свою очередь заканчивают работу приложения с более низким приоритетом. Такая конфигурация позволяет исключить замедление работы критичных приложений - пользователи просто не заметят никаких изменений. Остальные схемы не позволяют сделать этого.
Конфигурация "активный-активный" подразумевает исполнение всеми серверами кластера отдельных приложений одинаково высокого приоритета. В случае сбоя приложения с неработающей машины распределяются по оставшимся, что, конечно, сказывается на общей производительности. Кластеры "активный-активный" могут существовать только в качестве выделенных систем и не позволяют запускать низкоприоритетные задачи типа поддержки офисной работы.
Системы с симметрично-параллельной обработкой данных (SMP) являются наиболее мощной и полноценной реализацией кластерной технологии. Как следует из их названия, все критичные приложения выполняются сразу всеми серверами системы. Эта конфигурация требует самой высокой степени интеграции ПО, обеспечивая не только высочайшую надежность работы критичного приложения, но и недостижимую в других случаях производительность.
Оптимальными сетевыми технологиями соединения серверов, а также подсистем хранения в кластере являются SCSI и оптоволокно. Сейчас в высокопроизводительных кластерах все больше начинает применяться Fibre Channel, как наиболее производительная и функциональная технология коммуникации.
Подсистемы хранения данных, совместно используемые серверами кластера, также должны отвечать требованиям высокой надежности, высокой доступности и быстродействия. Сегодня оптимальным решением является применение RAID-массивов. Массивы RAID поддерживают различные телекоммуникационные технологии и принадлежат к разным ценовым категориям, что делает технологию RAID универсальным решением, легко подстраиваемым под конкретную систему.
Специальное программное обеспечение - вот что объединяет серверы в кластеры. Многие современные корпоративные приложения и операционные системы имеют встроенную поддержку кластеризации, но для того чтобы система работала слаженно, а пользователи не испытывали проблем, требуется установить специальное ПО промежуточного уровня, обеспечивающее бесперебойную работу и прозрачность кластера. Это ПО отвечает в первую очередь за слаженную работу всех серверов и обеспечивает формирование и реконфигурацию кластера после сбоев, разрешая возникающие в системе конфликты.
Серверы в кластере "общаются", уведомляя друг друга о своей работоспособности, с помощью сигналов "сердцебиения" (heartbeat). Heartbeat-сигналы передаются по тем же каналам, что и данные, однако в крупных кластерах для этого выделяют специальные линии, так как кластерное ПО должно получать сигнал сердцебиения каждого сервера с определенным временным интервалом, и в случае неполучения (например, из-за занятости линии) сервер считается неработающим и кластер автоматически переконфигурируется. Так же автоматически разрешаются конфликты между серверами, когда при запуске кластера возникает проблема выбора "ведущего" сервера или группы серверов, задача которых - сформировать новый кластер.
Кроме этого, ПО промежуточного уровня обеспечивает распределение нагрузки по узлам кластера, восстановление работы приложений сбойных серверов на доступных узлах, а также мониторинг состояния аппаратной и программной сред. Существует и еще одно важное достоинство этого ПО: оно позволяет запускать на кластере любое приложение без предварительной адаптации к новой аппаратной архитектуре, что дает возможность использовать кластеризацию как универсальное решение для всей информационной структуры организации.
Примером кластерного ПО для Intel-архитектуры является Novell High Avaibility Server (NHAS) для серверов NetWare. Пожалуй, это одно из самых потенциально широко применимых и дешевых решений для сетей на базе Novel NetWare, NHAS на основе NDS (Novell Directory Services) позволяет соединить несколько файл-серверов NetWare в кластер с функциями автоматической реакции на сбои (при помощи переноса нагрузки на активные серверы) и работы с разделяемыми подсистемами хранения.
Другие известные кластерные продукты для архитектуры Intel выпускают компании Veritas, Compaq. Кластерная служба также включена в Windows 2000.
В декабре 1997 года Compaq, Intel и Microsoft объявили о начале разработки стандарта кластерной архитектуры, основной идеей которого стала возможность объединения в кластеры недорогих массовых серверов. Названный Virtual Interface Architecture 1.0 стандарт не зависит от аппаратной, программной и сетевой архитектуры и реализует принцип предоставления пользовательским процессам виртуальных интерфейсов с сетевой средой в кластерной системе. К проекту уже присоединились более ста фирм, среди которых все основные поставщики аппаратных и программных компонентов корпоративных информационных систем, такие, как 3Com, Hewlett-Packard, Oracle и др.
Эпоха массовых кластерных систем только начинается, и соответствующие технологии еще предстоит освоить. Ясно одно: ближайшее будущее за кластеризацией, ведь эта технология дает реальный шанс сохранить существующие инвестиции в аппаратное обеспечение, эффективно расширив вычислительные мощности в соответствии с современными требованиями.
Сергей Седых, Trans-Ameritech
Сетевые решения. Статья была опубликована в номере 07 за 2000 год в рубрике hardware