Метод оценки доступности программно-аппаратных комплексов, построенных с применением технологий горячего резервирования компонентов

МЕТОД ОЦЕНКИ ДОСТУПНОСТИ ПРОГРАММНО-АППАРАТНЫХ КОМПЛЕКСОВ, ПОСТРОЕННЫХ С ПРИМЕНЕНИЕМ ТЕХНОЛОГИЙ ГОРЯЧЕГО РЕЗЕРВИРОВАНИЯ КОМПОНЕНТОВ В.В. Заря, А.А. Протченков, Е.В. Симаков Научный руководитель - д.т.н., профессор Ю.А. Гатчин

Рассмотрен метод оценки доступности информационных систем, состоящих из многих компонентов, использующих горячее резервирование. Приведено сравнение показателей доступности для систем без аппаратной избыточности и систем с дублирующимися элементами.

Введение

В настоящее время к информационным системам, играющим критически важную роль в операционной деятельности организаций, предъявляются повышенные требования с точки зрения надежности. На этапе проектирования таких систем, как правило, существует несколько рабочих конфигураций, каждая из которых в определенном аспекте выгодно отличается от остальных. В настоящее время для оценки доступности информационных систем применяются сложные математические модели - интервальные статистические модели [1], теория нечетких множеств [2]. В данной работе представлен упрощенный метод оценки доступности информационных систем, основанный на сравнениях числовых значений доступности. Приводится сравнительные оценки расчета доступности для систем, не содержащих механизмы повышения доступности, а также систем, подразумевающих дублирование всех компонентов и их горячее резервирование. Основываясь на данном методе, возможно обоснованное принятие решения в пользу той или иной архитектуры, а также выявление наименее надежных компонентов системы и их замена или переконфигурирование.

Архитектура программно-аппаратного комплекса

Рассмотрим типовую архитектуру программно-аппаратного комплекса с применением многоуровневого подхода (рис. 1). Распределим все компоненты системы по уровням в зависимости от выполняемой функции. Такой подход объединяет все взаимозаменяемые компоненты в один уровень и в дальнейшем поможет при анализе системы с точки зрения ее доступности.

• Уровень пограничных устройств. Пограничное устройство выполняет функции экранирования. Таким устройством может быть аппаратный межсетевой экран или маршрутизатор. Одним интерфейсом устройство подключено к внешней сети, другим - к исследуемому программно-аппаратному комплексу. На данном уровне происходит фильтрация трафика, приходящего в систему.

• Уровень коммутационных устройств. Обеспечивает физическое взаимодействие между компонентами системы, такими как серверы приложений и серверы баз данных.

• Уровень серверов приложений. Обрабатывает запросы пользователей к исследуемому программно-аппаратному комплексу. Инициирует запросы к серверам СУБД.

• Уровень серверов СУБД. Серверы СУБД управляют доступом к данным.

• Уровень систем хранения. Дисковый массив, на котором непосредственно хранятся данные.

Как видно из рис. 1, система не содержит избыточных компонентов и не подразумевает резервирования. При выходе из строя любого компонента приходит в неработоспособное состояние.

Для расчета доступности будем использовать принципы [3].

Множество компонентов, при выходе из строя любого из которых система теряет возможность предоставлять требуемый сервис, будем называть последовательными. Расчет доступности системы, состоящей из последовательных элементов, можно производить по формуле

As =П4 ,

где Л5 - доступность всей системы, Л^ - доступность каждого последовательно соединенного компонента. Для системы, состоящей из двух компонентов, схематичное изображение расчета доступности показано на рис. 2.

С]

SW1

О APP1

i=1

Рис. 1. Архитектура программно аппаратного комплекса без резервирования

компонентов

A1

т

Рис 2. Вычисление доступности системы, состоящей из последовательных компонентов

Как видно из формулы (1), с увеличением числа компонентов системы экспоненциально уменьшается ее надежность (рис. 3, кривая Serial).

Доступность системы

Количество компонентов, шт

Рис. 3. Графики доступности системы с последовательными и параллельными

компонентами

Множество компонентов, при выходе из строя одного из которых система не теряет возможность предоставлять требуемый сервис, будем называть параллельными. Расчет доступности системы, состоящей из параллельных элементов, можно производить по формуле

