Санкт-Петербургский государственный политехнический университет
Факультет технической кибернетики
Кафедра
компьютерных систем и программных технологий
ДИПЛОМНЫЙ ПРОЕКТ
Тема: Разработка программного комплекса для анализа состояния
системы
хранения данных EMC Centera
Выполнил студент гр. 6081/1в
Буйнов К.С.
Руководитель, руководитель проектной группы
Чуб И.А.
Санкт-Петербург 2011
ЗАДАНИЕ
РЕФЕРАТ
С. 136. Рис. 25. Табл. 2
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА, EMC CENTERA, КЛИЕНТ-СЕРВЕРНОЕ ВЗАИМОДЕЙСТВИЕ, ПРОТОКОЛ ВЗАИМОДЕЙСТВИЯ, ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ, JAVA SWING, МЕТОДИКА ТЕСТИРОВАНИЯ
Разработан программный комплекс для анализа состояния системы хранения данных EMC Centera. Разработаны методики сбора информации о состоянии системы хранения данных EMC Centera. Спроектирован серверный компонент, исполняющийся на узле кластера EMC Centera, а также клиентский компонент, исполняющийся на рабочей станции пользователя. Разработан протокол взаимодействия компонентов, способный восстанавливаться после разрыва соединения между компонентами. Спроектирован и реализован графический интерфейс пользователя для программного комплекса. Созданы компонентные тесты для проверки корректности получаемых программным комплексом результатов. Создана методика и проведены испытания программного комплекса на соответствие требованиям.
программный серверный хранение данный
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1.ОБЗОР МЕТОДОВ АНАЛИЗА СОСТОЯНИЯ СХД CENTERA
1.1Структура и функционирование СХД Centera
1.2Способы получения информации о состоянии СХД Centera
1.3Cуществующие средства анализа состояния СХД Centera
1.4Оценка эффективности средств анализа состояния СХД Centera при разных видах сбоя системы
1.4.1Определение источников информации и методов её получения для средств анализа состояния СХД Centera
1.4.2Определение наиболее распространённых видов сбоя в СХД Centera
1.4.3Определение методов анализа состояния СХД Centera, применяемых при сбоях
1.5Постановка задачи дипломного проектирования
2.АНАЛИЗ ТРЕБОВАНИЙ И ОГРАНИЧЕНИЙ РЕАЛИЗАЦИИ ПРОГРАММНОГО КОМПЛЕКСА
2.1Выполняемые программным комплексом задачи по анализу состояния СХД Centera
2.2Взаимодействие клиентского и серверного компонентов программного комплекса
2.2.1Канал управления и передачи данных по протоколу SSH
2.2.2Ограничения на реализацию клиентского компонента
2.2.3Ограничения на реализацию серверного компонента
2.3Графический интерфейс пользователя
2.3.1Общий вид графического интерфейса
2.3.2Состав меню
2.3.3Требования к окнам графического интерфейса
3.РАЗРАБОТКА СЕРВЕРНОГО КОМПОНЕНТА ПРОГРАММНОГО КОМПЛЕКСА
3.1Разработка методик сбора и анализа информации о состоянии СХД Centera
3.1.1Разработка методики выборки заданных записей из журналов СХД Centera
3.1.2Разработка методики генерирования отладочных журналов бизнес-логики СХД Centera
3.1.3Разработка методики сбора сетевого трафика на СХД Centera
3.1.4Разработка методики поиска и создания локальных копий файлов журналов и конфигураций СХД Centera
3.1.5Разработка методики декодирования содержимого сетевого пакета типа SmartPacket
3.2Разработка протокола взаимодействия клиентского и серверного компонентов
3.3Разработка структуры серверного компонента
3.4Реализация серверного компонента
4.РАЗРАБОТКА КЛИЕНТСКОГО КОМПОНЕНТА ПРОГРАММНОГО КОМПЛЕКСА С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ
4.1Разработка структуры клиентского компонента
4.1.1Слой «Модель»
4.1.2Слой «Контроллер»
4.1.3Слой «Вид»
4.2Реализация слоя «Модель» клиентского компонента
4.3Реализация слоя «Контроллер» клиентского компонента
4.4Реализация слоя «Вид» клиентского компонента
5.ТЕСТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА
5.1Выбор методик тестирования
5.2Компонентное тестирование
5.3Системное тестирование
5.4Анализ результатов тестирования
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ
Приложение 1. Техническое задание
Приложение 2. Текст программы
Приложение 3. Описание программы
Приложение 4. Программа и методика испытаний
Приложение
5. Спецификация
ВВЕДЕНИЕ
Хранение информации - важная задача, которая стояла перед человечеством на протяжении всего его существования. В современном мире эту задачу решают разными способами, в том числе и техническими - с помощью систем хранения данных (СХД).
Системы хранения данных, как правило, предназначены для хранения больших объемов данных. Многие из них обеспечивают защищённость целостности данных в случае выхода из строя отдельных компонентов СХД за счёт избыточной формы записи информации. Однако даже при использовании таких форм записи было бы затруднительно достичь надежного хранения информации без достаточного анализа состояния самой СХД и окружения, в котором работает СХД.
Анализ состояния СХД и окружения проводится в двух плоскостях: программной и аппаратной. Программная составляющая показывает слаженность работы внутренних программных компонентов системы между собой, а также при взаимодействии с аппаратным обеспечением. Аппаратная составляющая предоставляет данные о работоспособности аппаратных компонентов системы, параметрах окружающей среды или наличии внешних воздействий на аппаратную часть СХД.
Наличие удобных средств для проведения подобного анализа необходимо для быстрого и качественного определения текущей работоспособности СХД в целом, прогнозирования возможных сбоев и их предотвращения; кроме того, такие средства необходимы для быстрой и точной диагностики возникшего в системе сбоя, а также для анализа состояния отдельных внутренних компонентов при восстановлении её работоспособности. В данной работе рассматриваются такие программные средства для сервисного обслуживания СХД Centera.
Любое воздействие обслуживающего персонала на СХД Centera, влекущее изменение её состояния, называется сервисным вмешательством, сервисной манипуляцией или более общим термином - сервисной операцией.
На настоящий момент уже создано множество программных и аппаратных средств, используемых обслуживающим персоналом, СХД Centera. Эти средства позволяют получить общую информацию о работоспособности СХД, параметрах её настройки, степени использования различных ресурсов СХД (таких, например, как загруженность сетевого канала, размер занятого пользовательской информацией и доступного для записи пространства, использование процессорного ресурса). Данные средства делятся по сфере их применения:
Воздействие на аппаратную часть системы
Изменение конфигурации функции системы, описанное в пользовательской документации
Изменение настройки внутреннего функционирования системы
и четырём типам уровня ответственности за выполняемую сервисную операцию:
Тип I - cтандартное изменение, документированное в пользовательской документации или руководстве для сервисных инженеров
Тип II - стандартное изменение, документированное программной документации для внутреннего использования
Тип III - нестандартное изменение, описанное в документации для внутреннего использования
Тип IV - нестандартное изменение, разработанное экспертной группой для конкретной конфигурации системы
Программные средства для осуществлений сервисных операций первых трёх уровней ответственности имеются в достаточном количестве. Сервисные операции четвертого уровня ответственности совершаются инженерами-разработчиками СХД Centera или под их непосредственным руководством. Сервисные операции данного типа требуются только в случаях, когда предполагается использовать СХД Centera в нестандартной конфигурации или же когда произошёл сбой в системе, который не был встречен ранее, не имеется чётких рекомендаций по его устранению и такие рекомендации не могут быть выработаны сервисным персоналом самостоятельно при имеющемся у него уровне квалификации. Как правило, рекомендации по проведению таких сервисных операций уникальны в каждом новом случае, равно как и методика анализа состояния системы; однако накопленный опыт работы над рекомендациями по таким сервисным операциям позволяет выделить общие методы анализа состояния СХД Centera.
Отсутствие такого опыта привело к отсутствию удобных программных средств, реализующих некоторые методы анализа состояния СХД Centera, используемые преимущественно инженерами-разработчиками; весь сбор данных осуществлялся встроенными средствами ОС (написанием коротких программ на языке оболочки ОС Linux), сбором статистических данных и информации о состоянии СХД Centera через её программный интерфейс, ручным созданием и исправлением текстовых конфигурационных файлов. Отсутствие удобных программных средств для анализа состояния системы увеличивает время работы над каждым таким случаем, что сказывается на снижении эффективности работы квалифицированных высокооплачиваемых сотрудников и на удовлетворённости пользователя СХД Centera, нуждающегося в скорейшем проведении такой сервисной операции.
К настоящему моменту накоплен необходимый опыт
работы с таким классом сервисных операций и назрела необходимость в создании
удобных программных средств анализа состояниия СХД Centera, общих для
большинства операций этого класса.
1. ОБЗОР МЕТОДОВ АНАЛИЗА СОСТОЯНИЯ СХД CENTERA
.1 Структура и функционирование СХД Centera
Для более подробного рассмотрения методов и программных средств анализа состояния СХД Centera следует представить необходимое описание аппаратной и программной структуры СХД Centera, а также методов взаимодействия клиентских программ с СХД. Получить более подробную информацию можно из [1].
Архитектура СХД Centera обеспечивает доступность всех функций системы при выходе из строя одного модуля системы - будь то диск, узел, сетевой интерфейс или блок электрического питания.
Общая архитектура
СХД Centera представляет собой кластер с высоким показателем доступности (среднеквартальное значение держится выше уровня 0.99999 на протяжении последних нескольких лет), построенный по технологии «избыточный массив независимых узлов» - Redundant Array of Independent Nodes (RAIN). Высокая доступность достигается за счёт реализации принципа горячего резервирования, то есть нагрузка распределяется между всеми узлами кластера. При выходе одного из узлов из строя нагрузка перераспределяется между остальными узлами.
Узлы кластера имеют схожую аппаратную организацию и программное обеспечение. Разница в аппаратном обеспечении обусловлена только разными поколения аппаратной платформы; в программном обеспечении разница может возникнуть только в момент обновления программного обеспечения, в остальное время программное обеспечение унифицировано между всеми узлами кластера.
Каждый узел кластера может предоставлять одну или несколько функций пользователю (в зависимости от его потребностей и необходимой конфигурации):
Доступ к данным - узел имеет сконфигурированный внешний сетевой интерфейс, через который пользователь может осуществлять работу с данными, хранимыми на СХД Centera
Репликация данных - узел имеет сконфигурированный внешний сетевой интерфейс, посредством которого осуществляется резервное копирование на или восстановление данных с удалённой СХД Centera
Администрирование СХД - узел имеет сконфигурированный внешний сетевой интерфейс, через который пользователь может осуществлять задачи администрирования СХД Centera
Хранение данных - узел имеет сконфигурированное дисковое пространство и службы, обеспечивающие запись, хранение, поиск и чтение данных пользователя.
Аппаратное обеспечение
Аппаратная структура СХД Centera представляет собой кластер, узлы которого подсоединены к общей внутренней высокоскоростной вычислительной сети кластера. Внутренняя сеть кластера недоступна пользователю и служит лишь для обеспечения внутренних задач СХД Centera.
Каждый узел кластера имеет внешний сетевой интерфейс, который может быть соединён с пользовательской вычислительной сетью. Внешний интерфейс предназначен для взаимодействия узлов кластера с пользователем и внешними службами.
Все узлы кластера имеют накопители на жёстких магнитных дисках, которые совместно используются для хранения пользовательских данных; а также программного обеспечения СХД Centera, его настроек и служебной информации, связанной с хранением пользовательских данных.
Программное обеспечение
Программное обеспечение СХД Centera состоит из пяти компонентов, которые объединены в две группы: выполняющиеся непосредственно на узлах кластера и выполняющиеся на сетевых узлах пользователя.
Кластерное программное обеспечение состоит из трёх компонентов:
Операционная система EMC Centera Linux - ОС из семейства Linux, сконфигурированная для оптимизации работы служб, предоставляющих сервисы СХД Centera.
Программная платформа - набор служб и вспомогательного ПО, обеспечивающих необходимую программную среду для работы основного ПО (бизнес-логики), реализующего функционал СХД Centera
Бизнес-логика - программное обеспечение, предоставляющее программный интерфейс для пользователя СХД Centera, и осуществляющее операции по записи, хранению и чтению пользовательских данных.
Клиентское программное обеспечение СХД Centera состоит из двух компонентов:
Библиотека SDK - программный модуль, предназначенный для компоновки с пользовательским ПО и являющийся промежуточным звеном в цепочке взаимодействия между пользовательским ПО и бизнес-логикой СХД Centera. Используется исключительно для осуществления операций, связанных с записью, поиском и чтением данных; не предоставляет возможностей по администрированию СХД Centera. Библиотека предоставляет программный интерфейс на многих языках программирования и существует в версиях для различных ОС.
Программа Centera Viewer - программное средство администрирования СХД Centera, не предоставляющее возможностей для работы непосредственно с сохранёнными на СХД Centera пользовательскими данными.
Интерфейсы
Интерфейсы пользователю предоставляются обеими частями программного обеспечения СХД Centera: и кластерной (серверной) [2], и клиентской.
Серверная часть СХД Centera предоставляет только программные интерфейсы и предполагает их использование только проприетарным ПО:
Интерфейс SmartPacket - предназначен для взаимодействия бизнес-логики СХД и библиотеки SDK по проприетарному протоколу; этот интерфейс может быть использован только опосредованно через библиотеку SDK.
Интерфейс Management API - предназначен для взаимодействия бизнес-логики СХД и ПО администратора, которое осуществляется по проприетарному протоколу; интерфейс может быть использован опосредованно через Centera Viewer.
Интерфейс Secure Shell (SSH) - предназначен для взаимодействия ПО администратора с программной платформой СХД; интерфейс может быть использован опосредованно через Centera Viewer или клиентскую SSH-программу, когда производится сервисная операция. Во время администрирования СХД пользователем данный интерфейс недоступен.
Клиентское ПО СХД Centera предоставляет слудующие интерфейсы:
Программный интерфес SDK API - предоставляется библиотекой SDK и является набором классов (функций) для манипуляций с данными, сохраняемыми или хранимыми на СХД Centera