- •128 М осковский Государственный Институт Электронной Техники (Технический Университет)
- •«Разработка программного модуля для удаленного администрирования и мониторинга raid-системы»
- •Содержание
- •Введение
- •Раздел 2 является технологическим разделом и содержит информацию о методике создания данного программного продукта и приемах его отладки.
- •Раздел 3 содержит организационно-экономическую часть дипломного проекта, в которой проводится расчет стоимости проекта и планирование разработки;
- •Раздел 4 посвящен вопросу организации рабочего места программиста и пользователя пк.
- •Специальный раздел
- •Исследовательская часть
- •Постановка задачи
- •Обзор программных продуктов для управленияRaid-системой
- •Gam(GlobalArrayManager)
- •Информационные потребности пользователя
- •Конструкторская часть
- •Требования к системе
- •Состав выполняемых функций
- •Требования к надежности
- •Условия эксплуатации и требования к составу и параметрам технических средств
- •Требования к информационной и программной совместимости
- •Требования к транспортировке и хранению
- •Специальные требования
- •Структурная схема работы программы
- •Структура входных и выходных данных
- •Общие схемы алгоритмов работы программы
- •Общая схема алгоритма работы модуля Менеджер
- •Схемы алгоритмов модуля Агент
- •Поиск подключенных raid-контроллеров
- •Мониторинг raid-массива
- •Формат данных модуля Агент
- •Формат ответов контроллера acs-9900
- •Выбор платформы проектирования
- •Реализация программного модуля Агент
- •Реализация модуля для поиска подключенных raid-контроллеров
- •Реализация сервера Агент
- •Общий вид модуля Менеджер
- •Установка программного обеспечения
- •Конфигурация технических средств
- •Минимальные технические характеристики по
- •Рекомендуемые технические характеристики по
- •Методика и результаты испытаний программы
- •Общие приемы тестирования
- •Тестирование работоспособности raid-контроллера
- •Технологический раздел
- •Объектно-ориентированное программирование
- •Объектно-ориентированное проектирование
- •Этапы разработки программного обеспечения
- •Постановка задачи
- •Составление проекта
- •Алгоритмизация
- •Программирование
- •Препарация
- •Трансляция
- •Отладка
- •Оформление программы
- •Отчет о работе
- •Модернизация
- •Методика испытаний программы и результаты экспериментальной проверки
- •Отладка и общие принципы тестирования
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •Особенности среды программирования
- •Тестирование программы и его результаты
- •Организационно-экономический раздел
- •Планирование разработки
- •Сетевое планирование
- •Создание структурной таблицы работ
- •Структурная таблица работ
- •Проанализированная структурная таблица работ
- •Упорядоченная структурная таблица работ
- •Сетевой график
- •Расчет затрат на создание программного продукта
- •Метод для расчета затрат на создание пп
- •Расчет затрат на разработку пп
- •Результаты расчета коэффициентов изменения трудоемкости
- •72 408 Рублей,
- •Расчет затрат на изготовление опытного образца пп
- •4 972 Рубля,
- •Затраты на технологию и программные средства автоматизации разработки пп
- •Затраты на эвм, используемые для автоматизации разработки пп
- •Итоговые суммарные затраты на разработку по
- •Итоговые суммарные затраты на разработку по
- •Раздел по производственной и экологической безопасности
- •Вредные и потенциальноопасные факторы на месте разработчика по
- •Нерациональное освещение
- •Расчет общего освещения
- •Электробезопасность
- •Требования по пожарной безопасности
- •Уровень шума
- •Защита от вредных излучений
- •Микроклимат в компьютерном зале
- •Параметры воздушной среды
- •Психофизиологические факторы
- •Заключение
- •Список литературы
- •Приложения Приложение 1. Текст программного кода
- •Приложение 2. Спецификация контроллераAsc-9900
- •Приложение 3. Руководство пользователя
- •Встроенная система помощи
- •Приложение4. Интерфейсные окна программы
Мониторинг raid-массива
Мониторинг RAID-массива осуществляется по таймеру. Промежуток времени для мониторинга задается в настройках либо через интерфейсМенеджера, либоАгента. На рисунке 1.8 рассмотрен один цикл для опросаRAID-массива.
Рис. 1.8. Схема алгоритма мониторинга RAID-массива
Основной момент в этом цикле занимает нотификация администратора, если была найдена ошибка. При обнаружении ошибок в работе системы определяем, надо ли отправлять оповещение для администратора о неисправности. Для этого необходимо вначале определить код данной ошибки. В файле настроек для оповещения для каждой категории ошибок указывается тип оповещения: E-mail,Broadcastили вlog-файл. Если ошибок не было найдено. Вlog-файл записывается строка об успешной проверке работы системы.
Формат данных модуля Агент
Рассмотрим подробно формат данных модуля Агент, а также формат команд для обмена информацией междуАгентомиМенеджером, и междуАгентомиRAID-контроллером.
Файл конфигурации Агента
Файл конфигурации нужен для определения подключенного к компьютеру RAID-контроллера.
[Mail]
TYPE=COM
PORT=1
BAUD=19200
DATABITS=8
STOPBITS=1
PARITY=0
LogFileName=000032599000004.log
LogFileSize=1024
DelayTime1=0
DelayTime2=15
DelayTime3=30
DelayTime4=60
Cnt=1
skin=1
email_1=saga@rusoft.ru
emessage_1=HI
address_1=SAGA
bmessage_1=HI
Формат файла истории
В файл истории записываются все события по формату:
[день/месяц/год(2) часы:минуты:секунды]: сообщение. Пример:
[05/05/09 14:39:18]:New connection opened
[05/05/09 14:39:18]:GUI detected via:127.0.0.1
[05/05/09 14:39:18]:GUI connected at:127.0.0.1
[05/05/09 14:40:08]:Login accepted:127.0.0.1: session opened
Формат команд RAID-контроллера
В таблице 1.1 приведен фрагмент из описания к контроллеру ACS-9900 с описанием команд посылаемых RAID-контроллеру.
Таблица 1.1
Формат командр контроллера ACS-9900
Command |
Description |
Get page |
Get the RAID information page |
Edit RAIDi |
Edit RAID1~4, If Argument code is No, This Command is Aborted |
Set RAIDi Level |
Set RAIDi Level---i=1or2or3or4 0—0xi0, 1—0xi1, 3—0xi3, 5—0xi5, 0+1—0xi6, None--else |
Select RAIDi Disk Member |
Select RAIDi Disk Member (i=1or2or3or4) if xx=01 Disk01 is selected, xx=03 Disk03 is selected..... |
В таблице 1.2 приведен фрагмент из описания к контроллеру ACS-9900 с вариантами ответов от RAID-контроллера.
Таблица 1.2
Формат ответов контроллера acs-9900
Message |
Meaning |
INITIALIZING ARRAY X...: |
Initializing Array x |
INIT ARRAY ERROR |
Error occurred while initializing Array |
INIT ARRAY OK |
Array initializing successful |
ADD(X): ERROR!: |
Error occurred while rebuilding Slot x |
CHECK ARRAY ERROR!: |
Error occurred while checking Array |
CHECK ARRAY OK. |
Array checked without any problems |
HOST CHAN X: TEST OK |
Host channel x is ok |
HOST CHAN X: TEST FAIL |
Error occurred while testing Host channel x |
Выбор платформы проектирования
По требованию заказчика данного ПО была выбрана платформа Windows.
Программа должна работать под основными версиями этой платформы: Windows98,Windows2000,WindowsXP. Причем серверная часть программы для версийWinNTдолжна работать как сервис (работать в фоновом режиме).
В дальнейшем (не в рамках текущего проекта) заказчик хотел бы модифицировать программу под Unix-системы, так как данные системы являются более надежными и их все больше используют для серверных компьютеров. Причем в первую очередь должен быть модифицирован модуль Агент, так как именно должен работать на сервере сRAID-массивом.
Код программы должен быть написан с учетом того чтобы было в последствии несложным его применить для написания такового же модуля для Unix-платформы.
В качестве среды для разработки была выбрана среда MSVisualC++ по нескольким причинам:
простота и надежность создания и отладки программы;
использование всех преимуществ операционных систем Windows’98 и Windows NT, включая 32-разрядность, многозадачность, удобный интерфейс и прочее;
наличие и доступность большого количества компонент, реализующих многие стандартные функции;
наличие мощных, удобных утилит для отладки и тестирования программного обеспечения;
наличие большой системы справочной информации, руководств разработчика, облегчающей создание программного обеспечения;
возможность адаптировать C-программный код для написания приложения подUnix-систему.
MicrosoftVisualC++ – сегодня является самой распространенной и наиболее емкой средой разработки. В наши дниVisualC++ лидирует среди продуктов для программирования в средеWindows.VisualC++ – это инструмент для программирования в средеWidnows, обладающий поистине фантастическими возможностями. Более того, многие разработчики считаютVisualC++ самой мощной из всех программ такого класса. На самом делеVisualC++ представляет собой целый набор из множества инструментов, собранных в одном динамическом пакете, готовом к немедленной работе. Сначала программы дляWindowsприходилось писать на языке С, а не на С++, и получались они большими и сложными. Даже вывод на экран пустого окна требовал примерно пяти страниц сложного невразумительного кода. Язык С++ позволяет хранить большую часть программного кода внутри самостоятельных объектов, а это сокращает объем больших программ. Помимо этого, фирмаMicrosoftразработала библиотекуMicrosoftFoundationClasses.MFC– замечательный пакет, состоящий из заранее написанного и готового к работе кода. Например, вместо того чтобы самостоятельно писать программу для работы с новым окном, можно просто воспользоваться классомcWndизMFC, который выполнит всю работу за вас [2]. Возможности, предоставляемые библиотекой классовMFCпозволяют конструировать элементы пользовательского интерфейса, легко работать со стандартными типами данных языка С, разрабатывать классы, производные от библиотечных с добавлением новых функциональных возможностей, разрабатывать собственные классы с последующим развитием их функциональности.