Современные информационные технологии/ 3. Программное обеспечение

 

к.п.н., Иванова И.В., магистрант Уаисова А.

Костанайский государственный университет им.А.Байтурсынова

Отказоустойчивость вычислительных систем

 

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

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

Современные отказоустойчивые вычислительные системы делятся на три категории: вычислительные системы высокой готовности (highavailability); вычислительные системы устойчивые к отказам (faulttolerance); вычислительные системы непрерывной готовности (continuousavailability).

Основным техническим решением, обеспечивающим создание вычислительных сетей непрерывной готовности, является резервирование. Современным локальным вычислительным сетям, базирующимся на технологиях internet, резервирование присуще по своей природе. Логическое резервирование в вычислительных сетях является инструментом повышения живучести таких сетей, когда постоянно имеется несколько альтернативных маршрутов передачи данных и при потере данных в одном маршруте выбирается резервный. Такая резервированная система отличается от классического резервирования с параллельной работой элементов и включением резервного элемента взамен дефектного. Логическое резервирование в вычислительной сети включает не резервные элементы, а резервные маршруты, «обходящие» отказавшие элементы сети.

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

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

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

Алгоритмы альтернативной маршрутизации, основанные на методах поиска кратчайших путей (минимальных задержек в каналах связи), не позволяют оптимизировать глобальные показатели вычислительной сети в целом. Используемые сейчас алгоритмы позволяют лишь «настроиться» на определенные глобальные показатели надежности путем выбора управляемых параметров, чаще всего на основе эвристического подхода. Это объясняется сложностью решаемой задачи и следующими причинами: моделирование процесса восстановления с целью оценки его характеристик требует детального знания специфики восстановления, что не всегда возможно на этапе разработки алгоритмов маршрутизации; моделирование процесса восстановления и моделирование алгоритмов маршрутизации происходят в разных временных масштабах (моделировать восстановление требуется на три порядка быстрее).

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

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

 

Литература:

1.                     Соловьев, В.М. Повышение надежности вычислительной сети Электронный ресурс. / В.М. Соловьев, Р.В. Алексеенков // Телематика. 2006

2.                     Кульчин, М. Технологии корпоративных сетей Текст. / М. Кульчин. СПб.: Изд-во «Питер», 2000.