Опубликован: 15.09.2004 | Доступ: свободный | Студентов: 3954 / 1492 | Оценка: 4.31 / 4.05 | Длительность: 09:26:00
ISBN: 978-5-9556-0018-5
Специальности: Разработчик аппаратуры
Лекция 12:

Надежность и отказоустойчивость МВС

< Лекция 11 || Лекция 12 || Лекция 13 >
Аннотация: В данной лекции определяются понятия надежности и отказоустойчивости вычислительных систем. Приводятся решения, с помощью которых достигается устойчивая работа систем.

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

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

Понятие надежности включает не только аппаратные средства, но и программное обеспечение, которое используется, в частности, для анализа производительности систем и управления конфигурациями. Главной целью повышения надежности систем является целостность хранящихся в них данных. Единицей измерения надежности является среднее время наработки на отказ (MTBF - Mean Time Between Failure), иначе - среднее время безотказной работы.

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

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

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

Основа надежности кластера - это некоторое избыточное количество отказоустойчивых серверов (узлов), в зависимости от конфигурации кластера и его задач.

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

Решение, обеспечивающее повышенную отказоустойчивость сервера, должно включать:

  • компоненты с "горячей" заменой;
  • диски, вентиляторы, внешние накопители, устройства PCI, источники питания;
  • избыточные источники питания и вентиляторы;
  • автоматический перезапуск и восстановление системы;
  • память с коррекцией ошибок;
  • функции проверки состояния системы;
  • превентивное обнаружение и анализ неисправностей;
  • средства удаленного администрирования системы.

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

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

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

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

В операционной системе HP-UX11i, созданной компанией Hewlett-Packard и предназначенной для обслуживания критически важных задач в Internet, для повышения надежности предусмотрена возможность подключения дополнительных процессоров без перезагрузки ОС. Применение файловой системы Veritas дает возможность резервного копирования в режиме online и дефрагментации дисков без выключения системы. Операционная система может отключать неработоспособные процессоры и блоки памяти без выключения системы.

Системы хранения должны быть представлены RAID-системами высокой готовности. Избыточные соединения должны обеспечивать доступность данных даже в случае выхода из строя узлов, контроллеров или кабелей. Соединение с системами хранения данных в кластере может быть реализовано как с использованием интерфейсов SCSI, так и на основе Fibre Channel технологии.

Для синхронизации и совместной работы серверов в качестве кластера необходимы избыточные соединения между серверами, называемые "системным соединением" (private interconnect). Системное соединение используется для передачи сигналов о состоянии серверов, а также применяется параллельными базами данных для передачи данных.

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

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

  • централизованно (локальный кластер);
  • по соседним зданиям (кампусный кластер);
  • по нескольким территориям в пределах города (метро кластер);
  • в разных городах, странах или континентах (два связанных кластера - континентальный кластер).

В дополнение к дублированному центральному коммутатору, все аппаратные компоненты: системный контроллер, источники питания, системы охлаждения, часы - полностью дублированы. Система не имеет единичной точки сбоя. Для сравнения - если такой простой элемент как системные часы выйдет из строя в дорогостоящем сервере HP Superdome или IBM p680, вся система прекратит работу.

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

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

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

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

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

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

< Лекция 11 || Лекция 12 || Лекция 13 >