write caching raid что это

Write caching raid что это

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что этоВсем привет, давно хотел написать для себя напоминалку, по поводу того какие виды кэша на рейд контроллерах LSI и Intel бывают, и какие настройки лучше всего выставлять для достижения максимальной производительности на ваших RAID контроллерах. Сразу хочу отметить, что если у вас есть запас времени, перед, тем как отдать сервер в продашен заказчику, то не поленитесь все же провести несколько тестов с разными настройками, и не забывайте, до их начала обновить все прошивки на оборудование и RAID контроллер.

Общие понятия по видам кэш

Существует три разновидности cache на RAID контроллерах:

Рассмотрим более детально, что из себя представляет каждая политика кэширования.

Read policy (Политика чтения)

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

Политика No Read Ahead (Normal) : При данном режиме контроллер не будет считывать последовательно данные, данный режим предпочтительнее когда будут производиться рандомные (случайные) чтения. Также этот режим рекомендуется при измерении последовательного чтения с помощью I/O meter под Windows.

Политика Adaptive Read Policy : по сути политика адаптивного чтения при которой контроллер запускает политику упреждающего чтения только после того, как две последние операции запрашивали доступ к последовательно идущим блокам данных. Если далее идут блоки рандомно разбросанные по дисковой подсистеме контроллер возвращается в нормальный режим работы. Этот режим рекомендуется использовать, если нагрузка на RAID контроллере подразумевает смешанные и последовательные операции.

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

Write policy (Политика записи)

Политика W rite-Through : Включая данную политику контроллер начинает посылает сигнал о завершении записи только тогда, когда информация упадет на физические носители, т.е. 100 процентов будет уже на жестких дисках. Обеспечивает более высокую безопасность. Данный режим не использует кэш для ускорения записи, и будет медленнее других, однако позволяет так же достичь хороших показателей при RAID 0 и RAID 10.

Политика Write-Back : Включая данный режим политика кэширования RAID контроллера начинает посылать сигнал о завершении записи только тогда, когда информация попадает в кэш контроллера, но еще не записана на дисковый массив. Обеспечивает более высокую прозводительность чем при политике write-through. Приложение продолжает работать, не дожидаясь, чтобы данные были физически записаны на жесткие диски. Но есть одно большое, но если во время работы RAID контроллера в таком режиме у вас пропадет электричество, то с 99 процентной вероятностью вы потеряете данные, для предотвращения этого есть BBU батарейки или модули защиты данных, так же советую проверить что у вашего сервера есть UPS (источник бесперебойного питания) и дублирующее подключение питания от блока питания.

Политика Write-Back with BBU : Данный режим это все тот же Write-Back, но разница в том, что у нас есть батарейка BBU, которая предотвращает потерю данных при выключении электропитания.

BBU или Battery Backup Unit (Модуль Резервной Батареи). BBU дает батарейную защиту питания для cache RAID контроллера. В случае сбоя питания, BBU поможет сохранить данные в кэше.

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

I/O Policy (Политика ввода/вывода)

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

Политика direct IO : чтение происходит с дисков. Прямой режим I/O рекомендуется в большинстве случаев. Большинство файловых систем и множество приложений имеют свой собственный кэш и не требуют кэширования данных на уровне контроллера RAID.

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

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

Disk cache policy : это политика кэша диска. Если ее включить то на дисках будет храниться дополнительный кэш, это будет влиять на скорость записи в худшую сторону, но будут быстрее считывание, так же при включенном режиме есть риск потери данных.

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

Настройка RAID контроллера для лучшей производительности

Любой инженер по системам хранения данных, хочет чтобы его инфраструктура работала как можно быстрее и использовала весь функционал заложенный в ней. Каждый вендор RAID контроллеров, имеет некий best prictice для своей продукции, давайте сегодня рассмотрим их на примере контроллеров Intel и LSI.

Оптимальные настройки для контроллеров Intel

Ниже представлена таблица с рекомендуемыми настройками для контроллеров Intel, для достижения максимальной производительности. О таких параметрах как Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read мы поговорим ниже. Как видите лучшим режимом чтения является Adaptive Read Ahead, а режимом записи Write Back.

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

Оптимальные настройки для контроллеров LSI

Ниже представлена таблица с рекомендуемыми настройками для контроллеров LSI, для достижения максимальной производительности. Будут рассмотрены сводные таблицы для HDD и для SSd дисков.

Оптимальные настройки для HDD

Размер stripe 256 kb, включение disk Cache Policy включен, выбран I/O Policy Direct IO, нужно дать закончить lun инициализацию

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

MegaRAID Settings for Maximum HDD Performance

Оптимальные настройки для SSD

Размер stripe 256 kb, включение disk Cache Policy включен, выбран I/O Policy Direct IO, нужно дать закончить lun инициализацию, режимы записи для разных видов RAID разные.

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

MegaRAID Settings for Maximum SSD Performance

Оптимальные настройки для HP контроллеров

Факторы влияющие на производительность

Рассмотрим что такое Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read.

write caching raid что это. Смотреть фото write caching raid что это. Смотреть картинку write caching raid что это. Картинка про write caching raid что это. Фото write caching raid что это

Источник

HelpDesk

Чем мы можем вам сегодня помочь?

Виды кэша, настройка производительности на рейд контроллерах LSI и Intel Печать

Изменено: Сб, 2 Июл, 2016 at 1:52 AM

Общие понятия по видам кэш

Рассмотрим более детально, что из себя представляет каждая политика кэширования.

