Студопедия — Тактики реализации готовности
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тактики реализации готовности






Не забыли терминологию готовности, приведенную в главе 4? Отказом называется ситуация, при которой система теряет возможность обслуживания в соответствии со своей спецификацией; кроме того, признаки отказа заметны пользователям системы. Предвестником отказа является неисправность (или сочетание неисправностей). Мы также говорили о том, что одним из важнейших аспектов готовности является восстановление (устранение неисправности). Тактика, описание которой содержится в этом разделе, не позволяет неисправностям превращаться в отказы или, по меньшей мере, ограничивает последствия неисправности, обеспечивая возможность восстановления. Иллюстрация этой тактики приводится на рис. 5.2.

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

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

Обнаружение неисправностей

Из всех тактик обнаружения неисправностей наибольшим признанием пользуется при: ping/echo-пакеты, heartbeat-запросы и исключения.

♦ Ping/echo-пакеты. Проверяющий компонент отправляет проверяемому компоненту ping-запрос, ожидая через установленный период времени получить в ответ echo-пакет. Эта схема используется в группах компонентов, которые выполняют в отношении друг друга одну и ту же задачу. Кроме того, она может применяться клиентами, которые при помощи таких пакетов удостоверяются в приемлемой работоспособности объекта на сервере и канала связи. Детекторы неисправностей по схеме ping/echo можно расположить в рамках иерархии, согласно которой детектор нижнего уровня должен отправлять ping-запросы тем программным процессам, с которыми у него общий процессор, а детекторы верхних уровней обязаны запрашивать нижележащие уровни. В результате, по сравнению с ситуацией, при которой удаленный детектор неисправностей отправляет ping-запросы всем процессам, наблюдается экономия рабочей пропускной способности.

♦ Heartbeat (таймер безопасности). В таком случае один из двух компонентов периодически отправляет heartbeat-сообщение, а другой — ожидает его получения. Если отправки heartbeat-сообщения не происходит, компонент, который должен был его отправить, считается вышедшим из строя, о чем оповещается компонент устранения неисправностей. В составе heartbeat- сообщений, помимо прочего, можно передавать данные. К примеру, банкомат может периодически отправлять на сервер записи о последних транзакциях. Такой пакет одновременно выступает в качестве heartbeat и сообщает некоторую информацию.

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

Тактики ping/echo-пакетов и heartbeat-сообщений применимы к ряду отдельных процессов, а тактика исключений, напротив, распространяется на единичный процесс. Обработчик исключений обычно выполняет семантическое преобразование неисправностей, тем самым переводя их в такую форму, в которой их можно обработать.

Восстановление после неисправности

Процесс восстановления после неисправности состоит из двух частей: подготовки к восстановлению и собственно восстановления. Ниже представлены некоторые тактики восстановления.

♦ Голосование. Процессы, исполняемые на резервированных процессорах принимают равнозначные исходные данные, а затем, вычислив простое выходное значение, отправляют его голосующему. Если голосующий выявляет у одного из процессоров отклонение от нормы, тот отключается. Алгоритм голосования может действовать по «мажоритарному принципу», ориентироваться на «предпочтительный алгоритм» или руководствоваться какими-либо другими правилами. Этот метод исправляет неисправности в работе алгоритмов или отказы процессора и чаще всего встречается в системах управления. Если все процессоры используют одни и те же алгоритмы, выявляются только неисправности процессоров — неисправности алгоритмов не обнаруживаются. Таким образом, если последствия отказа чрезвычайно серьезны — например, не исключают возможность полного выхода из строя, — есть смысл использовать разнообразные резервируемые компоненты.

Разнообразие иногда доходит до крайности — например, когда программное обеспечение каждого резервируемого компонента разрабатывается разными рабочими группами и исполняется на несходных платформах. Более обычной является ситуация, при которой на разных платформах разрабатывается один и тот же программный компонент. Разнообразие в разработке и сопровождении слишком дорого обходится, и поэтому применяется оно только в исключительных ситуациях — например, при отслеживании земной поверхности в авиационных системах. В системах управления разнообразие применяется в тех случаях, когда выходные данные, предоставляемые голосующему, просты и легко поддаются классификации по признаку эквивалентности или отклонения, вычисления проводятся циклически и все резервируемые компоненты получают от датчиков равнозначные входные данные. В случае отказа разнообразие исключает простой, поскольку голосующий продолжает работать. Среди вариантов этой методики следует упомянуть симплекс-метод, предполагающий применение результатов «предпочтительного» компонента во всех случаях, кроме тех, когда они отклоняются от результатов «доверенного» компонента, с показаниями которого голосующий сверяется. Если резервируемые компоненты проводят параллельные вычисления с одним и тем же набором входных значений, их (компонентов) синхронизация проводится автоматически.

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

1 Излагаемая в книге классификация методов резервирования отличается от предложенной в отечественном стандарте ГОСТ 27.002-89 и отражает американскую терминологию в теории надежности систем. — Примеч. науч. ред.

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

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

+ Пассивное резервирование (теплый перезапуск/двойное резервирование/тройное резервирование). Один из компонентов (первичный) реагирует на поступающие события и сообщает другим компонентам (запасным) о том, каким образом им требуется обновить состояние. В случае неисправности система в первую очередь проверяет актуальность состояния резервных копий и только после этого возобновляет обслуживание. Эта методика применяется в системах управления — как правило, в тех случаях, когда по каналам связи или от датчиков приходят входные данные, которые при обнаружении неисправности требуется перенаправить на резервный компонент. В частности, она используется в системе управления воздушным движением, рассматриваемой в главе 6. В этой системе решение о том, когда следует заменить первичный компонент, принимается вторичным компонентом; в других системах принятие таких решений происходит в рамках других компонентов. Настоящая тактика делает ставку на надежность резервных компонентов. Регулярное проведение необходимых переключений — например, раз в сутки или раз в неделю — способствует повышению готовности системы. В некоторых системах управления базами данных переключение производится с сохранением каждого нового элемента данных. Новый элемент сохраняется на теневой странице, а старая страница становится резервной. В таком случае простой, как правило, огранивается секундами.

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

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

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

♦ Затенение. Компонент, в котором недавно произошел отказ, может после восстановления некоторое время работать в «теневом режиме» — таким образом обеспечивается полное соответствие его поведения поведению работающих компонентов, после чего он снова вводится в действие.

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

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







Дата добавления: 2015-04-16; просмотров: 659. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

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

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

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия