Встроенные средства диагностики ОСРВ QNX4 Николай Горбунов SWD Real-Time Systems Конференция QNX - 2000 - Россия 19-20 сентября, Санкт-Петербург.

Презентация:



Advertisements
Похожие презентации
Модульное лицензирование Александр Варварик SWD Real-Time Systems Конференция QNX Россия сентября, Санкт-Петербург.
Advertisements

Ethernet Протокол физического и канального уровня Алгоритм доступа к разделяемой среде Узел передает данные, когда считает, что среда свободна Простой.
Сетевые средства Windows © К.Ю. Поляков, Имя компьютера, рабочая группа ПКМ ЛКМ имя компьютера в сетевом окружении рабочая группа изменение настроек.
Прогнозирование сетевых перегрузок на основе анализа временных рядов Соколов А. С., гр Руководитель – Гирик А.В., аспирант кафедры МиПЧС.
Тема 5. Протокол межсетевого взаимодействия IP n Основные функции n Структура пакета n Таблицы маршрутизации n Маршрутизация без использования масок n.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
1. Этапы развития вычислительной техники и программного обеспечения. 2.Структура вычислительной системы. Ресурсы ВС- физические ресурсы, виртуальные ресурсы.
Сетевые средства Windows © К.Ю. Поляков, Имя компьютера, рабочая группа ПКМ ЛКМ имя компьютера в сетевом окружении рабочая группа изменение настроек.
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Работа протоколов стека TCP/IP Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Томский государственный университет Радиофизический факультет Кафедра информационных технологий в исследовании дискретных структур Автоматизированная система.
Безопасность систем на базе сертифицированной ОСРВ QNX КПДА Александр Трофимов.
ICMP межсетевой протокол управляющих сообщений Выполнил: студент группы СУ-61 Французов Виталий.
Практическое занятие Вводное занятие Преподаватели: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ»
Общее использование ресурсов локальной сети. Урок 19.
Общее использование ресурсов локальной сети. Урок 19.
Построение систем высокой надёжности на базе ОСРВ QNX.
Топология ЛВС. Топология – это конфигурация локальной сети, которая описывает схему физического соединения компьютеров, тип оборудования, методы управления.
Организация глобальных сетей. История развития глобальных сетей 1964 год США. Создана компьютерная система раннего оповещения о приближении ракет противника.
Семейство SAFEsuite компании ISS ИНФОРМЗАЩИТА НАУЧНО-ИНЖЕНЕРНОЕ ПРЕДПРИЯТИЕ.
Транксрипт:

Встроенные средства диагностики ОСРВ QNX4 Николай Горбунов SWD Real-Time Systems Конференция QNX Россия сентября, Санкт-Петербург

Микроядро Менеджер файловых систем Менеджер процесссов Менеджер сети Менеджер устройств Ключевые подсистемы QNX4 Подсистема процессовФайловая подсистема Подсистема устройствСетевая подсистема

Ключевые подсистемы QNX4: микроядро Модуль IPC Маршрути- затор IRQ Сетевой интерфейс Планировщик Процесс А Процесс Б Оборудование Менеджер сети среда передачи Интерфейс системного монитора Файл журнала monitor msgprint mindex dv Deja-View

Диагностика микроядра: монитор системных событий # Вызов монитора; нажмите Ctrl-C или пошлите # SIGTERM для выхода: monitor [-f ] \ [-p ] \ [[-i … ] | [-n]] [&] # Анализ журнала в текстовой форме: msgprint

Анализ журналов микроядра: утилита msgprint 6.ed00033f active is 24(Net) 6.ed proxy(59(Socklet)) triggers 59(Socklet) 6.ed00043a 24(Net) Triggers proxy(59(Socklet)) 6.ed (Net) recv (none) [] from {none} 6.ed0004a7 active is 59(Socklet) 6.ed0004ce 59(Socklet) recv (none) [] from proxy(59(Socklet)) 6.ed0005b4 proxy(19603(phrelay)) triggers 19603(phrelay) 6.ed0005c9 59(Socklet) Triggers proxy(19603(phrelay)) временная метка событие пример вывода утилиты msgprint

Визуальный анализ журналов микроядра: Deja-View окно временных диаграмм окно событий список процессов

Ключевые подсистемы QNX4: подсистема процессов sin/vsin ps (POSIX) sac/phsac traceinfo licinfo Буфер трассировки Таблица лицензий Информация о процессах Proc32 Средства отображения системной информации Менеджер процессов Запрос на регистрацию события Процесс А Лицензии /.licenses sinit

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

Утилита vsin: информация о процессах управление колонками можно задавать номер узла

Утилита vsin: виртуальные каналы узла

Утилита vsin: прокси-процессы