Read policy (Политика чтения)

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

Политика No Read Ahead (Normal): При данном режиме контроллер не будет считывать последовательно данные, данный режим предпочтительнее когда будут производиться рандомные (случайные) чтения. Также этот режим рекомендуется при измерении последовательного чтения с помощью I/O meter под Windows.

Политика Adaptive Read Policy: по сути политика адаптивного чтения при которой контроллер запускает политику упреждающего чтения только после того, как две последние операции запрашивали доступ к последовательно идущим блокам данных. Если далее идут блоки рандомно разбросанные по дисковой подсистеме контроллер возвращается в нормальный режим работы. Этот режим рекомендуется использовать, если нагрузка на RAID контроллере подразумевает смешанные и последовательные операции.

Write policy (Политика записи)

Disk cache policy: это политика кэша диска. Если ее включить то на дисках будет храниться дополнительный кэш, это будет влиять на скорость записи в худшую сторону, но будут быстрее считывание, так же при включенном режиме есть риск потери данных.

Источник

Виды RAID массивов, настройка RAID и характеристики.

Виды RAID массивов (часто используемые).

RAID 0 (stripe) – диски объединяются в один, который может быть размечен на несколько логических.

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 контроллера.

Источник

RAID для «чайников» и не только

KDV, iBase.ru, 26.11.2004, последнее обновление – 27.02.2009.

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

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания – а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное – на самом деле все равно). Перед вашими глазами – именно такой материал.

Примечание. Сейчас есть хорошая статья о RAID в Википедии.

В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD – неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров – это баловство для человека, сидящего на домашнем компьютере).

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один «физический» диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла – в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

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

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 – аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или «железный» RAID 1, или shadow.

При сбое тщательно проверяйте, какой именно диск сбойнул. Самый частый случай погибания данных на RAID 1 – это неверные действия при восстановлении (в качестве «целого» указан не тот диск).

RAID 1+0

RAID 2-3-4

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что «RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно». Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Объем дискового массива RAID5 расчитывается по формуле (n-1)*hddsize, где n – число дисков в массиве, а hddsize – размер одного диска. Например, для массива из 4-х дисков по 80 гигабайт общий объем будет 240 гигабайт.

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

RAID 10, 50

Дальше идут уже комбинации из перечисленных вариантов. Например, RAID 10 это RAID 0 + RAID 1. RAID 50 – это RAID 5 + RAID 0.

Интересно, что комбинация RAID 0+1 в плане надежности оказывается хуже, чем RAID5. В копилке службы ремонта БД есть случай сбоя одного диска в системе RAID0 (3 диска) + RAID1 (еще 3 таких же диска). При этом RAID1 не смог «поднять» резервный диск. База оказалась испорченной без шансов на ремонт.

Для RAID 0+1 требуется 4 диска, а для RAID 5 – 3. Подумайте об этом.

RAID 6

В отличие от RAID 5, который использует четность для защиты данных от одиночных неисправностей, в RAID 6 та же четность используется для защиты от двойных неисправностей. Соответственно, процессор более мощный, чем в RAID 5, и дисков требуется уже не 3, а минимум 5 (три диска данных и 2 диска контроля четности). Причем, количество дисков в raid6 не имеет такой гибкости, как в raid 5, и должно быть равно простому числу (5, 7, 11, 13 и т. д.)

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

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

Rebuild time

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

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

Резюме

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

Текст
В старой статье hddspeed.htmLINK (и в doc_calford_1.htmLINK) показано, как можно получить существенное увеличение производительности путем использования нескольких физических дисков, даже для IDE. Соответственно, если вы организуете RAID – положите на него базу, а остальное (temp, OS, виртуалка) делайте на других винчестерах. Ведь все равно, RAID сам по себе является одним «диском», пусть даже и более надежным и быстродействующим.
признан устаревшим. Все вышеупомянутое вполне имеет право на существование на RAID 5. Однако перед таким размещением необходимо выяснить – каким образом можно делать backup/restore операционной системы, и сколько по времени это будет занимать, сколько времени займет восстановление «умершего» диска, есть ли (будет ли) под рукой диск для замены «умершего» и так далее, т. е. надо будет заранее знать ответы на самые элементарные вопросы на случай сбоя системы.

Я все-таки советую операционную систему держать на отдельном SATA-диске, или если хотите, на двух SATA-дисках, связанных в RAID 1. В любом случае, располагая операционную систему на RAID, вы должны спланировать ваши действия, если вдруг прекратит работать материнская плата – иногда перенос дисков raid-массива на другую материнскую плату (чипсет, raid-контроллер) невозможен из-за несовместимости умолчательных параметров raid.

Размещение базы, shadow и backup

Несмотря на все преимущества RAID, категорически не рекомендуется, например, делать backup на этот же самый логический диск. Мало того что это плохо влияет на производительность, но еще и может привести к проблемам с отсутствием свободного места (на больших БД) – ведь в зависимости от данных файл backup может быть эквивалентным размеру БД, и даже больше. Делать backup на тот же физический диск – еще куда ни шло, хотя самый оптимальный вариант – backup на отдельный винчестер.

Объяснение очень простое. Backup – это чтение данных из файла БД и запись в файл бэкапа. Если физически все это происходит на одном диске (даже RAID 0 или RAID 1), то производительность будет хуже, чем если чтение производится с одного диска, а запись – на другой. Еще больше выигрыш от такого разделения – когда backup делается во время работы пользователей с БД.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *