Построение систем высокой надёжности на базе ОСРВ QNX
2 Классификация средств высокой надёжности Средства обеспечения высокой надёжности Средства обеспечения высокой надёжности программных комплексов АппаратныеПрограммные
3 Классификация аппаратных средств высокой надёжности Аппаратные средства обеспечения высокой надёжности Кластеризация систем Средства высокой надёжности Специальная аппаратура Избыточность компонент Использование аппаратуры с возможностью горячей замены
4 Классификация программных средств высокой надёжности Программные средства обеспечения высокой надёжности в QNX Специализированный пакет обеспечения высокой доступности (HAT) Средства высокой надёжности QNX Полная защита памяти Возможность динамической реконфигурации системы без перезагрузки Программная поддержка кластеров (Qnet) Специализированные средства анализа и диагностики
Полная защита памяти процессов – виртуальная память Модель защиты памяти в ОСРВ QNX Системный процесс procnto Процесс 1 Процесс N … 3,5-4Гб 0-3,5Гб 5
Управление защитой памяти в QNX Отображение виртуальной памяти на физическую Физическая память Таблицы страниц Виртуальное адресное пространство процесса Каталог страниц 6
7 Классификация программных средств высокой надёжности Программные средства обеспечения высокой надёжности в QNX Специализированный пакет обеспечения высокой доступности (HAT) Средства высокой надёжности QNX Полная защита памяти Возможность динамической реконфигурации системы без перезагрузки Программная поддержка кластеров (Qnet) Специализированные средства анализа и диагностики
Типовая структура ОСРВ QNX Прикладные программы Администратор сети Qnet Администратор файловой системы ISO9660 Администратор файловой системы QNX4 Администратор файловой системы DOS Администратор сетевой файловой системы NFS Администратор TCP/IP Микроядро (Procnto) Графический сервер Photon... 8
Схема механизма поддержки файловых систем в QNX Библиотеки, обеспечивающие поддержку конкретных файловых систем Библиотека, управляющая блоковым вводом-выводом Библиотеки, управляющие физическими устройствами (дисковые драйвера) 9
10 Классификация программных средств высокой надёжности Программные средства обеспечения высокой надёжности в QNX Специализированный пакет обеспечения высокой доступности (HAT) Средства высокой надёжности QNX Полная защита памяти Возможность динамической реконфигурации системы без перезагрузки Программная поддержка кластеров (Qnet) Специализированные средства анализа и диагностики
Структура сетевой подсистемы ОС QNX 6 Клиентские сетевые процессы Аппататура (сетевые платы) io-net npm-qnet.so npm-tcpip.so devn-ne2000.so Сетевая подсистема QNX Администратор сети Интерфейс протокола Интерфейс драйвера Программная поддержка кластеров 11
Компоненты, участвующие в передачи QNX-сообщений по сети alpha.swd.ru Qnet Программная поддержка кластеров Qnet beta.swd.ru procnto Клиент Сервер 12
Программная поддержка кластеров - open() в сети Клиент (alpha) Администратор сети (alpha) Администратор процессов (alpha) Сопоставление имени с деревом префиксов open() Имя файла /net/beta/dev/ser1 io-net npm-qnet.so Идентификаторы узла, процесса и канала Время Администратор сети (beta) Администрато р процессов (beta) Драйвер последователь- ного порта (beta) Имя файла /net/beta/dev/ser1 Имя файла /dev/ser1, дескриптор узла, идентификаторы процесса и канала Сопоставление имени с деревом префиксов Дескриптор узла, PID драйвера пор та и идентиф икатор канала Открыть ser1 Идентификатор соединения 13
Программная поддержка кластеров Качество соединения (QoS) Сеть 1 Сеть 2 Сеть 3 Узел alphaУзел betaУзел gamma 14
Технология Jump Gate Программная поддержка кластеров 15
16 Классификация программных средств высокой надёжности Программные средства обеспечения высокой надёжности в QNX Специализированный пакет обеспечения высокой доступности (HAT) Средства высокой надёжности QNX Полная защита памяти Возможность динамической реконфигурации системы без перезагрузки Программная поддержка кластеров (Qnet) Специализированные средства анализа и диагностики
17 Специализированные средства анализа и диагностики Специализированные средства анализа и диагностики в QNX System Analysis Toolkit (SAT) Photon Network Probe (PhNetProbe) Средства ведения журналов событий Инструменты командной строки
18 Специализированные средства анализа и диагностики System Analysis Toolkit Микроядро Поток 1 Поток 2 Оборудование Администратор сети Среда передачи Инструментальное расширение микроядра Файл (поток) журнала tracelogger traceprinter procnto-instr
19 Специализированные средства анализа и диагностики Photon Network Probe
20 Специализированные средства анализа и диагностики Средства ведения журналов событий Прикладные средства отслеживания системных событий Система syslogСистема System logger (slogger) Традиционная система аудита в операционных системах семейства UNIX Новая система аудита
21 Классификация программных средств высокой надёжности Программные средства обеспечения высокой надёжности в QNX Специализированный пакет обеспечения высокой доступности (HAT) Средства высокой надёжности QNX Полная защита памяти Возможность динамической реконфигурации системы без перезагрузки Программная поддержка кластеров (Qnet) Специализированные средства анализа и диагностики
22 Высокая доступность в QNX Специализированный пакет для обеспечения высокой доступности HAT – High Availability Toolkit Администратор доступности (НАМ) НАМ API Клиентская библиотека Исходные тексты всех компонент и примеры
HAM Процесс 1 Процесс 2 Высокая доступность в QNX /proc/ham Файловая система, отображающая состояние администратора доступности Взаимный контроль 23 Схема работы администратора доступности Guardian hamctrl
Высокая доступность в QNX 24 Компоненты, управляемые администратором доступности Компоненты Сущности Условия Действия Активные Пассивные
Высокая доступность в QNX 25 Компоненты, управляемые администратором доступности Компоненты Сущности Условия Действия CONDHBEATMISSEDHIGH CONDHBEATMISSEDLOW CONDDEATH CONDDETACH CONDRESTART
Высокая доступность в QNX 26 Компоненты, управляемые администратором доступности Компоненты Сущности Условия Действия NOTIFY PULSE NOTIFY SIGNAL RESTART EXECUTE WAIT FOR HEARTBEAT HEALTHY
Высокая доступность в QNX 27 Отображение состояния администратора доступности на файловую систему /proc/ham.info Процесс А Процесс Б Информация о HAM, Guardian и числе компонент.info Death Информация о мониторинге сущности «Процесс А».info restart Информация об условии Информация о действии
28 Высокая доступность в QNX Специализированный пакет для обеспечения высокой доступности HAT – High Availability Toolkit Администратор доступности (НАМ) НАМ API Клиентская библиотека Исходные тексты всех компонент и примеры
Высокая доступность в QNX 29 Библиотека взаимодействия с администратором доступности HAM API Функции подключения Функции соединения Функции условий ham_connect() ham_disconnect() Функции действий
Высокая доступность в QNX 30 Библиотека взаимодействия с администратором доступности HAM API Функции подключения Функции соединения Функции условий ham_attach_self() ham_ detach_self() Функции действий ham_attach() ham_ detach() ham_ detach_name() ham_heartbeat()
Высокая доступность в QNX 31 Библиотека взаимодействия с администратором доступности HAM API Функции подключения Функции соединения Функции условий ham_condition () ham_condition_remove ( ) Функции действий
Высокая доступность в QNX 32 Библиотека взаимодействия с администратором доступности HAM API Функции подключения Функции соединения Функции условий ham_action_restart () ham_action_execute () Функции действий ham_action_waitfor () ham_action_notify_pulse () ham_action_notify_signal () ham_action_heartbeat_healthy ()
НАЧАЛО подключиться к HAM присоединиться к HAM задать условия и действия НАЧАЛО_ЦИКЛА послать зонд-сигнал …. КОНЕЦ_ЦИКЛА отсоединиться от HAM отключиться от HAM КОНЕЦ 33 Высокая доступность в QNX Псевдокод активной сущности
НАЧАЛО подключиться к HAM присоединить сущность к HAM задать условия и действия отключиться от HAM КОНЕЦ 34 Высокая доступность в QNX Псевдокод программы активизации управления пассивной сущностью
hamctrl [-stop] stop – выполнить корректный останов администратора доступности и его страховочной копии 35 Высокая доступность в QNX Утилита управления администратором доступности
36 Высокая доступность в QNX Специализированный пакет для обеспечения высокой доступности HAT – High Availability Toolkit Администратор доступности (НАМ) НАМ API Клиентская библиотека Исходные тексты всех компонент и примеры
Высокая доступность в QNX 37 Клиентская библиотека (Client Recovery Library) Библиотека Функции привязки «Обёртки» функций ввода/вывода Дополнительные функции ha_attach () ha_detach ()
Высокая доступность в QNX 38 Клиентская библиотека (Client Recovery Library) Библиотека Функции привязки «Обёртки» функций ввода/вывода Дополнительные функции ha_open (), ha_close() ha_creat () ha_ConnectAttach () ha_ConnectDetach () ha_fopen (), ha_fclose() ha_dup()
Высокая доступность в QNX 39 Клиентская библиотека (Client Recovery Library) Библиотека Функции привязки «Обёртки» функций ввода/вывода Дополнительные функции ha_reopen () ha_ReConnectAttach ()
Спасибо! SWD Software Ltd. Официальный дистрибьютор QNX , Санкт-Петербург, пр. Юрия Гагарина 23 тел.: (812) тел.: (812) факс: (812) web: