Серверные технологии Stratus: кластер нужен не всегда

4 апрель, 2006 - 23:00Сергей Грицачук

В последнее время все больше сфер деятельности требуют внедрения систем высокой готовности, для которых параметр «отказоустойчивость» является наивысшим приоритетом. Компания Stratus Technologies предлагает решение, построенное по модульной схеме из типовых компонентов и имеющее относительно невысокую стоимость.

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

В то же время выбор кластерной схемы только из соображений обеспечения надежности неоптимален, поскольку обладает избыточной функциональностью. Так, распределение задачи между несколькими вычислительными узлами принесет желаемый выигрыш при эксплуатации СУБД, построенной на базе Oracle Application. Однако приложений, эффективно использующих ресурсы кластера, не так уж много, поэтому чаще выбирается схема построения «Active-Passive», при которой с задачей работает только один узел, а другие лишь отслеживают изменения, чтобы в случае отказа активного узла принять управление на себя. Такой подход изначально предполагает, что часть оборудования будет использоваться с заведомо низкой эффективностью, что неизбежно скажется на совокупной стоимости как системы в целом, так и ее обслуживания в частности.

Серверные технологии Stratus кластер нужен не всегда
Модель ftServer 5700, построенная на базе двухъядерных процессоров Xeon, уже доступна в Украине, www.ustar.kiev.ua

Во всех остальных случаях выбор делается в пользу выделенного сервера, снабженного средствами повышения отказоустойчивости, с дублированием некоторых ответственных узлов (сетевые адаптеры, источники питания), функциями горячей замены (жесткие диски, система охлаждения) и специализированными пакетами сервисного сопровождения (оплата которых часто превышает стоимость «железа»), предполагающими быстрое восстановление работоспособности системы. Такое решение дешевле кластерного, и вполне может применяться, если требования к готовности не столь жесткие или простои системы в соответствии с выполняемыми задачами допустимы. Но оно обладает рядом недостатков: высокой начальной ценой и стоимостью обслуживания, обязательной необходимостью использования двухпроцессорных конфигураций и более низкой (на 8–10%) производительностью.

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

Аппаратная составляющая

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

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

Программные компоненты

Серверы Stratus строятся на базе платформы Wintel, допуская применение ОС Windows и ftLinux на базе Red Hat 9 (W- и T-серии соответственно). Надежность функционирования любой из этих ОС повышается с помощью специально разработанных программ, нацеленных на предотвращение ранее выявленных источников отказов без вмешательства в ядро операционных систем или базовых приложений.

Серверные технологии Stratus кластер нужен не всегда
В отличие от кластеров, архитектура ftServer прозрачна для любых приложений, и при этом не содержит точек отказа

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

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

В дополнение к средствам мониторинга, имеющимся в ОС Microsoft Windows, ftServer оснащается менеджером готовности ПО (ftServer Software Availability Manager). Этот модуль также отслеживает активность процессора, памяти и дисков, сравнивая их с пороговыми значениями, задаваемыми системным администратором. Заказчики могут воспользоваться и расширенными средствами мониторинга программного и аппаратного обеспечения от других производителей (например, Tivoli от IBM).

Целесообразность и перспективы

Решения на основе серверов семейства Stratus ftServer позволяют запускать стандартные приложения без внесения каких бы то ни было изменений. Благодаря этому пользователь получает экономический выигрыш по сравнению с кластерными решениями при практически равной стоимости ПО и его обслуживания.

Помимо этого, серверы Stratus строятся так, чтобы обеспечивать бесперебойную работу на 99,999%, что в среднем за год дает не больше пяти минут незапланированных потерь. В то же время поставщики кластеров высокой готовности зачастую предлагают решения с уровнем 99,9%, что эквивалентно 8,7 ч простоя.

Результаты исследований Gartner Group и Dataquest показывают, что востребованность серверов высокой готовности увеличилась за прошлый год на 13% и продолжает расти, чему способствуют расширение рынка интернет-бизнеса и заинтересованность потребителей в снижении времени простоя (минута оценивается в 10 тыс. долл.).

Интерес к ftServer проявляют и другие компании. Недавно NEC, выпустившая последний сервер Express 5800/320Ma FT, заявила о прекращении разработок в этой области в связи с приобретением 3%-ной доли Stratus Technologies и заключении 10-летнего соглашения, предусматривающего совместное создание и внедрение подобных систем.

Конфигурации с двойной и тройной избыточностью (DMR/TMR)

В DMR-моделях используются два связанных модуля процессор–память. Резервированные системные платы выполняют инструкции в режиме синхронизации (lockstep). Если на какой-либо системной плате появляется ошибка, она немедленно изолируется от системы и исключается из работы.

На втором этапе обнаружения ошибок происходит сравнение выходной информации каждой подсистемы процессор–память для каждой операции ввода/вывода. В DMR-системе при возникновении ошибки сравнения, не сопровождаемой сигналом неисправности с системных плат (нештатное событие), для вывода неисправного компонента из работы используются программные алгоритмы, основанные на слежении за историей событий. В TMR-системе для идентификации и изолирования неисправностей применяется логика голосования («третий лишний»). В любом случае процесс обработки не прерывается, производительность системы не снижается, а вычисления продолжаются на оставшихся ресурсах. Весь цикл обнаружения ошибок и блокирования неисправности занимает несколько миллисекунд и не прерывает функционирования системы и работы приложений.