Определение

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

Старый лозунг службы Federal Express звучит так: «В любом случае почта должна быть доставлена за ночь». Примерно таковы и требования к современным компьютерным системам, за исключением того, что доставка информации должна гарантироваться не за одну ночь, а постоянно, вне зависимости от проблем, которые могут возникнуть в конкретных аппаратных или программных компонентах информационной системы, сбоев в сети электропитания или неприятностей другого рода.

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

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

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

На рынке отказоустойчивых систем работают такие производители, как Stratus Computer Systems; Compaq Computer, предлагающая системы NonStop Himalaya; IBM, выпускающая системы SP; Marathon Technologies, предоставляющая отказоустойчивые конфигурации для систем Windows NT.

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

Но цель конфигураций высокой готовности состоит в том, чтобы помочь компаниям быстро восстановить работу после сбоя, что не годится для поддержки отказоустойчивости (или постоянной готовности), цель которой — свести к нулю время восстановления. Здесь необходимо добиться почти мгновенного «подхвата» приложений. «Существует качественное и количественное различие между этими двумя подходами», — заметила Джин Бозман, ведущий аналитик International Data Corp.

«Средства отказоустойчивости позволяют сократить время простоя до пяти минут в год или даже меньше. При поддержке высокой готовности время восстановления после сбоя, как подчеркнула Бозман, может значительно меняться в зависимости от конфигурации. «Отказоустойчивость обеспечивается избыточностью на физическом уровне, где в любом из компонентов может возникнуть сбой и никто этого не заметит», — отметила она.

Все вместе

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

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

Компьютеры NonStop Himalaya компании Compaq — один из примеров. Эти системы состоят из кластера серверов, каждый со своей памятью и копией операционной системы; все они работают вместе, но независимо друг от друга.

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

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

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

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

Системы способны передавать администраторам или непосредственно производителям сообщения о возможном сбое.

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

Отказоустойчивая среда компании в основном базируется на технологиях Stratus и обеспечивает практически 100-процентную готовность системы. «Лично для меня отказоустойчивость означает, что если что-то произошло в одном месте, аппаратное и вспомогательное программное обеспечение способно бесконфликтно передать приложения в другое место, поддерживая при этом непрерывное обслуживание», — подчеркнул Вайц.


Поиск ошибки

Здесь представлена четырехсерверная архитектура, предлагаемая компанией Marathon Technologies для того, чтобы гарантировать отказоустойчивость в сетях Windows NT