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

Обновлено: 25.06.2024

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

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

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

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

Для согласования содержимого кэша и диска время от времени выполняется запись всех модифицированных блоков, находящихся в кэше, на диск. Несмотря на то что период полного сброса кэша на диск обычно выбирается весьма коротким (порядка 10-30 секунд), все равно остается высокая вероятность того, что при возникновении сбоя содержимое диска не в полной мере будет соответствовать действительному состоянию файловой системы — копии некоторых блоков с обновленным содержимым система может не успеть переписать на диск. Для восстановления некорректных файловых систем, использующих кэширование диска, в операционных системах предусматриваются специальные утилиты, такие как fsck для файловых систем s5/uf, ScanDisk для FAT или Chkdsk для файловой системы HPFS. Однако объем несоответствий может быть настолько большим, что восстановление файловой системы после сбоя с помощью стандартных системных средств становится невозможным.

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

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

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

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

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

Журнал регистрации транзакций в NTFS делится на две части: область рестарта и область протоколирования

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

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

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

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

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

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

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

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

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

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

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

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

Предварительные исследования показали, что для элементной базы среднего качества (надежность 0.999 - “три девятки после запятой”) при оптимальном сочетании скорости получения результата на его надежность в вычислительной среде теоретически достижима достоверность получения правильных результатов машинного счета в “двести девяток после запятой” при замедлении темпа их получения в 300-400 раз [1], что эквивалентно увеличению надежности до 200 порядков величины при введении сравнительно небольшой вычислительной избыточности, приводящей к потере производительности не более чем на 2-3 порядка, что уже на современном уровне может компенсироваться подбором компьютеров требуемой производительности.

Понятие отказоустойчивости ВС.

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

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

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

2.2. Причины и классификация отказов и сбоев

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

Аппаратная реализация узлов (процессорных модулей) позволяет выделить основные классы отказов аппаратуры:

- отказ процессора (центральной части ПЭ);

- отказ линка - связи между ПЭ;

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

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

нарушения кодов записи программ в памяти команд;

стирания или искажения данных в оперативной или долговременной памяти;

нарушения нормального хода вычислительного процесса.

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

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


Методы и средства обеспечения отказоустойчивости

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

Восстановление может быть прямым (без возврата к прошлому состоянию) и возвратное.

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

При возвратном восстановлении происходит возврат процесса (или системы) из некорректного состояния в некоторое из предшествующих корректных состояний. При этом возникают следующие проблемы:

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

Нет гарантии, что сбой снова не повторится после восстановления.

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

Для восстановления состояния в традиционных ЭВМ применяются два метода (и их комбинация), основанные на промежуточной фиксации состояния либо ведении журнала выполняемых операций. Они различаются объемом запоминаемой информацией и временем, требуемым для восстановления.

Применение подобных методов в распределенных системах наталкивается на следующие трудности:

Для распределенных систем запоминание согласованного глобального состояния является серьезной теоретической проблемой;

методы восстановления после отказов для некоторых систем непригодны из-за прерывания нормального функционирования и др;

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

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

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

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

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

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

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

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

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

Однако для систем на последней стадии их деградации (при отказе предпоследнего узла сети) на первый план в качестве диагностической информации выходят признаки исправности-неисправности, формируемые различными программно-аппаратными средствами контроля, такими как:

функциональный контроль вычислений с помощью специальных контрольных операторов и нескольких версий программ;

функциональный контроль входной и выходной информации;

контроль входной информации по специальным признакам и контрольным суммам;

контроль выходной информации по квитанции от приемника - абонента системного интерфейса;

контрольный тест аппаратуры процессора;

контрольные тесты аппаратуры внешнего и внутреннего интерфейсов.

встроенные аппаратные средства контроля процессорных элементов и контроллеров системного интерфейса.

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

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

Концепция построения и работы системы с рангом

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

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

Раздел: Информатика, программирование
Количество знаков с пробелами: 148576
Количество таблиц: 34
Количество изображений: 0

