Конспект (1162775), страница 4
Текст из файла (страница 4)
Достаточно перегрузиться)o Постоянные – не прекращаются до устранения причин.• Отказы по характеру поведенияo Византийские – система работает, но неправильно.o Пропажа признаков жизни• Подходы к обеспечению надежности:o Восстановление после отказа§ Прямое восстановление – своевременное обнаружение сбоя и ликвидация егопоследствий путем приведения некорректного состояния системы в корректное.§ Возвратное восстановление• При работе ставятся контрольные точки. Если произошел сбой – мы делаемоткат. Можно делать бэкапы и вести журнал с момента последнего бэкапа.• Минусыo Потери производительности (нужно хранить информацию опредыдущих состояниях системы)o Нет гарантии, что сбой снова не повторится после восстановления(скажем, если ошибка в коде программы – система будет постояннона ней падать)o Для некоторых компонентов системы восстановление впредшествующее состояние может быть невозможно (торговыйавтомат).• Тем не менее, это более универсальный подход чем прямое восстановление.• Трудностиo Сообщения-сироты.§ Процесс отказал после отправки сообщения.
Откатываемсяназад, и посылаем снова то же самое сообщение (сирота).§ Процесс получатель должен быть возвращен в предыдущеесостояние, чтоб ждать прием сообщения.o Эффект домино§ Процесс отказал после отправки сообщения.§ После приема, процесс-получатель отправляет сообщениетретьему процессу.§ Теперь назад должны откатиться все три процесса.o Потеря сообщений§ Процесс отказал после приема сообщения.§ Процесс откатывается назад, но ему уже никто ничего нешлетo Проблема бесконечного восстановления§ Консистентное множество контрольных точек• глобальная контрольная точка, состоящая из произвольной совокупностилокальных контрольных точек, не обеспечивает восстановлениявзаимодействующих процессовМножество контрольных точек называется строго консистентным, если вовремя его фиксации никаких обменов между процессами не было.• Множество контрольных точек называется консистентным, если для любойзафиксированной операции приема сообщения, соответствующая операцияпосылки также зафиксирована (нет сообщений-сирот).• Простой метод фиксации консистентного множества контрольных точекo Фиксируем локальную контрольную точку после каждой операциипосылки сообщения.o Чтобы избежать потерь при восстановлении – необходимо повторитьотправку сообщений, квитанции о получении которых сталинедействительными в результате отката.
Используются временныеметки.• Синхронная фиксация контрольных точек и восстановлениеo Алгоритм создания консистентного множества контрольныхточек§ Алгоритм создает в стабильной памяти два вида контрольныхточек - постоянные и пробные§ Только один процесс инициирует создание множестваконтрольных точек§ Никто из участников не должен ломаться во время работыалгоритма§ 1-я фаза• Инициатор создает пробную контрольную точку ипросит все процессы сделать то же самое.• Процессы перестают посылать неслужебные сбщ.• Каждый процесс извещает, сделал ли он пробнуюконтрольную точку§ 2-я фаза.• Если все справились – инициатор извещает всех о том,что пробная точка становится постоянной.• Если нет – всем сообщается, что шухер отменяется.o Алгоритм отката (восстановления)§ 1-я фаза. Инициатор отката спрашивает, все ли готовы§ 2-я фаза.
Когда все готовы, им говорят: «поехали».§ Оптимизация – если процесс с предыдущей контрольнойточки не посылал сообщения, можно не откатываться.o Синхронная фиксация упрощает восстановление, но связана сбольшими накладными расходами• Асинхронная фиксация контрольных точек и восстановлениеo множество контрольных точек может быть неконсистентнымo При откате происходит поиск подходящего консистентногомножества путем поочередного отката каждого процесса в ту точку,в которой зафиксированы все посланные им и полученные другимисообщения (для ликвидации сообщений-сирот).o Отказоустойчивость§ Некоторым системам нельзя откатываться из-за прерывания нормальногофункционирования§ Система либо маскирует отказы, либо ведет себя заранее определенным образом.§ Два механизма• Протоколы голосованияo Служат для маскирования отказовo Выбирается результат, полученный исправными исполнителями•§o Принцип работы:§ Каждый файл имеет номер версии§ Каждой копии файла приписано некоторое количествоголосов.§ Для получения права на запись писателю требуется запроситьразрешение у всех серверов и получить Vw голосов от тех изних, кто владеет последней версией копии.§ Для записи информации в файл писатель рассылает ее всемвладельцам текущей версии файла и должен получить Vwголосов от тех, кто успешно выполнил запись.§ Для получения права на чтение читателю достаточнополучить Vr голосов от любых серверов.§ Vr выбрано так, что среди ответивших серверов найдется хотябы один с последней версией файла.§ Два подхода: статическое и динамическое распределениеголосов§ Может понадобиться динамическое изменение состава (есликакой-то сервер отказал).• Протоколы принятия коллективного решенияo Два класса§ Протоколы принятие единого решения – все исполнителиисправны и должны либо все принять, либо все не принятьзаранее предусматриваемое решение.§ Протоколы принятия согласованных решений – на основеполученных исправными исполнителями данных отостальных исправных исполнителей.o Алгоритм надежных широковещательных рассылок сбщ (жопа)Избыточность.
Достигаетсяo Использование режимы «горячего резерва» (резервное ПО)o Использование активного размножения (размножение файлов враспределенной ФС).