Утилита vsin: таймеры реального времени

Утилита vsin: обработка прерываний

Утилита vsin: сеть QNX

Утилиты sac и phsac: системная активность коэффициент сглаживания период опроса гистограмма активности

Подсистема процессов: лицензионная информация Информация, предоставляемая утилитой licinfo: содержимое лицензионной базы данных Proc32 количество разрешенных копий каждого продукта сколько и на каких узлах сети запущено копий каждого продукта

Подсистема процессов: события трасссировки Код источника события Код события Код важности события Дополнительные данные (если есть) Кто сообщил (коды назначаются QSSL) Что произошло 0..7, 0 = наибольшая важность

События трасссировки: генерация Trace0() Trace0b() Trace1() Trace1b() Trace2() Trace2b() Trace3() Trace3b() Trace4() Trace4b() Trace5() Trace5b() Trace6() Trace6b()

Создание и чтение журналов трассировки Файл журнала tracelogger Форматы вывода /etc/config/traceinfo Буфер трассировки Proc32 Менеджер процессов traceinfo Микроядро Процесс А Trace*() tracectrl

Анализ журналов трассировки: утилита traceinfo May 10 13:21: (576) 1000 (irq) out-of-window collision (bad hardware) May 10 13:21: f May 10 13:21: c 1 (044) NET ( rx) Possible duplicate vid sequence number May 10 13:22: clusters allocated at May 10 13:24: (576) 1000 (irq) out-of-window collision (bad hardware) May 10 13:35: Warning! 5 overruns have occurred. Some trace events lost. дата важность код источника код события расшифровка

Ключевые подсистемы QNX4: файловая подсистема Логический уровень /dev/hdNtM «Сырые» устройства /dev/hdN Fsys Fsys.* Физический уровень системные счетчики fsysinfo df du dcheck информация о ресурсах отчеты о дисковом пространстве chkfsysProc32 Trace*() контроль целостности Trace*()

Файловая подсистема QNX4: отчеты о дисковом пространстве Пример вывода утилит df и du в 512-байтовых блоках: [//11:root] /home/root # df -h File system(Blks) Total UserUsedFreeUsedMounted on //11/dev/hd0t %/ [//11:root] /home/root # du -a /tmp 13/tmp/cron.log 955/tmp/system.log 10169/tmp/uucp.debug 137/tmp/uucp.stats 555/tmp/uucp.log 1962/tmp/system.log.old 8/tmp/cron.log.old

Файловая подсистема QNX4: проверка логической и физической целостности Утилита chkfsys: обнаружение и восстановление «потерянных» блоков обнаружение и коррекция нарушений структуры метаданных Утилита dcheck: обнаружение и исключение из использования сбойных и предотказовых блоков интерфейс с утилитой chkfsys

Файловая подсистема QNX4: ресурсы и статистика UsedMaxAlloc'dLimitHitsMissesRatio inodes % namesn/an/a % files locks threads0344 data hits:delays:misses= :0:4805 (98.92%) metadata hits:misses= :2513 (99.33%) cache lookups (47/sec) cache writes (18/sec) disk reads (65/sec) disk writes (34/sec) 73099open calls (3/sec) 12566stat calls (0/sec) namei calls (5/sec) 12072fstat calls (0/sec) 96154read calls (4/sec) write calls (5/sec) пример вывода утилиты fsysinfo

Ключевые подсистемы QNX4: подсистема устройств Dev Dev.* Физический уровень Proc32 Trace*()Интерфейс с оборудованием Интерфейс с процессами Терминальное оборудование Trace*()

Ключевые подсистемы QNX4: сетевая подсистема Net.* журнал событий сети netinfo статистика драйвера Proc32 Trace*() карта сети cписок доступных узлов netmap alive netpoll параметры опроса VC Net анализаторы сетевого протокола netsniffNetHound PNP очередь пакетов

Сетевая подсистема QNX4: карта сети Пример вывода утилиты netmap: #LogicalLanPhysicalTX CountLast TX Fail Time B 001AFE ;460May 17 13:45:53 22t0; F;1822May 17 13:45:57 32t0; E8 2123A2;460May 17 13:46: E ; E8 210D86; B7B;460May 17 13:46: C B9;460May 17 13:46: B4 9FB5CD;460May 17 13:46:16

Сетевая подсистема QNX4: параметры опроса целостности виртуальных каналов Пример вывода утилиты netpoll: on this node, the virtual circuit polling parameters are now: [p]oll_period seconds [i]dle_time seconds num_[r]etries интервал между опросными пакетами максимально допустимое время простоя канала число опросных пакетов

Сетевая подсистема QNX4: список доступных узлов Пример вывода утилиты alive: Node Status 2: Down7: Down13: Down18: Down20: Down 3: Down11: Up16: Down19: Down Альтернативный вариант получения списка (sin net): Nid Machine Cpu Fpu Speed Memory Hard Flop Other Display Flags 11 PCI M 1064M VGA Color P M 1064M

Сетевая подсистема QNX4: анализ журнала событий сети Пример вывода утилиты netinfo (фрагмент): Date Net (Nid|Status) Code Description 16:32:08 1 Status (507) 1000 ( tx) timeout (no nack) 16:32:08 1 Status 1 (507) 1000 ( tx) timeout (no nack) 16:32: C B9 (507) 1000 ( tx) timeout (no nack) 16:32:09 1Status 0 (507) 1000 ( tx) timeout (no nack) 16:32:09 1 Status (507)1000 ( tx) timeout (no nack) 16:32:09 1Status (507) 1000 ( tx) timeout (no nack) 16:32:09 1 Status 1 (507) 1000 ( tx) timeout (no nack) 16:32: C B9 (507) 1000 ( tx) timeout (no nack)

Сетевая подсистема QNX4: статистика уровня драйверов Информация, предоставляемая утилитой netinfo в режиме статистики (драйвер Net.ether1000): тип, MAC-адрес, конфигурация и ресурсы адаптера число корректно и некорректно принятых/переданных пакетов число сбоев приема/передачи по типам (коллизии, потеря несущей, и т.п.) число ошибок буферизации по типам (FIFO overrun/underrun, и т.п.) число ошибок контрольной суммы

Сетевая подсистема QNX4: прием пакетов очередь пакетов Сетевой адаптер Среда передачи буфер виртуального канала Процесс 1 Микроядро Net.* Net «сырой» интерфейс Процесс 3 Процесс 2... Процесс N

Сетевая подсистема QNX4: перехват пакетов Сетевой адаптер должен находиться в режиме «неразборчивого» (promiscuous) приема, а также позволять принимать многоабонентские пакеты (опции -P и -M драйвера Net.*) Пакет не должен иметь процесса-адресата: – сетевой адаптер, предназначенный для перехвата пакетов, не должен быть описан в карте сети – динамическая модификация карты сети должны бать запрещена (опция -A менеджера Net) Должно быть включено «каскадирование» (stacking) «сырых» приложений (опция -S менеджера Net)

Анализ сетевого трафика: Photon Network Probe

Сетевая подсистема QNX4: диагностика сетей TCP/IP ping (эхо-запрос узла IP-сети пакетами ECHO_REQUEST протокола ICMP) if_up (проверка доступности IP-интерфейса) arp (отображение и настройка параметров протокола ARP) nslookup (опрос службы доменных имен DNS) rpcinfo (отображение информации RPC) showmount (отображение точек монтирования сервера NFS) traceroute (трассировка таблиц маршрутизации IP) netstat (отображение состояния и статистики IP-сети) snmp* (функции протокола управления сетью SNMP)

Системные журналы высокого уровня syslogd Процесс А сценарий shell текстовый журнал cat less файл конфигурации средства отображения logger syslog() sh /etc/syslog.conf удаленному syslogd more /tmp/syslog

Системные журналы высокого уровня: формат записи Формат записи в журнале syslog: дата и время возникновения события идентификатор узла сети, на котором событие произошло имя/идентификатор процесса/пользователя, запросившего регистрацию события текстовое сообщение (определяется пользователем)

Системные журналы высокого уровня: сортировка запросов syslogd /etc/syslog.conf уровень запроса источник запроса решение о переадресации Уровни запросов: emerg alert crit err warning notice info debug Источники запросов: auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0..7 {уровень; источник} = приоритет

Системные журналы высокого уровня: утилита logger # Регистрация события с заданным приоритетом # в системном журнале: logger [-i] [-s] [-f ] \ [-p |. ] \ [-t ] [текстовое_сообщение]

Системные журналы высокого уровня: программный доступ openlog() - открыть журнал на запись setlogmask() - установить маску приоритета syslog()/vsyslog() - сделать запись в журнале closelog() - закрыть журнал

«Посмертная» диагностика процессов Микроядроdumper Процесс А SIGABRT SIGBUS SIGFPE SIGILL SIGSEGV Отладчик (wd) образ процесса А исходный текст Процесс Б

«Посмертная» диагностика процессов: утилита dumper # Сохранение «посмертного» образа конкретного # процесса по ненормальному завершению: dumper [-d ] [-p PID] & # Сохранение «посмертного» образа любого # процесса по любому завершению: dumper [-d ] &

Диагностика оборудования Автоопределение: crttrap disktrap nettrap mousetrap PCI-устройства: show_pci pci_write PCMCIA-устройства : pin pcmciatrap