В последнее время не редко задавался вопросом настройки RAID-массива. Рассмотрим какие есть виды RAID , чем они отличаются, какие имеют характеристики среди.
Виды RAID массивов (часто используемые).
RAID 0 (stripe) — диски объединяются в один, который может быть размечен на несколько логических.
Плюсы.
В массиве RAID 0 операции чтения и записи увеличивают скорость работы, поскольку несколько дисков одновременно читают/записывают свою часть данных, тем самым увеличивая производительность диска .
Минусы.
Из минусов — это отсутствие защиты хранения информации дисков, так как при выходе из строя одного из дисков массив выходит из строя, в результате чего восстановить данные маловероятно.
Где применяется — операции, требующие высоких скоростей обмена с диском.
Пример.
Имеются два диска по 1 Tb, скорость чтения и записи каждого по 150 Мбайт/с. Объединяем их в RAID 0, получаем в итоге один диск объемом 2 Tb и скоростью записи, чтения диска 300 МБайт/c (150*2).
RAID 1 (mirror) — такой вид массива также называют «зеркальный массив».
Плюсы.
Надежность хранимых данных, диски дублируют друг друга.
При выходе из строя одного из дисков RAID 1, данные остаются в полном объеме на втором.
Минусы.
Высокая стоимость за счет использование половиной места под резервирование, высокая надежность.
Производительность не увеличивается.
Пример.
Имеются два диска по 1 Tb, скорость чтения и записи каждого по 150 Мбайт/с. Объединяем их в RAID 1, получаем в итоге один диск объемом 1 Tb и скоростью записи, чтения диска 150 МБайт/c (150*2). Но данные записываются одновременно на оба диска, полностью копируя друг друга.
RAID 5 — дисковый массив, который может вести параллельную запись на диски массива, что увеличивает его быстродействие.
Есть резервирование данных. При выходе из строя одного из дисков массив продолжает работать.
Плюсы.
Экономичность, высокая надёжность, неплохая производительность
Минусы.
Производительность ниже RAID 0
RAID 10 — массив RAID 0, построенный из массивов RAID 1, минимальное количество жестких дисков 4. Совмещение RAID 1 и RAID 0.
Плюсы.
Высокая производительность за счет RAID 0.
Высокая надежность за счет RAID.
Минусы.
Высокая стоимость
Пример.
Берем четыре диска по 1 Tb, скорость чтения и записи каждого по 150 Мбайт/с. Объединяем их в RAID 10, получаем в итоге один диск объемом 2 Tb. Скорость записи, чтения становится диска 150 МБайт/c (150*2). Данные копируются на оставшиеся два диска.
Настройки RAID
Stripe size — определяет объем данных записываемых за одну операцию ввода/вывода. размер strip задается в момент создания RAID массива и не может быть изменен позднее без пересоздания всего массива. Запись производится поочередно на каждый диск массива по указанному размеру stripe.То есть файл размещается сразу на двух дисках по по кусочкам указанных в stripe. Больший размер страйпа обеспечивает прирост производительности при работе с большими последовательными файлами (например, видео), меньший — обеспечивает большую эффективность в случае работы с большим количеством небольших файлов. В большинстве случаев рекомендуется оставлять значение по умолчанию.
Read Policy — определяет, запускать или нет процедуру упреждающего чтения. Рекомендуется здесь выбирать Adaptive, если RAID предназначен для решения широкого спектра задач и отдать тем самым принятие решения на откуп RAID контроллеру. Если RAID массив рассчитан на «переваривание» максимально возможного количества IOPS, то этот параметр обычно устанавливается в Off.
Normal — упреждающее чтение отключено
Read-Ahead — использовать механизм упреждающего чтения. Эта функция помогает увеличить скорость чтения при операциях с большими файлами.
Adaptive (Адаптивно) — контроллер сам решает использовать ли упреждающее чтение, включается только при последовательном чтении одинаковых блоков. При произвольном чтении автоматически не используется.
Write Policy — способ записи данных, полученных RAID контроллером, на дисковый массив. По другому эти способы еще называются так: прямая запись (Write Through) и отложенная запись (Write Back).
Write Through — данные записываются непосредственно на дисковый массив. Как только данные получены, они сразу же записываются на диски и после этого контроллер подает сигнал управляющей ОС о завершении операции.
Write Back — данные записываются сначала в cache, и только потом (либо по мере заполнения cache, либо в моменты минимальной загрузки дисковой системы) из cache на диски. При этом, сигнал о завершении операции записи передается управляющей ОС сразу же по получении данных cache контроллера. Write Back работает быстрее, но при этом надо помнить, что в случае сбоя питания все данные, которые находились в этот момент в cache, будут потеряны. Причем, управляющая ОС (а следовательно и приложение, записывавшее эти данные) ничего об этом «не узнают», так как они уже получили сообщение от контроллера об успешном завершении записи. Например, если в cashe находились данные транзакции сервера СУБД, то СУБД будет уверенна, что с данными все хорошо, хотя на самом деле это не так. Избежать описанной проблемы можно или с помощью установки на RAID контроллер BBU, или посредством подключения всего сервера через источник бесперебойного питания (UPS) с функцией программируемого выключения. RAID контроллеры не позволяют включить функцию Write Back без установленного BBU.
Always Write Back — всегда включена политика записи через cache, не зависимо от присутствия/отсутствия BBU
Write Back with BBU — работает только при наличии исправной BBU, переключится в режим Write Through при отсутствии BBU или ее не достаточном заряде
IO Policy — влияет на работу cache при операциях чтения и не зависит от состояния read-ahead.
Cache I/O — все операции чтения кешируются.
Direct I/O — операции чтения не кешируются. При использовании этого режима данные из дисковой подсистемы параллельно направляются в cache и в ОС. В случае повторного чтения того же блока, сперва блок берётся из cache.
Drives Cache — кэширование дисков
Enable — включено
Disable — выключено, лучше выбирать это если нет online ИБП или bbu
Unchanged — не изменять текущую политику кэширования
Disable BGI (Disable background initialization)
No — background initialization включено. Значение по умолчанию.
Yes — background initialization отключено.
BBU (Battery Backup Unit) необходим для предотвращения потери данных находящихся в cache RAID контроллера и еще не записанных на диск (отложенная запись — «write-back caching»), в случае аварийного выключения компьютерной системы. Существуют такие виды BBU:
Просто BBU — аккумулятор, который обеспечивает резервное питание cache через RAID контроллер.
Переносимые (Transportable) BBU (tBBU) — аккумулятор, который размещен непосредственно на модуле cache и питает его независимо от RAID контроллера. В случае выхода из строя RAID контроллера, это позволяет перенести данные, сохраненные в cache, на резервный контроллер и уже на нем завершить операцию записи данных.
Flash BBU — в случае сбоя питания RAID контроллер копирует содержимое cache в энергонезависимую память. Питание, необходимое для завершения этого процесса, обеспечивается встроенным супер-конденсатором. После восстановления питания, данные из flash-памяти копируются обратно в cache контроллера.