Вступление

Обзор технологии обеспечения высокой готовности

Проблемы обеспечения высокой готовности
Программная платформа для разработки систем высокой готовности

Проблемы обеспечения высокой готовности

Идеальная система высокой готовности способна работать бесперебойно в течение бесконечно долгого времени. На практике разработчики стремятся обеспечивать готовность отказоустойчивых систем на уровне «пяти девяток» или 99,999%; длительность простоев такой системы составляет около 5 минут в год.

Не существует абсолютно надежных систем. Как правило, уровень готовности систем ниже, чем хотят их пользователи и разработчики. Сбои в системах возникают по разным причинам — из-за отключения электропитания, нарушений в работе программ и компонентов, ошибок оператора и др., однако программные сбои происходят наиболее часто.

Для повышения готовности во многих системах применяются различные аппаратные средства обеспечения отказоустойчивости:

Тем не менее, дополнительное оборудование не решает проблему частых программных сбоев. Оно не гарантирует корректное восстановление состояния памяти системы поcле устранения неполадок; его невозможно устанавливать в некоторые (например, потребительские) устройства; кроме того, существуют системы с нестандартными шинами, в которых неприменимы «решения» высокой готовности на основе шины PCI.

Программная платформа для разработки систем высокой готовности

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

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

Мы считаем, что для решения проблемы программных сбоев целесообразно использовать модульный подход к проектированию и реализации систем высокой готовности. Благодаря микроядерной архитектуре ЗОСРВ «Нейтрино» не только позволяет локализовывать неисправности в системе, но и обеспечивает полную независимость ее компонентов друг от друга. Все компоненты, в том числе системные модули (такие как драйверы устройств) и другие процессы, полностью изолированы и защищены с помощью единых механизмов на основе устройства управления памятью. Запуск и остановка драйверов, сетевых протоколов, файловых систем и других компонентов осуществляется без взаимодействия с ядром. В ОС с микроядерной архитектурой размер единой точки отказа (англ. Single Point Of Failure, SPOF) минимален.

Комплект высокой готовности представляет собой программную инфраструктуру для создания высокоэффективных отказоустойчивых систем. Он поддерживает аппаратные решения высокой готовности (на основе CompactPCI и нестандартного оборудования) и включает в себя инструменты для локализации и предотвращения программных сбоев в системе.

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

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

HAM позволяет поэтапно восстанавливать систему, выполняя заданные действия в указанном порядке. Такой подход полезен, если меры по послеаварийному восстановлению состояния системы зависят друг от друга и необходимо принимать их в строго определенной последовательности.

Использование ЗОСРВ «Нейтрино» совместно с инструментами и API комплекта высокой готовности позволяет прогнозировать, локализовывать возможные неполадки и задавать реакцию на них. Другими словами, зная о вероятных сбоях в системе, можно предусматривать интеллектуальные средства ее восстановления на этапе проектирования.




Предыдущий раздел: Менеджер высокой готовности (HAM)