АР = 1 -^П

где Ар - доступность всей системы, - доступность каждого параллельно соединенного компонента. Схематично вычисление доступности системы изображено на рис. 4.

A1 A2 Ar= 1-

Рис. 4. Вычисление доступности системы, состоящей из параллельных компонентов

Зависимость доступности системы от количества параллельных компонентов изображена на рис. 3, кривая Parallel.

Таким образом, проанализировав существующую систему на предмет ее доступности, можем придти к выводу, что ее доступность зависит от значения доступности каждого компонента, а также от общего количества компонентов. Так как в существующей системе не предусмотрено резервирование, то сбой любого из компонентов вызовет перебои в пре-

доставлении сервиса. Существующая конфигурация не отвечает предъявляемым требованиям высокой доступности. Например, если значение доступности каждого компонента, кроме дискового хранилища, положим равным 0,99, а доступность дискового хранилища (как устройства с повышенной надежностью) - 0,999, то общая доступность системы равна Л5 = 0,994 • 0,999 = 0,9596, что недопустимо мало.

Предлагаемая архитектура

Для уменьшения рисков простоя применяется система, использующая аппаратную избыточность и механизмы горячего резервирования компонентов. Схема предлагаемого решения приведена на рис. 5. Общая идеология такова, что при выходе из строя одного компонента происходит перераспределение нагрузки, так что его функции выполняет резервный. Взаимные влияния между уровнями могут быть значительными, а могут отсутствовать вовсе. Например, при выходе из строя коммутатора SW1 основным коммутирующим устройством становится SW2. Весь трафик от серверов приложений (АРР1, АРР2) и серверов баз данных (ББ1, ББ2) обязательно проходит через коммутатор (SW2). Однако выход из строя коммутатора приводит к еще одному изменению в общей схеме коммутации: межсетевой экран FW1 оказывается «отрезанным» от системы и, соответственно, не маршрутизирует трафик между внутренней и внешней сетями. Современные межсетевые экраны обладают функциями определения отсутствия канала связи и корректно обрабатывают переключение нагрузки с главного на резервный. Таким образом, в данном примере уровень межсетевых экранов не изолирован от уровня коммутирующих устройств, а некоторым образом зависим от него. Кроме того, существует и обратная зависимость: при выходе из строя одного из межсетевых экранов происходит перераспределение нагрузки на коммутаторах.

Рис. 5. Архитектура высокодоступного решения

Однако указанная закономерность не справедлива для всех компонентов системы. Например, выход из строя одного из коммутаторов никак не скажется на функциониро-

