Отказоустойчивые NT-серверы компании Stratus

Нацеленность на создание техники для предприятий определяется тем, что компания «ВЕЛЕС-дата» предпочитает собирать все компьютеры под конкретный заказ и практически не держит готовую для продажи продукцию на складе
Рынок отказоустойчивых систем не может не быть консервативным. Если любое, даже краткосрочное, прекращение обслуживания влечет за собой значительные убытки, поневоле станешь консерватором. Зачем применять что-то новое, передовое, но не проверенное суровой практикой жизни, если убытки при отказе напрочь перечеркнут все преимущества новинки?

Соответственно и производители в этом сегменте компьютерного рынка работают надежные, проверенные временем (такие, как Tandem/Compaq, Stratus Technologies, IBM и др.), и используемые ими решения отличаются здоровым консерватизмом. Отсюда почти неизбежно и некоторое отставание по применяемым в отказоустойчивых серверах компонентам архитектуры, например по микропроцессорам, технологиям памяти и т.д. Обратите, кстати, внимание: сейчас быстрее большинство передовых новинок дебютирует в ПК, а не, скажем, в суперкомпьютерах.

Компания Stratus, об отказоустойчивых серверах которой пойдет речь в статье, в настоящее время предлагает две линейки компьютеров. Во-первых, это традиционные для Stratus серверы Continuum Series, в которых применяются микропроцессоры HP PA-RISC. В настоящее время поставляются три модели: 400, 600, 1200, из которых две старшие могут работать не только с HP-UX, но и с собственной разработкой Stratus — операционной системой VOS.

Более рискованным, если это понятие вообще можно применить к отказоустойчивым системам, явился шаг Stratus в направлении серверов, оснащенных Windows 2000. В рекламном проспекте компании Hadler Networks, которая является дистрибьютором Stratus в России, говорится: «Нельзя сказать, что Windows 2000 не ?падает?, но если у вас есть ftServer, то вы этого можете просто не заметить».

Давайте сначала посмотрим, какие вообще можно предпринять меры, чтобы избавиться от проблемы прекращения обслуживания пользователей при сбое аппаратуры или ОС.

Иерархия отказоустойчивости

Во-первых, можно просто закрыть глаза на эту проблему. Скажем (в духе знаменитой книги «Физики шутят»), считать, что время простоя по вине Windows 2000 — величина ненаблюдаемая (в порядочном обществе любителей этой операционной системы). Это — дешево и просто. Аппаратурная защита от сбоев одиночного (standalone) сервера обычно предусмотрена; это и защита по четности и кодами ECC, избыточные блоки питания и вентиляторы, иногда — компоненты с горячей заменой: диски, карты PCI и т.п. Однако защиты от сбоев программного обеспечения, увы, нет.

«Нельзя сказать, что ОС Windows 2000 не ?падает?, но если у вас есть ftServer, то вы этого можете просто не заметить» (из рекламного проспекта компании Hadler Networks)
Первым шагом вперед является построение кластеров высокой готовности (HA — high availability), благодаря чему исчезает аппаратная «точка сбоя», при выходе из строя которой происходит отказ всей системы. НА-кластеры — вещь достаточно распространенная в смысле их предложения на рынке различными поставщиками. Для платформы Windows предлагается Microsoft Cluster Server с поддержкой до четырех узлов и 32 процессоров, а также альтернативные этому программному обеспечению решения от IBM, NCR и других фирм. HA-кластеры вообще сложно внедрять и сложно администрировать. Для использования в рамках НА-кластеров приложения приходится специальным образом дорабатывать. В этих системах нет защиты данных в памяти, нет гарантии целостности, а время простоя при переключении обслуживания на другой узел кластера достаточно заметно.

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

Подобные конфигурации предлагает сегодня компания Maraphon Technologies, поставляющая для ПК-серверов специальные интерфейсные PCI-платы, дополненные необходимыми программными средствами. На мой взгляд, большим преимуществом данного подхода является возможность использовать серверы с самыми современными аппаратными компонентами без необходимости доработки приложений. Однако в этом случае необходимо использовать четыре сервера: два — как «вычислительные процессоры» и еще два — как «процессоры ввода/вывода»; SMP-конфигурации не поддерживаются.

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

В ftServer простои при сбоях компонентов вообще исключаются, а транзакции сохраняются в памяти. При этом система выглядит как один сервер, на котором работает Windows 2000 Advanced Server, что, несомненно, удобно для обслуживания.

Главное, в чем такие FT-системы существенно уступают системам с непрерывной готовностью (CA — continuum availability), — это в том, что на модернизацию программного обеспечения требуется определенное время, в течение которого обслуживание пользователей не осуществляется. Однако СА-системы, такие как Compaq/Tandem Himalaya, стоят в несколько раз дороже.

Теперь о количественной оценке надежности. ftServer обеспечивают работоспособность в течение 99,999% времени, а НА-кластеры — обычно на уровне 99,9%, (то есть 5 минут и 8,7 часа простоев в год соотвественно). Насколько известно — это оценки доступности на уровне работоспособности ОС, а не приложений. В отношении кластеров Parallel Sysplex в IBM говорят уже о гарантированном времени безотказной работы приложений. Но эти системы и стоят соответственно...

Архитектура и конфигурации ftServer

Компьютеры ftServer являются архитектурно единой системой с двойной (DMR) или тройной (TMR) избыточностью модулей (в зависимости от модели). Эта известная концепция давно применяется в мире отказоустойчивых систем. Уровень готовности при тройном дублировании еще выше — 99,99999%.

ftServer используют стандартные компоненты: процессоры Intel, память, диски и прочее, что понижает стоимость системы. DRM-системы имеют две материнские платы, а ТRM-системы — соответственно три. И набор микросхем, и материнские платы разработаны Stratus. В основном набор микросхем похож на «классику» — Intel 440BX, но в нем обеспечивается режим пошагового исполнения с контролем результатов (lockstep). По утверждению специалистов компании Hadler Networks, это лишь незначительно понижает производительность — на 1-3,5%. Материнские платы параллельно работают в этом режиме, используя единый тактовый генератор (он, конечно, задублирован).

На выходе материнских плат стоят специальные разработанные в Stratus микросхемы, сравнивающие данные (несовпадение означает ошибку). Отказы определяются и изолируются, причем для определения точки отказа в DRM используется логика материнских плат, в том числе система генерации кодов состояния и самопроверки процессоров Intel. В TRM использована схема трехточечного голосования.

Подсистема ввода/вывода (шины PCI) вынесена с материнской платы. Эта подсистема не зависит от конфигурации — DRM или TRM. Базовая конфигурация содержит две шины PCI, но возможно расширение конфигурации до четырех шин PCI. Дублируются и PCI-адаптеры: SCSI/Fibre Channel, сетевые, а также поставляемые Stratus платы управления серверами, работающие через RS-232 или Ethernet. При отказе шины или адаптера операции продолжаются на дублирующей аппаратуре без потерь данных и сетевого соединения. Дисковое пространство зеркалируется по схеме RAID-1, а каждый диск подсоединен сразу к двум SCSI-каналам.

В таблице приведены краткие технические характеристики поставляемых моделей ftServer. В настоящее время в них используются процессоры с интегрированным кэшем второго уровня емкостью 256 Кбайт. Старшие модели ftServer 6500 (в таблице не представлены) отличаются числом (1/2/4) и типом процессора (Pentium III Xeon c кэшем второго уровня на 512/1024 Кбайт и с повышенной тактовой частотой) емкостью оперативной памяти (0,5-12 Гбайт). В памяти используется стандарт РС100 (естественно, с кодами ЕСС), но с собственными модулями DIMM.

Важнейшей частью комплекта ftServer является ПО. Вообще говоря, серверы оснащаются стандартным вариантом Windows 2000 Advanced Server, однако Stratus поставляет ряд доработок. Прежде всего это драйверы, которые управляют задублированными устройствами ввода/вывода, обеспечивая продолжение работы при сбое и возможность горячей замены модулей. Эти драйверы отслеживают, в частности, уровень среднего времени между сбоями в PCI-платами, выводя их из системы при достижении пороговых значений.

Среди других программных компонентов отметим Resource Inventory Monitor, динамически отслеживающий соответствие версий аппаратного и программного обеспечения. Стандартные средства мониторинга Windows 2000 дополнены монитором готовности программного обеспечения, который также сопоставляет динамическую загрузку процессоров, оперативной памяти и жестких дисков с указанными системным администратором пороговыми значениями. Предусмотрено средство быстрой перезагрузки с сохранением образа памяти, в котором, в частности, для ускорения перезагрузки часть оперативной памяти сервера сохраняется на дисках.

Отдельного упоминания заслуживает сервисная система поддержки пользователей с применением Stratus Service Network, обеспечивающая сервисное обслуживание в режиме «24х7». О привлекательности архитектуры ftServer на рынке отказоустойчивых систем говорит и то, что такие системы продают гранды компьютерной индустрии, подобные Hitachi, NEC и Toshiba.

С учетом относительно невысокой — для уровня рынка отказоустойчивых систем — стоимости ftServer их можно смело рекомендовать как надежные решения для критически важных приложений, работающих в среде Windows 2000.