
- •128 М осковский Государственный Институт Электронной Техники (Технический Университет)
- •«Разработка программного модуля для удаленного администрирования и мониторинга raid-системы»
- •Содержание
- •Введение
- •Раздел 2 является технологическим разделом и содержит информацию о методике создания данного программного продукта и приемах его отладки.
- •Раздел 3 содержит организационно-экономическую часть дипломного проекта, в которой проводится расчет стоимости проекта и планирование разработки;
- •Раздел 4 посвящен вопросу организации рабочего места программиста и пользователя пк.
- •Специальный раздел
- •Исследовательская часть
- •Постановка задачи
- •Обзор программных продуктов для управленияRaid-системой
- •Gam(GlobalArrayManager)
- •Информационные потребности пользователя
- •Конструкторская часть
- •Требования к системе
- •Состав выполняемых функций
- •Требования к надежности
- •Условия эксплуатации и требования к составу и параметрам технических средств
- •Требования к информационной и программной совместимости
- •Требования к транспортировке и хранению
- •Специальные требования
- •Структурная схема работы программы
- •Структура входных и выходных данных
- •Общие схемы алгоритмов работы программы
- •Общая схема алгоритма работы модуля Менеджер
- •Схемы алгоритмов модуля Агент
- •Поиск подключенных raid-контроллеров
- •Мониторинг raid-массива
- •Формат данных модуля Агент
- •Формат ответов контроллера acs-9900
- •Выбор платформы проектирования
- •Реализация программного модуля Агент
- •Реализация модуля для поиска подключенных raid-контроллеров
- •Реализация сервера Агент
- •Общий вид модуля Менеджер
- •Установка программного обеспечения
- •Конфигурация технических средств
- •Минимальные технические характеристики по
- •Рекомендуемые технические характеристики по
- •Методика и результаты испытаний программы
- •Общие приемы тестирования
- •Тестирование работоспособности raid-контроллера
- •Технологический раздел
- •Объектно-ориентированное программирование
- •Объектно-ориентированное проектирование
- •Этапы разработки программного обеспечения
- •Постановка задачи
- •Составление проекта
- •Алгоритмизация
- •Программирование
- •Препарация
- •Трансляция
- •Отладка
- •Оформление программы
- •Отчет о работе
- •Модернизация
- •Методика испытаний программы и результаты экспериментальной проверки
- •Отладка и общие принципы тестирования
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •Особенности среды программирования
- •Тестирование программы и его результаты
- •Организационно-экономический раздел
- •Планирование разработки
- •Сетевое планирование
- •Создание структурной таблицы работ
- •Структурная таблица работ
- •Проанализированная структурная таблица работ
- •Упорядоченная структурная таблица работ
- •Сетевой график
- •Расчет затрат на создание программного продукта
- •Метод для расчета затрат на создание пп
- •Расчет затрат на разработку пп
- •Результаты расчета коэффициентов изменения трудоемкости
- •72 408 Рублей,
- •Расчет затрат на изготовление опытного образца пп
- •4 972 Рубля,
- •Затраты на технологию и программные средства автоматизации разработки пп
- •Затраты на эвм, используемые для автоматизации разработки пп
- •Итоговые суммарные затраты на разработку по
- •Итоговые суммарные затраты на разработку по
- •Раздел по производственной и экологической безопасности
- •Вредные и потенциальноопасные факторы на месте разработчика по
- •Нерациональное освещение
- •Расчет общего освещения
- •Электробезопасность
- •Требования по пожарной безопасности
- •Уровень шума
- •Защита от вредных излучений
- •Микроклимат в компьютерном зале
- •Параметры воздушной среды
- •Психофизиологические факторы
- •Заключение
- •Список литературы
- •Приложения Приложение 1. Текст программного кода
- •Приложение 2. Спецификация контроллераAsc-9900
- •Приложение 3. Руководство пользователя
- •Встроенная система помощи
- •Приложение4. Интерфейсные окна программы
Приложение 2. Спецификация контроллераAsc-9900
1. The Accusys GUI Command Descriptor (From RS-232)
|
Check Code |
Length |
Data (Code & Argument) |
Checksum | |||||||||
Byte |
0x59 |
0x01 |
0x27 |
|
|
|
|
|
|
|
|
........ |
|
0.0.1 Length is 2 bytes.
0.0.2 Data depends on Length value. If Length = 0x000f, then Data must be 15 Bytes.
0.0.3 Checksum is the value of Length + Data, is 1 Byte.
Received Command Status Response Code
|
Check Code |
Length |
Array Status |
Checksum |
Description | ||
Byte |
0x59 |
0x01 |
0x27 |
0001 |
0x50 or 0x01 0x33 or 0x84 0x22 |
0x51 or 0x02 0x34 or 0x85 |
0x50 Command Succeed 0x01 Command Failed 0x33 Checksum Error 0x84 Command Timeout 0x22 Password needed |
Supported ACS command:
0.1
Command |
Length |
Code |
Argument |
Description |
Get page |
0002 |
0x01 |
Page No. |
Get the RAID information page
|
(Ex .. 590127 .0002 .01 .01 .04)
Response Data : 0x59, 0x01, 0x27, Page Data.........
1.0
Command |
Length |
Code |
Argument |
Description |
Edit RAIDi |
0002 |
0x10 |
1,2,3,4 No ------else code |
Edit RAID1~4, If Argument code is No, This Command is Aborted |
1.1
Command |
Length |
Code |
Argument |
Description |
Set RAIDi Level |
0002 |
0x11 |
i0,i1,i3,i5,i6,None |
Set RAIDi Level---i=1or2or3or4 0—0xi0, 1—0xi1, 3—0xi3, 5—0xi5, 0+1—0xi6, None--else |
1.2
Command |
Length |
Code |
Argument |
Description |
Select RAIDi Disk Member |
???? |
0x12 |
0i,xx,xx,xx,..... |
Select RAIDi Disk Member (i=1or2or3or4) if xx=01 Disk01 is selected, xx=03 Disk03 is selected..... |
(Ex. If RAID2 choose disk member 1,3,4,5 then the code is
590127.0006.12.02.01.03.04.05.27 )
1.3
Command |
Length |
Code |
Argument |
Description | |
Set Slice |
???? |
0x13 |
Slice i0~i7 |
Size>1MB |
Set RAIDi Slice(i=1or2or3or4) Length depends on Size value |
(Ex. 590127.0004.13.00.1fff.35 Slice0 , Size=0x1fff=8191MB)
1.4
Command |
Length |
Code |
Argument |
Description |
Set Stripe Size |
0002 |
0x14 |
Stripe Size |
Size=128,64,32,16,8 |
1.5
Command |
Length |
Code |
Argument |
Description |
Set Write Buffer |
0002 |
0x15 |
Enable=0x01, Disable=0x02 |
|
1.6.1 (for 8600)
Command |
Length |
Code |
Argument |
Description |
Set DMA Mode |
0002 |
0x16 |
0,1,2 |
DMA Mode 0=0x00,1=0x01,2=0x02 |
1.6.2 (for 9900)
Command |
Length |
Code |
Argument |
Description |
Set Disk Chan Speed |
0002 |
0x16 |
i0,i1,i2 |
i = disk chan 1,2,3 0 = fast, 1 = Ultra, 2 = Ultra2 |
1.7(for 8600)
Command |
Length |
Code |
Argument |
Description |
Set LBA Mode |
0002 |
0x17 |
Enable=0x01, Disable=0x02 |
|
1.8.1 (for 8600)
Command |
Length |
Code |
Argument |
Description |
Disk Ultra DMA |
0002 |
0x18 |
Enable=0x01, Disable=0x02 |
|
1.8.2 (for 9900)
Command |
Length |
Code |
Argument |
Description |
Disk Chan Wide Mode |
0002 |
0x18 |
Enable=0xi1, Disable=0xi2 |
i = disk chan 1,2,3 |
1.9 (for 9900)
Command |
Length |
Code |
Argument |
Description |
SCSI Disk Chan Start Cmd |
0002 |
0x19 |
Enable=0xi1, Disable=0xi2 |
i = disk chan 1,2,3 |
1.A
Command |
Length |
Code |
Argument |
Description |
Quick Setup RAID |
0003 |
0x1a |
RAID level = xx Disk Number = xx |
RAID Level = 0,1,3,5,6(0+1) Disk Number = 1,2,3,.....ff |
1.B
Command |
Length |
Code |
Argument |
Description |
Erase RAIDi |
0002 |
0x1b |
1,2,3,4 No ------else code |
Erase RAID1~4, If Argument code is No, This Command is Aborted |
2.1
Command |
Length |
Code |
Argument |
Description |
Set Host Chan SCSI ID |
0003 |
0x21 |
0x0i 0x01,02,..,0f |
i = Host chan 1,2 01,02,...,0f SCSI ID |
2.2
Command |
Length |
Code |
Argument |
Description |
Host Chan Terminator |
0002 |
0x22 |
Enable=0xi1, Disable=0xi2 |
i = Host chan 1,2
|
2.3
Command |
Length |
Code |
Argument |
Description |
Host Chan Tag Queue |
0002 |
0x23 |
Enable=0xi1, Disable=0xi2 |
i = Host chan 1,2
|
2.4
Command |
Length |
Code |
Argument |
Description |
Host Chan Speed |
0002 |
0x24 |
i0,i1,i2 |
i = Host chan 1,2 0 = fast, 1 = Ultra, 2 = Ultra2 |
2.5
Command |
Length |
Code |
Argument |
Description |
Host Chan Wide Mode |
0002 |
0x25 |
Enable=0xi1, Disable=0xi2 |
i = Host chan 1,2
|
2.6
Command |
Length |
Code |
Argument |
Description |
Lun Map |
0003 |
0x26 |
Luni0=j0,j1,...,j7 Luni1=j0,j1,...,j7 ... Luni7=j0,j1,...,j7 |
Lun MapHost(i=1or2), Array(j=1or2or3or4) Luni0 map to Arrayj,Slice0,1,...,7 Luni1 map to Arrayj,Slice0,1,...,7 ... Luni7 map to Arrayj,Slice0,1,...,7 |
(Ex....590127.0003.26.00.01.2A Lun0 Map to Slice 1)
3.1
Command |
Length |
Code |
Argument |
Description |
Modem Baud Rate |
0005 |
0x31 |
0,1,2,3,4,5,6 (Byte 6) |
0=2400,1=4800,2=9600,3=19200 4=38400,5=57600,6=115200 |
Modem Stop Bit |
|
|
1,2(Byte 7) |
1Stop bit=1, 2Stop Bit=2 |
Modem Data Bit |
|
|
7,8(Byte 8) |
7Data Bit=7, 8Data Bit=8 |
Modem Parity |
|
|
0,1,2(Byte 9) |
0=None, 1=ODD, 2=EVEN |
3.5
Command |
Length |
Code |
Argument |
Description |
Terminal Baud Rate |
0005 |
0x35 |
0,1,2,3,4,5,6 (Byte 6) |
0=2400,1=4800,2=9600,3=19200 4=38400,5=57600,6=115200 |
Terminal Stop Bit |
|
|
1,2(Byte 7) |
1Stop bit=1, 2Stop Bit=2 |
Terminal Data Bit |
|
|
7,8(Byte 8) |
7Data Bit=7, 8Data Bit=8 |
Terminal Parity |
|
|
0,1,2(Byte 9) |
0=None, 1=ODD, 2=EVEN |
5.1
Command |
Length |
Code |
Argument |
Description |
Update NVRAM |
0002 |
0x51 |
Yes=0x01 No=else |
Update NVRAM, If Argument code is No, This Command is Aborted |
5.2
Command |
Length |
Code |
Argument |
Description |
Erase NVRAM |
0002 |
0x52 |
Yes=0x01 No=else |
Erase NVRAM, If Argument code is No, This Command is Aborted |
5.3
Command |
Length |
Code |
Argument |
Description |
Restart |
0002 |
0x53 |
Yes=0x01 No=else |
Restart, If Argument code is No, This Command is Aborted |
6.1(Not Support)
Command |
Length |
Code |
Argument |
Description |
Format Disk |
0002 |
0x61 |
1,2,3,4,5,6 |
|
6.2
Command |
Length |
Code |
Argument |
Description |
Reinit Arrayi |
0002 |
0x62 |
Start=0xi1, Stop=0xi2 |
Reinit Array i=1or2or3or4 |
6.3
Command |
Length |
Code |
Argument |
Description |
Arrayi Check |
0002 |
0x63 |
Start=0xi1, Stop=0xi2 |
Check Array i=1or2or3or4 |
6.4
Command |
Length |
Code |
Argument |
Description |
Beeper |
0002 |
0x64 |
Enable=0x01 Disable=0x02 |
|
6.5
Command |
Length |
Code |
Argument |
Description |
Stop Modem |
0002 |
0x65 |
Yes=0x01, No=0x02 |
|
6.6
Command |
Length |
Code |
Argument |
Description |
Add Disk |
0002 |
0x66 |
1,2,3,..... |
|
6.7
Command |
Length |
Code |
Argument |
Description |
Remove Disk |
0002 |
0x67 |
1,2,3,..... |
|
6.8(Not Support)
Command |
Length |
Code |
Argument |
Description |
Update ROM |
0002 |
0x68 |
Yes=0x01, No=else |
|
6.9
Command |
Length |
Code |
Argument |
Description |
Expand Arrayi |
0002 |
0x69 |
Start=0x0i, |
Expand Array i=1or2or3or4 |
7.1
Command |
Length |
Code |
Argument |
Description |
Paging |
0002 |
0x71 |
Enable=0x01, Disable=0x02 |
|
7.2
Command |
Length |
Code |
Argument |
Description |
Page 1 NO. |
0011 |
0x72 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
7.3
Command |
Length |
Code |
Argument |
Description |
Page 2 NO. |
0011 |
0x73 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
7.4
Command |
Length |
Code |
Argument |
Description |
Page Code |
0011 |
0x74 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
7.5
Command |
Length |
Code |
Argument |
Description |
Repeat Page |
0002 |
0x75 |
5,10,15,20 |
|
7.6
Command |
Length |
Code |
Argument |
Description |
Interval Page |
0002 |
0x76 |
5,10,15,20 |
|
7.7
Command |
Length |
Code |
Argument |
Description |
Page Now |
0002 |
0x77 |
Yes = 0x01 No = else |
|
8.1
Command |
Length |
Code |
Argument |
Description |
Faxing |
0002 |
0x81 |
Enable=0x01, Disable=0x02 |
|
8.2
Command |
Length |
Code |
Argument |
Description |
Fax 1 NO. |
0011 |
0x82 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
8.3
Command |
Length |
Code |
Argument |
Description |
Fax 2 NO. |
0011 |
0x83 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
8.4
Command |
Length |
Code |
Argument |
Description |
Fax Code |
0011 |
0x84 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
8.5
Command |
Length |
Code |
Argument |
Description |
Repeat Fax |
0002 |
0x85 |
5,10,15,20 |
|
8.6
Command |
Length |
Code |
Argument |
Description |
Interval Fax |
0002 |
0x86 |
5,10,15,20 |
|
8.7
Command |
Length |
Code |
Argument |
Description |
Fax Now |
0002 |
0x87 |
Yes = 0x01 No = else |
|
9.1
Command |
Length |
Code |
Argument |
Description |
Company String1 |
0011 |
0x91 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
9.2
Command |
Length |
Code |
Argument |
Description |
Company String2 |
0011 |
0x92 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |
9.3
Command |
Length |
Code |
Argument |
Description |
Modem Init String |
0011 |
0x93 |
xxxxxxxxxxxxxxxx |
The Argument Has 16 Bytes |