Системы RAID и Oracle

Системы RAID и базы данных OracleИзбыточный массив недорогих (или независимых) дисковых устройств ( Redundant Array of Inexpensive (Independent) Disks — RAID) является популярным способом для конфигурирования больших логических (или виртуальных) дисков из набора дисков меньшего размера. Суть состоит просто в объединении нескольких небольших недорогих дисков в массив для достижения большей производительности и безопасности данных.Такой подход позволяет заменять один дорогой большой диск несколькими небольшими и гораздо более дешевыми дисками. Данные делятся на несколько блоков одинакового размера, который называется размером слоя (stripe size) и обычно составляет 32 или 64 Кбайт; каждый из этих блоков записывается на каждый диск; то, каким точно образом распределяются данные, зависит от выбираемого уровня RAID. Когда данные считываются, процесс выполняется в обратном порядке, создавая впечатление, что используется один большой, а не несколько маленьких дисков.

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

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

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

Уровни RAID

В системах RAID постоянно ведется борьба за компромисс между производительностью и надежностью. Для улучшения производительности и повышения надежности дисков применяются две основных методики: расслоение (stripping) и зеркальное отображение (mirroring) дисковых массивов.

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

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

Уровень RAID 0: расслоение (stripe)

Собственно говоря, RAID 0 на самом деле не является уровнем RAID, поскольку расслоение не обеспечивает защиты данных. Данные разбиваются на блоки (chunks) и распределяются среди нескольких дисков, которые образуют дисковый массив. Набор всех этих блоков здесь и называется слоем (stripe).

Давайте предположим, что размер блока или слоя составляет 8 Кбайт. Тогда при наличии трех дисков в RAID-массиве и 24 Кбайт данных, подлежащих записи в систему RAID, первые 8 Кбайт будут записываться на первый диск, вторые — на второй, а последние — соответственно, на третий диск. Все операции записи будут происходить одновременно.

Из-за того, что ввод и вывод распределяется между несколькими дисками и контроллерами дисков, производительность систем уровня RAID 0 получается довольно высокой. Например, на запись файла размером 800 Кбайт на RAID-массив, состоящий из восьми дисков, с разделением данных на блоки размером 100 Кбайт, будет тратиться,грубо говоря, в восемь раз меньше времени, чем на выполнение той же операции на одном диске. Однако из-за отсутствия встроенной избыточности отказ даже одного диска может приводить к потере всех данных, поскольку данные хранятся последовательно,блоками. Уровень RAID 0 рассчитан только на обеспечение высокой производительности; защите данных уделяется очень мало внимания. Нужно запомнить, что уровень RAID 0 подразумевает нулевую избыточность. Он может быть хорошим решением во многих тестовых средах, где производительность данных играет более важную роль,чем их безопасность, и позволяет делать доступной для хранения данных всю емкость дискового массива.

RAID 1: зеркальное отображение

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

Важно обратить внимание на то, что выбор RAID 1 означает, что платить придется за n дисков, но выделять для системы придется только половину из этого количества,так как все диски будут дублироваться.

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

RAID 2: расслоение с обнаружением и исправлением ошибок

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

RAID 3: расслоение с выделенным контролем четности

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

Операции ввода и вывода выполняются в системах RAID 3 медленнее, чем в системах с простым расслоением вроде RAID 0, поскольку информацию также требуется записывать и на диск контроля четности. Системы RAID способны обрабатывать за раз только один запрос ввода-вывода.

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

Массивы RAID 5 с небольшими слоями способны обеспечивать более высокую производительность, чем массивы RAID 3.

RAID 4: модифицированное расслоение с выделенным контролем четности

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

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

RAID 5: модифицированное расслоение с чередующимся контролем четности

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

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

RAID 0+1: расслоение и зеркальное отображение

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

Выбор идеальной конфигурации дисков

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

Система Преимущества Недостатки
RAID 0 Обеспечивает высокую скорость выполнения операций чтения и записи и дешево стоит. Не очень надежная (не предусматривает избыточность).
RAID 1 Обеспечивает 100% избыточность. Дорого стоит и подразумевает дублирование всех операций записи.
RAID 2   Дорого стоит и подразумевает трату массы места на накладные расходы; из-за специальных требований к дискам не пригодна с коммерческой точки зрения.
RAID 3 Обеспечивает возможность воссоздания данных в случае отказа одного диска (в случае одновременного отказа сразу двух дисков приводит к потере данных). Дорого стоит и обладает плохими показателями по осуществлению произвольного доступа к данным.
RAID 4 Обеспечивает возможность воссоздания данных в случае отказа только одного диска (в случае одновременного отказа сразу двух дисков приводит к потере данных). Дорого стоит и ведет к ухудшению скорости выполнения операций записи, а также возможному образованию узких мест на диске контроля четности.
RAID 5 Предлагает высокую степень надежности и обеспечивает возможность воссоздания данных в случае отказа только одного диска (в случае одновременного отказа сразу двух дисков приводит к потере данных). Обладает низкими показателями по скорости выполнения операций записи,хотя и не такими низкими, как RAID 4.
RAID 0+1 Имеет замечательные показатели по скорости произвольного доступа, а также по скорости передачи данных. Дорого стоит (из-за того, что требует дублирования всех дисков).

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

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

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

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

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


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


