При разработке систем высокой готовности специалисты в области информационных технологий сталкиваются с проблемами, которые, в первую очередь, относятся к обеспечению высокой надежности, доступности и управляемости разрабатываемых систем. Неадекватная производительность, длительное время реакции и остановки системы для проведения сервисного обслуживания сегодня неприемлемы. В связи с этим к современным компьютерным системам выдвигаются следующие требования:
- Гарантировать высокий уровень готовности;
- Обеспечивать ожидаемую производительность и масштабируемость;
- Допускать интеграцию данных из различных источников;
- Способствовать повышению производительности пользователей;
- Иметь низкий показатель "цена/производительность" и низкую стоимость владения;
- Демонстрировать быструю и экономичную обслуживаемость.
Отказоустойчивые системы высокой готовности позволяют решить перечисленные задачи. Такие системы в основном используются там, где стоимость возможного простоя превышает стоимость затрат, необходимых для построения системы:
- управление предприятием;
- биллинговые системы;
- банковские операции;
- электронная коммерция и др.
Необходимо различать параметры высокой готовности и отказоустойчивости.
Готовность системы - это время, в течение которого система способна предоставлять сервисы своим пользователям. Показатель готовности системы - это выраженное в процентах отношение времени, когда система предоставляет сервисы своим пользователям, к общему времени работы системы. Системы высокой готовности обычно имеют показатель готовности порядка 99,999%, другими словами, время незапланированного простоя систем составляет несколько минут в год.
Отказоустойчивость аппаратной части системы предполагает такое решение по ее составу, когда сбои отдельных модулей системы не приводят к отказу всей системы в целом.
Причины, которые приводят к сбою систем, могут быть разделены на следующие классы:
- Системные сбои (аппаратное и программное обеспечение, эксплуатация);
- Сбои прикладного ПО;
- Изменения окружающей среды;
- Функциональные сбои (конфигурация системы, функционирование и администрирование);
- Сбои инфраструктуры (линии связи, телекоммуникации и т.д.).
Статистика показывает, что больше половины сбоев относятся к классу системных сбоев. Остальная часть относится к сбоям ПО, окружающей среде и инфраструктуре.Следовательно, основой упор необходимо делать на созданиеотказоустойчивойаппаратной части для обеспечения высокой готовности, но, не забывая при этом и о других потенциальных опасностях.
В настоящее время отказоустойчивые системы высокой готовности реализуются двумя способами:
1. Кластерное построение систем;
2. Системы на основе отказоустойчивых серверов.
Кластерные системы
Кластер - это группа вычислительных машин, которые связаны между собою и функционируют как один узел обработки информации.
Кластер функционирует как единая система, то есть для пользователя или прикладной задачи вся совокупность вычислительной техники выглядит как один компьютер. Именно это и является самым важным при построении кластерной системы.
Максимальная надежность в кластерных системах осуществляется за счет использования электронных компонент высокой и сверхвысокой интеграции, поддержания нормальных режимов работы.
Отказоустойчивость обеспечивается путем использования специализированных компонент (специальные модули памяти, отказоустойчивые блоки питания, и т.п.), а также с помощью технологий кластеризации. Благодаря кластеризации достигается такая схема функционирования, когда при отказе одного из компьютеров задачи перераспределяются между другими узлами кластера, которые функционируют исправно. Причем одной из важнейших задач производителей кластерного программного обеспечения является обеспечение минимального времени восстановления системы в случае сбоя, так как отказоустойчивость системы нужна именно для минимизации так называемого внепланового простоя.
Еще одним определяющим параметром любой отказоустойчивой системы высокой готовности является удобство в обслуживании, которое служит уменьшению плановых простоев (например, замены вышедшего из строя оборудования). Эффективность обслуживания кластерных систем определяется удаленностью расположения составляющих кластера и возможностями в обслуживании каждого элемента кластера без выключения всего комплекса.
Серьезный недостаток кластерных решений - сложность в эксплуатации на небольших удаленно расположенных объектах (например, территориально распределенных объектах РЖД) - диктует необходимость иметь в штате подготовленных и обученных специалистов для обслуживания таких систем. Это вызвано технологическими особенностями построения кластерных решений, в которых правильное функционирование системы как кластера и ее своевременное обслуживание во многом определяются правильными настройками и управлением программным обеспечением.
ОТКАЗОУСТОЙЧИВЫЕ СЕРВЕРЫ Отказоустойчивая система реализуется с помощью дуплексной пары, реализованной в одном корпусе, которая создается путем соответствующего конфигурирования двух блоков системы. Одним из базовых элементов системы является процессорный модуль (ЦП). Идентичное состояние этих двух модулей поддерживается благодаря выполнению на обоих ЦП одного и того же программного кода с теми же самыми данными, а также поступлению в память обоих ЦП всего потока ввода. Оба ЦП генерируют идентичные исходящие потоки вывода. Один из этих потоков выбирается для пересылки в контроллеры в/в или другие процессоры.
Аналогично кластерной системе отказоустойчивость такой системы достигается за счет использования специальных модулей памяти, блоков питания, систем охлаждения и т.п. и применением специального программного обеспечения, позволяющего увеличить отказоустойчивость системы и повысить тем самым ее готовность.
Модули такой отказоустойчивой системы имеют развитые средства обнаружения неисправностей. ЦП останавливается при обнаружении его схемами контроля любой ошибки. При обнаружении неисправности начинается процесс восстановления. При этом один из ЦП исключается из работы, а другой продолжает свою работу.
Абсолютное дублирование всей системы обеспечивает беспрецедентно эффективный и экономичный уровень надежности сервера и всей построенной на этих серверах системы. В некоторых отказоустойчивых системах «избыточные» аппаратные средства можно использовать для распараллеливания обычных работ.
В отличие от кластерных решений, системы, построенные на основе отказоустойчивых серверов, не требуют постоянного присутствия специального персонала для контроля работы системы и ее обслуживания. Это объясняется архитектурой построения таких отказоустойчивых систем: интегрированные аппаратные и программные решения позволяют осуществлять замену практически любого элемента в режиме реального времени без выключения системы и без привлечения подготовленных специалистов. Все это обеспечивает более гибкое, экономичное и надежное использование таких систем на любых предприятиях вне зависимости от территориального расположения их объектов (например, РЖД).
Такого рода сверхнадежные и высокопроизводительные решения находят применение в различных «24/7» системах, в системах с критическими бизнес-приложениями.
Решения на базе отказоустойчивых серверов обеспечивают надежную инфраструктуру для построения и крупномасштабных, и небольших отказоустойчивых систем.
Отказоустойчивые системы стоят несколько дороже кластерных решений, однако, по сравнению с последними, они имеют повышенную надежность, эффективность обслуживания и, как следствие, меньшее время простоя, что обеспечивает низкую общую стоимость владения.
ОТКАЗОУСТОЙЧИВЫЕ СЕРВЕРЫ КОМПАНИИ NEC
Компания NEC входит в число мировых лидеров по производству компьютерной техники. Одним из приоритетных направлений компании является разработка, внедрение и постоянное совершенствование серверного оборудования и систем хранения. Важным направлением в этой области является создание отказоустойчивых серверов (Fault Tolerant Server).
В настоящее время Компания NEC представлена на рынке отказоустойчивым сервером высокой доступности NEC Express5800/320Fa-R (с водяным или воздушным охлаждением). Архитектура сервера предполагает возможность полного, в том числе горячего, резервирования системы при условии непрерывной работы. Такое решение исключает потерю или искажение обработанных данных, обеспечивает совместимость со стандартными приложениями.
Сервер выполнен по двухмодульной избыточной архитектуре (Dual Modular Redundant (DMR) Architecture) в виде отдельных блоков, полностью дублирующих друг друга. При этом обе “половины” сервера выполняют одни и те же инструкции в каждый момент времени (синхронизация происходит на уровне тактов процессора). Если случается сбой, сервер, не останавливаясь, исключает из работы неисправный компонент и автоматически отсылает сообщение в центр поддержки.
Двухмодульная «избыточная архитектура» отказоустойчивых серверов NEC
Двойная модульная «избыточность», реализованная в Express 5800/320Fa-R, дает возможность простой замены большинства подсистем без остановки системы. Модули подсистем, поддерживающие технологию «горячей замены», могут быть сконфигурированы, протестированы и заменены в случае сбоя. Соответствующие индикаторы оповещают обслуживающий персонал о статусе каждого компонента и подтверждают успешность замены компонента в случае произведения таковой.
Сервис-центр доставляет пользователю запасной блок, полностью идентичный неисправному, после чего клиент может самостоятельно произвести его замену. Новый модуль автоматически включается и синхронизируется с работающей частью сервера (от момента сбоя до замены вышедшего из строя компонента приложения на сервере работают безостановочно без потери производительности).
Архитектура отказоустойчивых серверов NEC позволяет устанавливать один сервер вместо обычных двух, необходимых для построения кластерного решения. Таким образом обеспечивается экономия не только на аппаратной части системы, но и на программном уровне (необходима только одна лицензия на ПО), технической поддержке, обеспечении системы. А, возможно, самые главные преимущества серверов NEC Express5800/320Fa-R заключаются в максимально увеличенной, по сравнению со всеми существующими аналогами, надежности работы системы, мгновенном времени переключения между модулями при сбое в одном из модулей и возможности прогнозирования потенциальных ошибок в системе.
Сервер предназначен специально для приложений решения критически важных задач, требующих максимальной степени доступности. Наиболее инновационным элементом в построении данного сервера является использование индустриально-стандартной технологии изготовления серверов и широко доступных компонентов, что позволяет достичь беспрецедентных цен и значительного снижения общей стоимости владения по сравнению с дорогостоящими кластерными решениями. В дополнение обеспечена высокая доступность за счет комбинации программных расширений и обновленных сервисов, таких как «доработанные» драйверы и улучшенное удаленное управление и мониторинг.