вании серверов приложений. Благодаря избыточным связям каждого сервера приложений с каждым коммутатором (каналы связи АРРЬБ'Ш, APP1-SW2, АРР2-Б,Ш, АРР2-SW2) маршруты пакетов начнут проходить через резервный коммутатор совершенно прозрачно для серверов приложений. Такая конфигурация может быть реализована с помощью технологии объединения нескольких физических сетевых интерфейсов в один логический [4].

Рис. 6. Преобразование схемы компонентов

Рассмотрим более детально каждый уровень данной системы и его конфигурацию.

• Уровень пограничных устройств. Два межсетевых экрана объединены в высокодоступный кластер. Выход из строя одного вызывает перенаправление трафика на другой. МСЭ могут функционировать в режиме отказоустойчивости «активный/активный», в этом случае они выполняю еще и балансировку нагрузки, или в режиме «активный пассивный» - одно устройство активно, второе в состоянии горячей замены. Данную конфигурацию поддерживают многие производители.

• Уровень коммутационных устройства. Добавление в схему второго коммутатора исключило коммутатор SW1 как единую точку отказа. Теперь при выходе из строя активного коммутатора трафик перенаправляется на резервный. Это происходит прозрачно для серверов приложений и серверов СУБД.

• Уровень серверов приложений. Серверы приложений объединены в кластер с балансировкой нагрузки и разделяют один виртуальный адрес. Все запросы к серверам приложений направляются на активный сервер кластера, резервный начинает обрабатывать запросы в случае неработоспособности основного.

• Уровень серверов СУБД. Серверы СУБД объединены в высокодоступный кластер, управляющий доступом серверов приложений к дисковому хранилищу.

• Уровень систем хранения. Дисковый массив, на котором непосредственно хранятся данные, теперь используется как общий ресурс узлов кластера. Ввиду того, что дисковые хранилища как класс устройств обладают повышенными показателями надежности и отказоустойчивости (что сказывается на их стоимости) и содержат в себе резервируемые компоненты, такие как блоки питания, процессоры, интерфейсы управления, резервирование дисковых хранилищ не производится.

Для схематического изображения вычислительного комплекса для последующего анализа доступности необходимо понимать взаимосвязи различных компонентов системы - возможность функционирования одного устройства без другого и изменения, происходящие в системе при переключении нагрузки с основного компонента на резервный.

После ряда преобразований полученной схемы переходим от варианта А к варианту В (рис. 6). Допустим, что доступность одинаковых компонент одинакова, т.е FW1 = FW2 = FW, SW1 = SW2 = SW, APP1 = APP2 = APP, DB1 = DB2 = DB, тогда доступность исследуемой системы равна

A = (l-(1 - FW • SW )2 )-(l-(1 - APP )2 )-(l-(1 - DB )2 )• S . Положив значения, доступности каждого компонента системы равными 0,99, имеем:

A = (1 - (1 - 0,99 • 0,99)2 )• (1 - (1 - 0,99 )2 )• (1 - (1 - 0,99)2 )• 0,999 = 0,9984 по сравнению со значением 0,9596 для системы без применения резервируемых компонентов. Таким образом, при удвоении комплекта оборудования, необходимого для построения высокодоступной системы, а также при добавлении возможности горячего резервирования компонентов с помощью программного обеспечения (кластерное ПО, объединение физических адаптеров в логические и т.д.) мы добились значительного увеличения коэффициента доступности - с 0,9596 до 0,9984. Если перевести полученные коэффициенты в среднее время простоя, то этот показатель уменьшился с 15 суток в год до 14 часов в год. Если учесть, что исходные показатели доступности компонентов были заведомо занижены, то полученный результат можно считать вполне удовлетворительным.

Рис 7. Преобразование схемы для повышения надежности

Проверим, есть ли возможность с минимальными затратами улучшить показатель доступности исследуемой системы. Исходя из рис. 5, А, можем заметить, что неоптимальным с точки зрения резервирования является участок FW1, FW2, SW1, SW2. В случае отказа одного из устройств первой ветки участка нагрузка целиком переносится на вторую ветку, оставляя работоспособное устройство первой ветки без нагрузки. Такой подход слишком расточителен с точки зрения резервирования ресурсов. Для устранения неисправности очевидно решение о преобразовании схемы (рис. 7).

В результате преобразований формула для вычисления доступности всей системы примет вид A = (l -(l - FW)2 )^(l -(l - SW)2 )^(l -(l - APP)2 )•( -(l - DB)2 )• S, что при подстановке наших значений дает A = 0,9986 или 12 часов в год.

Заключение

Метод оценки доступности программно-аппаратных комплексов может применяться при проектировании систем, одним из важнейших показателей которых является доступность. Описанный в работе прием оценки доступности системы был использован на практике при проектировании системы контроля и управления доступом на крупном промышленном предприятии.

Основным недостатком подхода является тот факт, что разработчику необходимо детально понимать принципы взаимодействия различных компонентов системы, а также обладать информацией о возможностях тех или иных технологиях и программных продуктах, непосредственно реализующих горячее резервирование. Необходимо точно ответить на вопрос о возможности такой конфигурации при использовании того или иного оборудования.

Описанная в работе система была построена с использованием оборудования таких производителей, как Cisco Systems, IBM, EMC. Для поддержки кластеризации применялись продукты Microsoft Cluster Services, EMC Power Path, Oracle Fail Safe, Cisco PIX OS.

Литература

1. Кузнецов В.П. Интервальные статистические модели. М.: Радио и связь, 1991. 352 с.

2. Cai K.Y. Introduction to Fuzzy Reliability. Kluwer Academic Publishers, Boston, 1996.

3. Kok-Keong Lee. Building Resilient IP Networks. Indianapolis. Cisco Press. 2005. P.420-421.

4. Intel Advanced Networking Services With Ethernet Teaming. White paper. Texas. Dell Inc. 2005.