Содержание к диссертации
Введение
1. Аналитический обзор систем резервирования данных АСУП 18
1.1. Вычислительная система 18
1.2. Належності, вычислительных систем 19
1.3. Основные термины теории надежности, используемые в работе 19
1.4. Классификация технологий резервирования 22
1.5. Выигрыш в надежности за счет резервирования данных вычислительных систем АСУП 25
1.6. Применение незадействованных ресурсов ЛВС предприятия 27
1.7. Обзор применяемых в работе методов и технологий 31
1.8. Обзор распределённых систем хранения данных 35
1.9. Выводы 37
2. Методика построения отказоустойчивой системы хранения данных 39
2.1. Обобщённая методика построения системы, основные понятия и параметры 39
2.2. Описание мультиагентпой системы 42
2.3. Представление данных и алгоритмы 55
2.4. Описание математического аппарата 62
2.5. Распараллеливание вычислительного процесса 63
2.6. Выбор рабочих станций для размещения агентов 64
2.7. Оценка надежности и производительности системы .-... 66
2.8. Выводы 70
3. Реализация многоагентной системы 72
3.1. Приемы разработки программного обеспечения 72
3.2. Математический аппарат 72
3.3. Разработка программных агентов 76
3.3.1. Проектирование и разработка агента-координатора 77
3.3.1.1. Проектирование и разработка интерфейса агента-координатора 77
3.3.1.2. Описание и модель среды 78
3.3.1.3. Процесс распределения объекта 83
3.3.1.4. Процесс сборки объекта 84
3.3.1.5. Реализация агента-координатора 85
3.3.2. Разработка агента-заказчика 89
3.3.2.1. Проектирование и разработка интерфейса агента-заказчика 89
3.3.2.2. Реализация агента-заказчика 90
3.3.3. Разработка агента-субординатора 91
3.3.3.1. Проектирование и разработка интерфейса агента-субординатора 91
3.3.3.2. Реализация агента-субординатора 92
3.3.4. Разработка агента-дисперсера 93
3.3.4.1. Проектирование и разработка интерфейса агента-дисперсера 93
3.3.4.2. Реализация агента-дисперсера 94
3.3.5. Проектирование и разработка агента-хранителя 95
3.3.5.1. Разработка интерфейса агента-хранителя 95
3.3.5.2. Реализация агента-хранителя 96
3.4. Разработка пользовательских приложений 97
3.4.1. Взаимодействие с интерфейсом пользователя 98
3.4.2. Разработка приложения-агента 99
3.4.3. Разработка приложения-эксперта
3.5. Обеспечение безопасности от несанкционированного доступа к данным 100
3.6. Выводы 101
4. Практические результаты работы 104
4.1. Описание приложений 104
4.2. Результаты практических испытаний 110
4.3. Опробирование системы на базе отдела банковских карт Вологодского отделения №8638 Сбербанка России 111
4.4. Внедрение системы в ООО «Вологодская нефтебаза СЕНАКО» 115
4.5. Внедрение системы в ООО «Север-Инфо» 121
4.6. Оценка экономического эффекта от внедрения системы 124
4.7. Выводы 125
Заключение 127
Список литературы
- Основные термины теории надежности, используемые в работе
- Описание мультиагентпой системы
- Проектирование и разработка интерфейса агента-координатора
- Опробирование системы на базе отдела банковских карт Вологодского отделения №8638 Сбербанка России
Введение к работе
Актуальность темы. Современные автоматизированные системы управления производством (далее по тексту АСУП) представляют собой сложнейшие системы, включающие технические средства, алгоритмы управления, методы и средства информационного и программного обеспечения. Но наиболее значимой частью АСУП являются данные. По результатам исследований информационно-аналитического агентства Gartner среди компаний, пострадавших от катастроф и переживших крупную необратимую потерю корпоративных данных, 43% не смогли продолжить свою деятельность. Надежность АСУП во многом определяется возможностью сохранения и восстановления данных, что в свою очередь сказывается на правильном функционировании и безопасности производства.
Обзор литературных источников и ознакомление с реальными системами управления показал, что повышение производительности аппаратных составляющих информационных систем поднимает вопросы рационального использования вычислительных ресурсов предприятия. Частично данный вопрос решается перераспределением ресурсов, масштабированием серверов предприятия, внедрением технологий виртуализации и терминального доступа. В пользовательских системах широкое распространение получают GRID-технологии, позволяющие извлекать пользу при простое рабочих станций, вовлекая их в распределённый вычислительный процесс. На предприятиях данные вычислительные ресурсы можно задействовать в нуждах производственных процессов, для чего необходим соответствующий инструментарий.
Разработками в данном направлении занимались Ади Шамир (криптография, схема разделения секрета), Майкл Рабин (разработал алгоритм распределения информации), А.Г. Тормасов (предложил модель файловой системы на основе алгоритма Рабина), А.В. Тетюшев (предложил применение (n,m)-пороговой схемы для хранения данных автоматной системы резервирования).
В данной работе предлагается задействовать ресурсы рабочих станций предприятия в процессе резервирования данных. Поскольку показатель надёжности одной рабочей станции невысок, необходимо предусмотреть разработку программного обеспечения, повышающего данный показатель путём введения избыточности данных. Анализ существующих систем распределённого хранения данных показал отсутствие на рынке программного обеспечения продукта, отвечающего предъявленным требованиям.
Необходимость разработки практических решений для систем отказоустойчивого резервирования данных АСУП и увеличения показателя загруженности аппаратного обеспечения предприятий определила выбор темы, цель и задачи и структуру диссертации.
Целью диссертационного исследования является повышение эффективности использования вычислительных ресурсов производственного предприятия путем построения распределённого хранилища данных, позволяющего вовлечь в автоматизированную систему управления предприятием незадействованные ресурсы.
Для достижения поставленной цели сформулированы и решены следующие задачи:
Проанализировать методы повышения надежности АСУП за счет резервирования данных.
На основе полученных аналитических данных разработать методику построения многоуровневой многоагентнои распределённой системы резервирования данных АСУП.
Разработать алгоритм распределения информации по узлам, осуществляющим вычисление распределяемых фрагментов и алгоритм сборки исходного объекта из фрагментов, поддерживающие параллельную обработку информации на нескольких узлах системы.
Для повышения структурной надёжности и модифицировать алгоритм распределения информации на базе математического аппарата над матрицами, содержащими массивы элементов-членов полей Галуа.
Провести практическое внедрение системы хранения данных в виде программного обеспечения на предприятиях г. Вологды. Представить аналитическое и экспериментальное исследование эффективности и надежности внедренной системы резервирования.
Методы исследования. При выполнении работы использованы методы теории конечных полей, теории матриц, теории конечных автоматов, теории надежности, многоагентных систем. Были использованы технологии языка программирования Java, технология RMI (Remote Methods Invocation), XML (Extensible Markup Language).
Объектом исследования является практическая реализация многоуровневой распределённой кроссплатформенной многоагентнои отказоустойчивой системы хранения данных автоматизированного процесса или системы управления предприятием.
Научная новизна работы заключается в следующем:
Разработана методика проектирования, реализации и внедрения системы распределённого хранения данных на основе многоагентнои отказоустойчивой модели системы хранения данных, что позволяет добиться масштабируемости и надёжности функционирования системы.
Модифицирован математический аппарат над матрицами, содержащими массивы элементов-членов полей Галуа, размерностью 256. Доработан алгоритм (п,т)-пороговой схемы распределения данных с учётом использования данного математического аппарата, позволяющий построить сетевое отказоустойчивое хранилище данных с заданной избыточностью.
Разработаны алгоритмы параллельной обработки информации на нескольких узлах системы, алгоритмы разбиения исходных объектов на фрагменты и их сборки.
Разработана архитектура распределённой многоагентнои системы резервирования данных.
Область исследования. Работа выполнена в соответствии с паспортом
специальности ВАК РФ 05.13.06 - Автоматизация и управление технологическими процессами и производствами (промышленность), пункты 9 и 12.
Практическая значимость работы состоит в создании алгоритмических и программных средств системы хранения данных, обеспечивающих гарантийное восстановление данных АСУП в случае доступности определенного количества сетевых носителей.
Особенность работы заключается в использовании существующей сетевой инфраструктуры АСУП и существующей структурной избыточности информационной системы предприятия, что позволяет не только сократить затраты на приобретение дополнительного оборудования, но и модернизировать систему совместно с остальным оборудованием. Ценность разрабатываемой системы определяется тем, что она позволяет без дополнительных затрат организовать надежное хранилище данных АСУП, предоставляя системному администратору возможность повышения надежности АСУП и задействуя неиспользуемые ресурсы ЛВС. Реализация двухуровневой многоагентной системы резервирования позволят рассчитывать классическими методами надежность системы хранения данных АСУП.
Особенности практической реализации системы заключаются в её открытости и кроссплатформенности.
Использование результатов работы. Результаты диссертационной работы в виде программы резервирования данных АСУП и методических указаниях по её применению приняты к внедрению на вологодских предприятиях: Вологодское отделение №8638 Сбербанка России, ООО «Вологодская нефтебаза СЕ-НАКО» и ООО «СеверИнфо», - и подтверждены актами. Основным результатом внедрения системы резервирование можно считать значительную экономию средств при достаточной надежности. Так, использование системы на предприятии ООО «Вологодская нефтебаза СЕНАКО» позволило добиться высокого коэффициента доступности в «серверном сегменте» при расчетном коэффициенте готовности 0,992, что соизмеримо с надежностью кластеров высокой доступности.
Апробация полученных результатов. Основные положения, материалы и результаты работы были опубликованы в научно-технических журналах «Системы управления и информационные технологии» (Воронеж 2009), «Информационные технологии моделирования и управления» (Воронеж 2009), «Казанская наука» (Казань, 2010) Результаты исследований представлялись и были одобрены на 4-ой и 5-ой международной научно-технической конференции «Автоматизация и энергосбережение машиностроительного и металлургического производства, технология и надежность машин, приборов и оборудования» (Вологда 2006, 2007), международной конференции «Информационные технологии в образовании, технике и медицине» (Волгоград 2004), 4-ой международной конференции «Информатизация процессов ИНФОС-2009» (Вологда 2009), всероссийской научной конференции студентов и аспирантов «Молодые исследователи - регионам» (Вологда, 2008), 5-ой научно-технической конференции
аспирантов и молодых ученых «Вооружение. Технология. Безопасность. Управление» (Ковров, 2009).
Материалы работы использованы в Федеральной целевой программе «Научные и научно-педагогические кадры инновационной России» на 2009 - 2013 годы: «Разработка методов формализации и верификации распределённых информационно-поисковых систем на основе сервис-ориентированной архитектуры»
Положения, выносимые на защиту:
Методика построения системы на основе многоагентного подхода к разработке распределённого хранилища данных АСУП. Теоретико-множественная модель системы.
Модернизация алгоритма (n,m) - пороговой схемы распределения и сборки информации на основе математического аппарата над матрицами массивов членов полей Галуа в плане использования в качестве элементов матриц массивов членов полей Галуа.
Методика перехода от теоретико-множественного описания многоагент-ной системы к её реализации на языке программирования высокого уровня.
Алгоритмы параллельной сборки и распределения фрагментов объектов на нескольких узлах системы.
Публикации. По материалам диссертационной работы и результатам исследования опубликовано 10 печатных работ, в том числе 1 статья в журнале, рекомендованного ВАК; 9 публикаций в сборниках материалов конференций международного и российского уровня, в том числе 6 без соавторов.
Структура и объем работы. Диссертация состоит из введения, четырёх глав, заключения, библиографического списка и трех приложений. Текст изложен на 154 страницах, содержит 79 рисунков и 10 таблиц. Библиографический список включает 73 наименования.
Основные термины теории надежности, используемые в работе
Типовая схема АСУП Данная типовая схема АСУП соответствует схемам АСУП, рассмотренным А.Г. Мамиконовым [39] и А.В. Шером [38]. В данной схеме можно выделить составную часть АСУП, ответственную за сбор и хранение информации. В данном случае она носит название «Информационная база». Именно эти данные необходимо подвергать резервированию, поскольку если программное обеспечение можно подвергнуть переустановке без каких-либо серьезных последствий (кроме простоя оборудования, которое влечет упущенную прибыль), то потеря информационной базы может привести предприятие к невосполнимым потерям ввиду неоспоримой важности архива бухгалтерии, отчетности, и прочих учетных документов.
Для реализации отказоустойчивого хранения предлагается реализовать алгоритм, предложенный Майклом Рабином в 1989 г. [14] и ранее использованный в моделях, предложенных А.В. Тетюшевым [13], А.Г. Тормасовым [15]. Он основывается на арифметике полей Галуа - полей, состоящих из конечного числа элементов. Вообще, Поле - это множество элементов, на котором определены операции сложения и умножения, обладающие свойствами коммуникативности, ассоциативности и дистрибутивности, при этом относительно этих двух операций существуют нейтральные элементы и существует обратный элемент относительно операции сложения, существует обратный элемент относительно операции умножения.
В описании алгоритма распределения информации присутствует такой термин, как матрица Вандермонда. Матрицей Вандермонда Vm называется квадратная m х m матрица следующего вида: где Kl,X2,...,X.m- элементы произвольного поля. Для обеспечения кроссплатформенности проект реализуется на платформе Java. Это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.
Использование языка Java позволяет воспользоваться механизмом RMI для создания распределённых систем. RMI (англ. Remote Method Invocation) — программный интерфейс вызова удаленных методов в языке Java. В терминах RMI объект, который вызывает удаленный метод, называется клиентским объектом, а удаленный объект— серверным объектом. Компьютеры выступают в роли клиента и сервера только для конкретного вызова. Вполне возможно, что при выполнении следующей операции эти компьютеры поменяются ролями, то есть сервер предыдущего вызова может сам стать клиентом при обращении к объекту на другом компьютере. При вызове метода удаленного объекта на самом деле вызывается обычный метод языка Java, инкапсулированный в специальном объекте-заглушке (stub), который является представителем серверного объекта. Заглушка находится на клиентском компьютере, а не на сервере. Она упаковывает параметры удаленного метода в блок байтов. Каждый параметр кодируется с помощью алгоритма, обеспечивающего независимость от аппаратуры. Например, числа всегда передаются в порядке, при котором сначала передается старший байт (big-endian). При этом объекты подвергаются сериализации. Процесс кодирования параметров называется развертыванием параметров (parameter marshaling). Основная цель развертывания параметров— преобразование их в формат, пригодный для передачи параметров от одной виртуальной машины к другой.
Для хранения описания структуры сети и расположения агентов на узлах применяется язык XML. (англ. extensible Markup Language —- расширяемый язык разметки; произносится) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями.
Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Словари, основанные на XML (например, RDF, RSS, MathML, XHTML, SVG), сами по себе формально описаны, что позволяет программно изменять и проверять документы на основе этих словарей, не зная их семантики (смыслового значения элементов). Важной особенностью XML также является применение так называемых пространств имён (англ. namespace).
Для обеспечения масштабируемости системы и её доступного абстрактного описания был применён многоагентный подход. Многоагентная система (MAC, англ. Multi-agent system) — это система, образованная несколькими взаимодействующими агентами. Многоагентные системы могут быть использованы для решения таких проблем, которые сложно или невозможно решить с помощью одного агента или монолитной системы. Многоагентные системы применяются в нашей жизни в графических приложениях, например, в компьютерных играх. Теория MAC используется в составных системах обороны. Также MAC применяются в транспорте, логистике, графике, геоинформационных системах и многих других. Многоагентные системы хорошо зарекомендовали себя в сфере сетевых и мобильных технологий для обеспечения автоматического и динамического баланса нагруженности, расширяемости и способности к самовосстановлению. Многоагентные системы классифицируются по нескольким критериям. К примеру, возможно классифицировать их по среде (Таблица 1.2), в которой функционируют агенты [17]:
Описание мультиагентпой системы
Для реализации отказоустойчивого распределённого хранилища данных предлагается воспользоваться арифметикой полей Галуа [п. 1.7] и модифицированной методикой, предложенной Майклом Рабином [14].
В предыдущей главе была поставлена задача реализации кроссплатформенной системы. С учётом того, что система будет реализована на языке программирования высокого уровня, ограничимся выбором размера поля Галуа степенью 8. Это поле элементов от 0 до 255. Для хранения одного элемента поля Галуа GF(8) достаточно одного байта. Но, поскольку при работе с большими объектами побайтное считывание неэффективно, необходимо реализовать возможность совершать операции с байтовыми массивами -массивами элементов поля Галуа. Поскольку массив, состоящий из элементов поля Галуа, по сути, является байтовым массивом, такой подход обеспечивает нам возможность реализации эффективного механизма ввода-вывода данных. В дальнейшем предлагается называть такие массивы кадрами. Размер кадра может быть настраиваемой величиной. Обозначим его, как переменную bufSize.
Операции с кадрами тождественны поэлементному применению операций, допустимых в поле Галуа к каждому элементу массива и обладают следующими свойствами [6-7]: Операции обладают свойствами коммутативности и дистрибутивности. Операции сложения и вычитания тождественны и представляют собой побитное сложение по модулю 2. Операция умножения представляет собой умножение по модулю двух соответствующих элементам Галуа полиномов с приведением результата по модулю порождающего полинома.
Операция деления представляет собой умножения первого множителя на элемент, обратный второму множителю. Для реализации матричных операций с кадрами необходимо создать логическую структуру - матрицу. Необходимо предусмотреть возможность совершения следующих операций с матрицами: — Перемножение — Обращение — Нахождение миноров — Нахождение определителя — Возврат заданного столбца и заданной строки Необходимость реализации именно этих операций обоснована тем, что они фигурируют в п. 2.3. настоящей методики. Перемножение матриц применяется как при распределении данных, так и при их восстановлении, обращение - при восстановлении данных, нахождение миноров — при нахождении определителя, а нахождение определителя — при поиске обратной матрицы. Возврат заданного столбца и строки необходим при распределении данных по узлам системы, а также при формировании матрицы Вандермонда для восстановления исходных фрагментов.
Данные операции должны соответствовать правилам матричной арифметики с учётом вышеприведённых свойств арифметики кадров в полях Галуа.
Математический аппарат реализуется и используется на подуровне вычисления уровня исполнения описанной выше многоуровневой многоагентной системы.
Основная операция - перемножение матриц поддаётся распараллеливанию на несколько вычислительных потоков (узлов, агентов). Однако, с учётом того, что агентам-хранителям передаются строки результирующей матрицы, приходим к выводу о том, что построчное вычисление на отдельном узле-дисперсере неэффективно с точки зрения нагрузки на сеть. Действительно, для совершения такой операции необходимо передать матрицу, содержащую данные, полностью, а соответствующая строка матрицы Вандермонда может быть сгенерирована на узле, так как алгоритм выбора п различных элементов из поля Галуа должен быть известен.
Учитывая факт неэффективности построчного вычисления результирующей матрицы, предлагается следующий алгоритм параллельной обработки объекта (см. Рис. 2.11):
Параллельная обработка объекта Разбиение исходного объекта на кадры происходит в х потоков. Каждый поток считывает свой кадр и передаёт его на соответствующий узел с установленным агентом-дисперсером. Агент-дисперсер принимает кадр, рассматривает его как матрицу и совершает с ней действия, описанные в п. 2.2. В результате получается матрица с п строками, которые распределяются на п узлов-хранителей [7-9].
Распараллеливание вычислительного процесса производится агентом-координатором, на уровне управления описанной выше многоуровневой многоагентной системы. Отметим несколько особенностей, характерных для работы агентов. Данные особенности влияют на выбор рабочих станций при установке агентов на узлы предприятия.
Проектирование и разработка интерфейса агента-координатора
Суть структуры такова: Формируется общий список узлов ЛВС, принимающих участие в вычислении слайсов (агентов-дисперсеров) и их сохранении (агентов-хранителей). Данный список соответствует разделу nodeslist описания модели. По каждому узлу в модели хранится следующая имеющая значение информация: - Адрес узла (раздел описания settings-nodeslist-address). Это ІР-адрес или DNS-имя, по которому можно осуществлять с узлом сетевое взаимодействие. - Идентификатор узла (раздел описания settings-nodeslist-id). Это уникальный номер, по которому узел можно привязать к хранилищу и списку дисперсеров и хранителей. - Метка (раздел описания settings-nodeslist-label). Это некий набор символов для удобного представления узла в системе, используемый для отображения узла в приложении эксперта. Формируется список хранилищ. Для каждого хранилища определяются следующие параметры: - Наименование хранилища (раздел описания settings-storage-name). Имя для отображения хранилища. - Общее количество узлов, принимающих участие в хранении слайсов (раздел описания settings-storageotalnodes). Данный параметр соответствует параметру п, описанному в п. 2.3. методики построения системы. - Минимальное количество узлов, необходимое для восстановления (раздел описания settings-storage-name). Данный параметр соответствует параметру ш, описанному в п. 2.3. методики построения системы. - Список агентов-хранителей (раздел описания scttings-storage-storagesettings). Состоит из перечисления идентификаторов узлов, принимающих участие в хранении слайсов. Идентификаторы соответствуют параметрам id из раздела settings-nodeslist-id. Количество агентов-хранителей соответствует параметру totalnodes. - Список агентов-дисперсеров (раздел описания settings-storage-dispersionsettings). Состоит из перечисления идентификаторов узлов, принимающих участие в вычислении слайсов. Идентификаторы соответствуют параметрам id из раздела settings-nodeslist-id. Количество агентов-дисперсеров должно быть больше нуля.
Вся вышеперечисленная информация хранится в файле xmlconfig.xml, находящемся в рабочем каталоге программного обеспечения эксперта.
Каждому хранилищу сопоставляется определённый список агентов-дисперсеров и агентов-хранителей. Количество агентов-хранителей хранилища -это параметр п, о котором идёт речь в предыдущей главе.
Для реализации парсера предлагается воспользоваться механизмом SAX, поскольку конфигурационные файлы представляют собой файлы небольшого размера.
Проанализированные парсером данные из XML-файла образуют так называемую модель - общую структуру хранилищ системы, а также список всех узлов, используемых для вычисления и хранения фрагментов объектов. Хранить данную модель предлагается в агенте-координаторе, так как именно он будет осуществлять наибольшее количество обращений к модели при координировании заданий по распределению и сборке информации. Помимо данных о количестве узлов и данных об агентах модель содержит информацию об их состояниях. Состояния узлов могут быть следующими: - Узел работоспособен. В данном случае работа характеризуется временем отклика от данного узла. - Узел неработоспособен. В данном случае параметру отклика присваивается отрицательное значение.
Обработка переходов состояний происходит согласно Рис. 2.4 Агентом субординатором. Для хранения списка узлов и их состояний используется структура (см. ПРИЛОЖЕНИЕ А): saver.common::Nodelnfo +addr: String +label: String +timeout: long +disperser: boolean +saver: boolean +id : mt
Структура, используемая для хранения информации об узлах системы В данной структуре addr - это адрес узла, label-метка, id - уникальный идентификатор. Дополнительно, в модели среды список параметров узла несколько расширен по сравнению с её XML-описанием. Здесь timeout -показатель, определяющий доступность и производительность узла. Предлагается использовать время отклика от узла, но в будущем можно использовать некий комплексный показатель, отражающий, к примеру, пропускную способность канала до узла, статистику по доступности, показатели производительности рабочей станции и др., а логические метки disperser и saver отмечают, является ли данный узел хранителем, дисперсером или выполняет обе функции. Структура Nodelnfo описана в модуле компиляции saver. common.
Опробирование системы на базе отдела банковских карт Вологодского отделения №8638 Сбербанка России
Испытания системы проходили в ЛВС на основе технологии Fast Ethernet (100 Мб/с). Для тестов были отобраны 6 рабочих станций различной производительности. Тестирование каждого этапа проходило три раза, ниже представлены усреднённые результаты. Для тестирования было создано три хранилища с различными параметрами - они отличались по количеству узлов-дисперсеров, узлов-хранителей и необходимому минимуму узлов для восстановления данных. Происходило размещение и восстановление файлов различного размера с различным параметром длины буфера, и производился замер времени операций (см. ПРИЛОЖЕНИЕ С). Каждая кривая на графике отражает пропускную способность системы при конкретном значении длины буфера. Его значение пояснено в легенде к каждому графику.
Таким образом, пропускная способность системы зависит от различных параметров. Это структура системы, количество узлов, на которые распределяются данные, производительность данных узлов, пропускная способность ЛВС предприятия, выбранное количество узлов, необходимых для восстановления данных, количество доступных дисперсеров, размер объекта, длина буфера. Комплексная оценка влияния всех данных факторов на производительность, к сожалению, выходит за рамки данного диссертационного исследования, однако, в дальнейшем будет произведена, возможно, с осуществлением имитационного моделирования.
Тем не менее, относительно выбора длины буфера были сделаны некоторые выводы: Выбор слишком малого значения длины буфера понижает производительность системы, поскольку увеличивается количество операций ввода-вывода, т.е. обращений к жесткому диску. Особенно ярко данный эффект проявляется при работе с файлами большого размера.
Выбор слишком большого значения тоже влияет на производительность отрицательно ввиду того, что при передаче файлов небольшого размера суммарный размер кадров, на которые нарезается файл, может существенно превышать размер файла (см. Рис. 2.5).
Для некоторой оптимизации предлагается при внедрении системы подбирать размер буфера для каждого конкретного хранилища эмпирически, т.е. при конфигурировании системы оставлена возможность указать максимально допустимый к применению размер буфера. Это параметр buflength конфигурационного файла. При этом при работе с файлами небольшого размера система автоматически будет уменьшать размер буфера таким образом, чтобы файл делился на п фрагментов с минимальным дополнением. Если система ведет себя нестабильно при работе с файлами больших размеров (наблюдается падение производительности, имеются ошибки утечки памяти) рекомендуется данный параметр уменьшить. Перед промышленной эксплуатацией системы настоятельно рекомендуется провести серию комплексных тестов на размещение и восстановление файлов различных размеров.
На настоящий момент резервное копирование данных файлов осуществляется на сервер Управления информатизации и автоматизации банковских работ Вологодского отделения №8638 СБ РФ. Данный факт делает работу подразделения зависимой от функционирования внешнего по отношению к данному подразделению.
Рис. 4.11. Структура ЛВС отдела банковских карт На текущий момент ситуация в отделе такова: резервированием образов АРМ-ов и организацией хранения общих документов отдела заведует Управление информатизации и автоматизации банковских работ (далее -УиАБР). Организация независимого резервирования на базе оборудования отдела позволит повысить показатель доступности резервных копий, а в дальнейшем, при согласовании с другими структурными подразделениями, возможно освобождение ресурсов УиАБР, занятых в данном направлении и организация автономного хранилища.
Структура ЛВС отдела банковских карт Хранилище реализовано в виде схемы (20, 10). Большинство рабочих мест отдела оборудовано рабочими станциями HP Z600 с установленными жесткими дисками до 320 Гб. В отделе имеется файл-сервер для хранения документации и различных рабочих материалов, оборудованный жестким диском объёмом 2 Тб. Для хранения фрагментов было выбрано 15 рабочих станций, имеющих не менее 200 Гб свободного пространства. Агенты, настроенные на вычисление фрагментов установлены на всех рабочих станциях отдела. Также на файл-сервере установлен агент и система настроена таким образом, чтобы на файл-сервере хранилось 5 фрагментов из 20-ти. Таким образом, для восстановления исходных данных достаточно, чтобы были доступны 5 рабочих станций из 15-ти, на которых установлены агенты-хранилища, а также файл-сервер. Это пример того, какие узлы должны быть доступны для восстановления данных, естественно, требуемый набор узлов может варьироваться.
В созданном хранилище предполагается хранить файлы-образы систем АРМ-ов, используемых отделом, а также архив документов отдела. Пропускная способность полученной системы составила в среднем 7 Мб/сек. Резервирование данных происходило во время обеденного перерыва отдела. В это время нагрузка на рабочие станции минимальна, а их работающее количество максимально. При полученной пропускной способности за полчаса можно произвести архивацию около 12,3 Гб данных, что более чем достаточно для ежедневного копирования данных со всего отдела.
Расчетный показатель вероятности безотказной работы системы по формуле (2.46) при условии сохранения работоспособности 10 узлов из 20 (при вероятности безотказной работы одного узла, равной 0,6) равняется 0,872. Данный показатель невелик, однако, с учетом того, что 5 фрагментов размещено на файл-сервере, а остальные распределены по рабочим станциям и учитывая возможность восстановить данные при условии доступности сервера и 5 любых рабочих станций из задействованных 15 (всего задействовано 16 узлов), оценим коэффициент вероятности системы 6 из 16. Он оказывается равен 0,98, что выше одиночного сервера без системы резервирования.
На практике за полгода работы системы не происходило отказов ни одного узла. Архивация данных происходила в обеденный перерыв, 12.00-13.00. Имели место случаи недоступности хранилища для помещения файлов ввиду того, что в обеденный перерыв некоторые сотрудники выключали компьютеры, однако ситуации, когда помещенные данные невозможно было восстановить, не возникало ни разу.
Объем получившегося хранилища оценим по формуле (2.44). При условии, что каждый агент-хранитель (из 10) сможет хранить 200 Гб данных, общий объем будет равен: 200Гб 10=2 Тб.