Тема 4.4. Защищенность и отказоустойчивость операционных систем


  • Несанкционированное чтение информации.

  • Несанкционированное изменение информации.

  • Несанкционированное уничтожение.

  • Полное или частичное разрушение операционной системы, полное или частичное ее завешивание, завешивание программных модулей, физическое стирание с диска системных файлов (вирусы, DoS).

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

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

  • Создание новых каналов получения информации с помощью программных закладок.

  • Активное воздействие – несанкционированное действия злоумышленника в системе (подбор пароля, украли базу паролей).

  • Пассивное воздействие – несанкционированное наблюдение злоумышленника за процессами, происходящими в системе (сниффер).

  • Неадекватная политика безопасности, в том числе, ошибки администратора системы.

  • Ошибки и недокументированные возможности программного обеспечения ОС: люки – случайные или преднамеренные служебные входы.

  • Ранее внедренная программная закладка.

  • Непосредственное воздействие.

  • Превышение пользователем своих полномочий.

  • Работа от имени другого пользователя.

  • Использование результатов работы другого пользователя (перехват информационных потоков).

    • В интерактивном режиме.

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

    • ОС в целом.

    • Объекты ОС (файлы, устройства, и т.д.).

    • Субъекты ОС (пользователи, системные процессы, и т.д.).

    • Каналы передачи данных.

      • Штатные средства ОС, без использования дополнительного ПО.

      • ПО третьих фирм (вирусы, вредоносные программы, отладчики, сетевые мониторы, сканеры).

      • Специально разработанное ПО.

      Типичные атаки на ОС

      1. Сканирование файловой системы
      2. Кража ключевой информации.
      Простейший случай – подсматривание паролей, набираемых пользователем.

      3. Подбор пароля.

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

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

      6. Программные закладки.

      7. Жадные программы. Так называются программы, преднамеренно захватывающие значительную часть ресурсов компьютера, в результате чего другие программы не могут выполняться или выполняются крайне медленно и неэффективно. Часто запуск жадной программы приводит к краху ОС.
      Понятие защищенной операционной системы

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


      1. Средства разграничения доступа пользователей к ресурсам.

      2. Средства проверки подлинности пользователя.

      3. Средства противодействия случайному или преднамеренному выводу операционной системы из строя.

      Административные меры защиты

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


      • Управление оперативной и виртуальной памятью компьютера.

      • Распределение процессорного времени между задачами в многозадачной ОС.

      • Синхронизация выполнения параллельных задач в многозадачной ОС.

      • Обеспечение корректности совместного доступа задач к ресурсам ОС.

      • Исключение тупиковых ситуаций в процессе совместного доступа задач к ресурсам ОС.

      Базовые технологии безопасности

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

      Аутентификация, авторизация, аудит

      Аутентификация - процесс определения взаимодействия клиента с настоящим файловым сервером. Так, когда пользователь регистрируется на компьютере, ОС, как правило, желает определить, кем является данный пользователь и запускает процесс, называемый аутентификацией пользователя.


      1. Чего-то, известного пользователю (например, пароля);

      2. Чего-то, имеющегося у пользователя (например, смарт-карта);

      3. Чего-то, чем является пользователь (аутентификация с использованием биометрических данных).

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

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

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

      Дисковый массив RAID представляется для пользователей и прикладных программ единым логическим диском. Такое Логическое устройство может обладать различными качествами в зависимости от стратегии, заложенной в алгоритмы работы средств централизованного управления и размещения информации на всей совокупности дисков. Это логическое устройство может, например, обладать повышенной отказоустойчивостью или иметь производительность, значительно большую, чем у отдельно взятого диска, либо обладать обоими этими свойствами. Различают несколько вариантов RAID-массивов, называемых также уровнями: RAID-0, RAID-1, RAID-2, RAID-3, RAID-4, RAID-5 и некоторые другие.


      • степень избыточности хранимой информации (или тесно связанная с этим критерием стоимость хранения единицы информации);

      • производительность операций чтения и записи;

      • степень отказоустойчивости.


      Рис. 1 Организация массива RAID-0
      В логическом устройстве RAID-0 (рис. 1) общий для дискового массива контроллер при выполнении операции записи расщепляет данные на блоки и передает их параллельно на все диски, при этом первый блок данных записывается на первый диск, второй — на второй и т. д. Различные варианты реализации технологии RAID-0 могут отличаться размерами блоков данных, например в наборах с чередованием, представляющих собой программную реализацию RAID-0 в Windows NT, на диски поочередно записываются полосы данных (strips) по 64 Кбайт. При чтении контроллер мультиплексирует блоки данных, поступающие со всех дисков, и передает их источнику запроса.


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

      Рис. 2. Организация массива RAID-1
      Уровень RAID-0 не обладает избыточностью данных, а значит, не имеет возможности повысить отказоустойчивость. Если при считывании произойдет сбой, то данные будут безвозвратно испорчены. Более того, отказоустойчивость даже снижается, поскольку если один из дисков выйдет из строя, то восстанавливать придется все диски массива. Имеется еще один недостаток — если при работе с RAID-0 объем памяти логического устройства потребуется изменить, то сделать это путем простого добавления еще одного диска к уже имеющимся в RAID-массиве дискам невозможно без полного перераспределения информации по всему изменившемуся набору дисков.

      Уровень RAID-1 (рис. 2) реализует подход, называемый зеркальным копированием (mirroring). Логическое устройство в этом случае образуется на основе одной или нескольких пар дисков, в которых один диск является основным, а другой диск (зеркальный) дублирует информацию, находящуюся на основном диске. Если основной диск выходит из строя, зеркальный продолжает сохранять данные, тем самым обеспечивается повышенная отказоустойчивость логического устройства. За это приходится платить избыточностью — все данные хранятся на логическом устройстве RAID-1 в двух экземплярах, в результате дисковое пространство используется лишь на 50 %.

      При внесении изменений в данные, расположенные на логическом устройстве RAID-1, контроллер (или драйвер) массива дисков одинаковым образом модифицирует и основной, и зеркальный диски, при этом дублирование операций абсолютно прозрачно для пользователя и приложений. Удвоение количества операций записи снижает, хотя и не очень значительно, производительность дисковой подсистемы, поэтому во многих случаях наряду с дублированием дисков дублируются и их контроллеры. Такое дублирование (duplexing) помимо повышения скорости операций записи обеспечивает большую надежность системы — данные на зеркальном диске останутся доступными не только при сбое диска, но и в случае сбоя дискового контроллера.

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

      Уровень RAID-2 расщепляет данные побитно: первый бит записывается на первый диск, второй бит — на второй диск и т. д. Отказоустойчивость реализуется в RAID-2 путем использования для кодирования данных корректирующего кода Хэмминга, который обеспечивает исправление однократных ошибок и обнаружение двукратных ошибок. Избыточность обеспечивается за счет нескольких дополнительных дисков, куда записывается код коррекции ошибок. Так, массив с числом основных дисков от 16 до 32 должен иметь три дополнительных диска для хранения кода коррекции. RAID-2 обеспечивает высокую производительность и надежность, но он применяется в основном в мэйнфреймах и суперкомпьютерах. В сетевых файловых серверах этот метод в настоящее время практически не используется из-за высокой стоимости его реализации.

      В массивах RAID-3 используется расщепление (stripping) данных на массиве дисков с выделением одного диска на весь набор для контроля четности. То есть если имеется массив из N дисков, то запись на N-1 из них производится параллельно с побайтным расщеплением, а N-й диск используется для записи контрольной информации о четности. Диск четности является резервным. Если какой-либо диск выходит из строя, то данные остальных дисков плюс данные о четности резервного диска позволяют не только определить, какой из дисководов массива вышел из строя, но и восстановить утраченную информацию. Это восстановление может выполняться динамически, по мере поступления запросов, или в результате выполнения специальной процедуры восстановления, когда содержимое отказавшего диска заново генерируется и записывается на резервный диск.

      Рассмотрим пример динамического восстановления данных. Пусть массив RAID-3 состоит из четырех дисков: три из них — ДИСК 1, ДИСК 2 и ДИСК 3 — хранят данные, а ДИСК 4 хранит контрольную сумму по модулю 2 (XOR). И пусть на логическое устройство, образованное этими дисками, записывается последовательность байт, каждый из которых имеет значение, равное его порядковому номеру в последовательности. Тогда первый байт 0000 0001 попадет на ДИСК 1, второй байт 0000 0010 - на ДИСК 2, а третий по порядку байт - на ДИСК 3. На четвертый диск будет записана сумма по модулю 2, равная в данном случае 0000 0000 (рис. 3). Вторая строка таблицы, приведенной на рисунке, соответствует следующим трем байтам и их контрольной сумме и т. д. Представим, что ДИСК 2 вышел из строя.


      Рис.3 Пример распределения данных по дискам массива RAID-3

      При поступлении запроса на чтение, например, пятого байта (он выделен жирным шрифтом) контроллер дискового массива считывает данные, относящиеся к этой строке со всех трех оставшихся дисков — байты 0000 0100, 0000 0110, 0000 0111 — и вычисляет для них сумму по модулю 2. Значение контрольной суммы 0000 0101 и будет являться восстановленным значением потерянного из-за неисправности пятого байта.

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


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

      Рис. 4. Организация массива RAID-3
      Минимальное количество дисков, необходимое для создания конфигурации RAID-3, равно трем. В этом случае избыточность достигает максимального значения — 33 %. . При увеличении числа дисков степень избыточности снижается, так, для 33 дисков она составляет менее 1%.

      Уровень RAID-3 позволяет выполнять одновременное чтение или запись данных на несколько дисков для файлов с длинными записями, однако следует подчеркнуть, что в каждый момент выполняется только один запрос на ввод-вывод, то есть RAID-3 позволяет распараллеливать ввод-вывод в рамках только одного процесса (рис. 4). Таким образом, уровень RAID-3 повышает как надежность, так и ско­рость обмена информацией.


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

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

      Презентация на тему Защищенность и отказоустойчивость ОС, из раздела: Информатика. Презентация в формате PowerPoint (pptx) содержит 11 слайдов, для просмотра воспользуйтесь проигрывателем. Материал можно скачать внизу страницы, поделившись ссылкой в социальных сетях! Презентации взяты из открытого доступа или загружены их авторами, администрация сайта не отвечает за достоверность информации в них. Все права принадлежат авторам презентаций.

      Слайды и текст этой презентации Открыть в PDF

      Слайд 1

      Защищенность и отказоустойчивость ОСПовторение модуля, основные понятия и вопросы для повторения

      Защищенность и отказоустойчивость ОС

      Повторение модуля, основные понятия и вопросы для повторения

      Слайд 2

      Понятия для повторения Защита данныхЗащита ресурсов ОтказоустойчивостьАппаратный сбой Программный сбой

      Понятия для повторения

      Защита данных
      Защита ресурсов
      Отказоустойчивость
      Аппаратный сбой
      Программный сбой

      Слайд 3

      Защита ресурсовКаждая операционная система должна обеспечивать некоторый уровень защищенности — как ресурсов, так и данных

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

      Слайд 4

      Защита данныхОперационные системы включают в себя механизм авторизации доступа. Традиционно пользователь должен иметь учетную запись

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

      Слайд 5

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

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

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

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

      Слайд 6

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

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

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

      Слайд 7

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

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

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

      Слайд 8

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

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

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

      Слайд 9

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

      Слайд 10

      Вопросы Каким образом можно защитить данные от несанкционированного доступа? Какие причины возникновения программных

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

      Слайд 11

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

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

      Читайте также: