Методы резервирования данных и выбор наиболее оптимального для бортового вычислителя. Разработка алгоритмов и программного обеспечения модуля создания и изменения конфигураций кластера. Графический интерфейс пользователя в режиме работы с проектами.
Аннотация к работе
Это класс систем, обеспечивающих высокую отказоустойчивость на протяжении больших периодов времени за счет технологий резервирования данных. Для того, чтобы системы были гибкими в настройке и имели возможность работать в разных конфигурациях, необходимо использовать программное обеспечение, позволяющее создавать, сохранять и запускать эти конфигурации. Главной задачей разработки программного обеспечения является создание удобного инструмента, позволяющего создавать, модифицировать и отлаживать конфигурации отказоустойчивого кластера, обеспечивающего «горячее» резервирование данных и их быстрое восстановление в случаях их утраты при аварии одного из процессоров бортового вычислительного комплекса.Для разработки программного обеспечения заказчиком были установлены следующие исходные данные: - операционная система реального времени QNX 4.25; Разрабатываемое программное обеспечение должно обеспечивать возможности создания и слежения за конфигурациями отказоустойчивого кластера. В связи с тем, что разработка кластера ведется для бортового вычислителя, на него будет установлена операционная система реального времени QNX 4.25, которая отвечает требованиям высокой надежности, непрерывности управления и времени реакции при аварийных ситуациях. Операционная система QNX 4.25 будет установлена на бортовой вычислитель, состоящий из 3-х узлов, также разрабатываемый на ОАО «НИИ «Аргон». В связи с тем, что вычислитель создается для использования на борту и крайне важны такие параметры как вес и размер, вычислитель спроектирован таким образом, чтобы имея в своем составе 3 полноценных процессорных модуля, ограничиваться всего одним физическим корпусом с централизованной системой охлаждения и вентиляции.HAM применяет сообщения проверки работоспособности (heartbeating), чтобы отслеживать состояние любого компонента, позволяя фиксировать сбои как можно раньше. Используя библиотеку HAM, приложение может дать указание HAM, какие действия по восстановлению должны быть предприняты, в соответствии с порядком, в котором произошли ошибочные условия; HAM также обеспечивает библиотеку программ для выполнения действий по восстановлению клиента, которая позволяет системе немедленно повторно устанавливать разорванное соединение в случае сбоя компонента; Менеджер высокой доступности (HAM) обеспечивает механизм, позволяющий выполнять мониторинг процессов и сервисов в функционирующей системе. HAM также позволяет внешним компонентам запрашивать информацию об интересующих событиях в системе, и может выполнять требуемые действия в момент возникновения этих событий.Максимально отказоустойчивая система должна не иметь ни единой точки, то есть активного элемента, отказ которого может привести к потере функциональности системы. В случае отказоустойчивого вычислителя система состоит из трех узлов. Реализация отказоустойчивости в системе основана на периодической обработке средствами ОС контрольных точек, заданных временными рамками или сложностью задачи. Для элементов других систем, связанных с кластерным модулем, кластер выглядит как единое целое и его неполадки могут выразиться в кратковременном снижении производительности или недоступности какого-либо ресурса на время от нескольких секунд до нескольких минут в зависимости от конфигурации. Для того, чтобы задача могла корректно работать в кластере, она должна регулярно сохранять данные на общем носителе информации, а не хранить в оперативной памяти, тогда в случае сбоя одного из модулей, все данные, обработанные на момент отказа будут доступны и другой модуль, перехватывающий работу отказавшего, сможет продолжить с места отказа, а не будет вынужден начинать выполнение задачи с самого начала.Целью дипломного проекта является разработка программного модуля диспетчера высокой готовности для ОСРВ QNX 4.25, позволяющего запускать различные конфигурации отказоустойчивого кластера, а также в режиме реального времени проводить мониторинг его состояния. Исходя из требований, предъявляемых проекту необходимо разработать 3 основных блока программного комплекса: - блок менеджера проектов; При этом каждый из блоков, с которыми взаимодействует пользователь, должен обладать своим графическим интерфейсом, позволяющим оператору производить нужные операции в максимально упрощенной форме, а режим мониторинга должен быть максимально информативным визуально.Конфигурацией в текущем контексте называется совокупность параметров, характеризующих каждый из узлов кластера, перечень задач, запущенных на узлах и особенности взаимосвязи этих задач между собой. Для пользователя главной сущность является сама конфигурация, модифицируя которую он прежде всего столкнется с добавлением в нее узлов и заданием их параметров. После того как узел добавлен в конфигурацию, можно приступать к добавлению процессов, которые при инициализации конфигурации будут запущены на выбранном узле. В итоге изменяя информацию о процессах, оператор уже заранее будет знать, что распределение процессов на другие узлы в начальной конфигурации выбранного про
План
Оглавление
Введение
Глава 1. Анализ предметной области
1.1 Анализ исходных данных
1.2 Актуальность разработки и аналоги
1.3 Обзор методов резервирования данных и выбор наиболее оптимального для бортового вычислителя
1.4 Обзор операционной системы реального времени QNX 4.25
1.5 Постановка задачи
Глава 2. Разработка алгоритмов программного обеспечения
2.1 Разработка алгоритмов и программного обеспечения модуля создания и изменения конфигураций кластера
2.2 Разработка алгоритмов и программного обеспечения модуля менеджера проектов кластера
2.3 Разработка алгоритмов и программного обеспечения модуля мониторинга состояния кластера
Глава 3. Отладка и тестирование программного обеспечения
Глава 4. Контрольный пример
Заключение
Список литературы
Приложение
Введение
В настоящий момент получили широкое распространение кластерные системы повышенной готовности. Это класс систем, обеспечивающих высокую отказоустойчивость на протяжении больших периодов времени за счет технологий резервирования данных. Использование технологий кластеризации при разработке бортовых вычислителей крайне актуально ввиду высоких требований к надежности и безопасности таких систем. Для того, чтобы системы были гибкими в настройке и имели возможность работать в разных конфигурациях, необходимо использовать программное обеспечение, позволяющее создавать, сохранять и запускать эти конфигурации. Также для повышения надежности создаваемых конфигураций нужно иметь возможность наблюдать за работающей системой и диагностировать ошибки ее работы.
Главной задачей разработки программного обеспечения является создание удобного инструмента, позволяющего создавать, модифицировать и отлаживать конфигурации отказоустойчивого кластера, обеспечивающего «горячее» резервирование данных и их быстрое восстановление в случаях их утраты при аварии одного из процессоров бортового вычислительного комплекса. Также в рамках поставленной задачи требуется разработать графическую систему отображения состояния узлов вычислительного комплекса для последующего мониторинга оператором с удаленного терминала. Разрабатываемое программное обеспечение должно функционировать под операционной системой реального времени QNX 4.25, ввиду ее соответствия высоким стандартам надежности, безопасности и масштабируемости, предъявляемых к бортовым системам.
Решению описанной задачи и посвящен данный дипломный проект.