В целом при выборе RAID-конфигурации для дисков имеет смысл пользоваться следующими рекомендациями.

  • Помнить о том, что RAID 5 обладает массой преимуществ по сравнению со всеми остальными уровнями RAID. Традиционную жалобу по поводу низкой скорости выполнения операций записи не стоит брать в расчет из-за появления серьезных улучшений в механизмах кэширования записываемых данных и других стратегиях, которые делают конфигурацию RAID 5 гораздо более эффективной, чем она была раньше. Реализации RAID 5, основанные на использовании специализированных контроллеров, работают гораздо лучше тех, что базируются на использовании самого сервера. Применение механизмов кэширования записываемых данных в системах RAID 5 значительно повышает общую скорость выполнения операций записи.
  • Предусматривать гораздо больше исходного дискового пространства, чем требуется на самом деле согласно подсчетам, и, в том числе, увеличивать предполагаемые объемы хранилища. Для обеспечения отказоустойчивости в системах RAID необходимо использовать больше дисков, чем в других системах. Поэтому,если согласно подсчетам требуется 400 Гбайт дискового пространства, тогда для настройки, например, конфигурации RAID 5 понадобится семь дисков с хранилищем емкостью 72 Гбайт на каждом. Один из этих семи дисков необходим для записи информации о четности. Если нужно иметь в системе еще один резервный диск с возможностью подключения без прекращения работы системы, тогда всего потребуется 8 дисков.
  • Выбирать размер для слоев в зависимости от того, к какому типу относятся приложения баз данных. В случае использования приложений типа OLTP размеры слоев должны быть небольшими, например, по 128 Кбайт для каждого. В случае же приложений типа больших хранилищ данных лучше делать размеры слоев гораздо больше.
  • Разбираться в приложении. Наличие хорошего представления о том, чего именно требуется достигнуть с помощью вверенных в управление баз данных, поможет выбирать наиболее подходящий вариант среди схожих альтернатив RAID.
  • Всегда подготавливать в системах хранения хотя бы один или два резервных диска с возможностью его подключения без прекращения работы системы.

Избыточные контроллеры дисков

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


Внедрение массивов RAID


Существует несколько способов внедрения массивов RAID. Главное отличие состоит в том, как реализуются программные и как реализуются аппаратные RAID-массивы.

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

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


Массивы RAID и резервные копии

Предположим, что для хранения данных используется массив уровня RAID 0+1 или RAID 5, который более или менее гарантирует надлежащую защищенность от отказов дисков. Нужно ли все равно делать резервные копии базы данных? Конечно же, да!

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

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

Массивы RAID и базы данных Oracle

В базах данных Oracle используются файлы нескольких видов. Из-за этого может возникнуть необходимость в применении нескольких конфигураций RAID для оптимизации производительности базы данных и при этом сведения общей стоимости дисковых массивов к разумному минимуму. Здесь важно помнить о том, что в случае применения системы RAID 3 или RAID 5 никакого соответствия типа “один к одному” между физическими дисками в массиве и логическими дисками, или логическими номерами устройств (Logical Unit Numbers — LUN), которые системные администраторы используют для создания логических томов, которые, в свою очередь, монтируются для файловых систем, не существует. Поэтому лучше советовать системному администратору создавать столько логических томов для каждого номера LUN, сколько на него приходится физических дисков. Тогда оптимизатор Oracle будет иметь более реалистичное представление об используемой базой данных конфигурации физических дисков.Логические тома имеют обманчивый вид и могут вводить оптимизатор в заблуждение.

 

Вас заинтересует / Intresting for you:

Oracle alerts: генерируемые се...
Oracle alerts: генерируемые се... 4472 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:18:05
Oracle Personal Edition
Oracle Personal Edition 5192 просмотров Надин Tue, 21 Nov 2017, 13:32:12
Установка Oracle 11g на Linux
Установка Oracle 11g на Linux 15027 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:18:05
Запись в бд oracle (DBWr)
Запись в бд oracle (DBWr) 6384 просмотров Боба Tue, 24 Nov 2020, 07:10:36
Войдите чтобы комментировать

OraCool аватар
OraCool ответил в теме #8933 19 фев 2018 17:43
RAID 5 в основном. С RAID 0+1 не сталкивался...
apv аватар
apv ответил в теме #8717 03 окт 2017 13:14
RAID и современные базы данных неотделимы. У моих клиентов и у себя в конторе применяю RAID 5 для хранения баз данных и всего прочего. Интересно, кто-то использует RAID 0+1. Что дорого - это понятно, а вот насколько он геммороен в обслуживании?
apv аватар
apv ответил в теме #8423 13 апр 2017 08:05
Коллеги, а кто какого уровня RAID-массивы использует для хранения баз данных Oracle? Понятно, что определяется назначением базы OLTP, Data Warehouse, гибрид, но все же.. В средних корпорациях наверняка гибрид, правда? У моих клиентов в основном RAID 5.