Write through или write back

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

RAID массив из дисков — несколько физических дисков (чаще всего HDD) объединенных в один виртуальный диск для различных целей: надежности хранения данных, увеличения скорости работы с дисками, обеспечение возможности объединения нескольких дисков в один большой диск.

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

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

Всем привет, давно хотел написать для себя напоминалку, по поводу того какие виды кэша на рейд контроллерах LSI и Intel бывают, и какие настройки лучше всего выставлять для достижения максимальной производительности на ваших RA >

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

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

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

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

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

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

Политика Adaptive Read Policy : по сути политика адаптивного чтения при которой контроллер запускает политику упреждающего чтения только после того, как две последние операции запрашивали доступ к последовательно идущим блокам данных. Если далее идут блоки рандомно разбросанные по дисковой подсистеме контроллер возвращается в нормальный режим работы. Этот режим рекомендуется использовать, если нагрузка на 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 поможет сохранить данные в кэше.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Virtual Drive initialization — это зануление, блоков раздела, перед тестирование скорости советую дождаться полной инициализации. По времени занимает по разному все зависит от размеров массива.

Stripe size — Размер блока данных одной ячейки раздела, по сути карта как данные распределены по жестким дискам. Размер страйпа может иметь большое влияние на
Конфигурирование RAID для оптимальной производительности и других факторов эффективности. Как правило при последовательных данных увеличить скорость RAID контроллера можно с помощью размеров stripe 512 kb или 1 mb. При случайном виде доступа лучше 16 кб, все зависит от того какое По у вас будет крутиться на данном разделе. Но в большинстве случаев лучше оставить стандартный размер, предлагаемый производителем.

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

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

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

Популярные Похожие записи:

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

Доброго времени суток.
Купили raid контроллер MegaRAID S3108 + BBU, думаю на нем настроить 3 зеркала,
2 на SSD(на одном система, на втором базы SQL), 3 зеркало sata для общих папок. Возникает вопрос вообще можно ли на один контроллер цеплять SSD и SATA
диски, по какому варианту настраивать кэш(можно ли для каждого виртального диска настраивать отдельно? Не будет ли разваливаться raid на SSD?(на встроенном в плату интеловском разваливался два раза, после второго даже не собирал). SSD диски INTEL.

—>

Разделы FAQ
SCSI/SAS/SATA »
RAID »
Процессоры Intel® »
Винчестеры (HDD) »
KVM (КВМ) »
ПО Microsoft »
ПО Oracle »
Монитор / Видео »
Другое »
Сервис »
Общие вопросы
  1. Что такое RA >Что такое Write Through и Write Back?
  2. Что такое BBU и зачем он нужен?
  3. Что такое Hotswap?
  4. Что такое Hot Spare (Hotspare)?
  5. Что такое Copyback Hot Spare?
  6. Что такое JBOD?
  7. Что такое размер страйпа (stripe size)?
  8. Нужно ли заниматься архивированием данных в случае использования RAID?

В: Что такое RAID и зачем он нужен? Какой RAID лучше использовать?
О: Ответу на этот вопрос посвящен раздел [ RAID ].

В: Можно ли использовать в RAID массиве диски разного размера?
О: Да. можно. Но, при этом, используемая емкость у ВСЕХ дисков будет равна емкости наименьшего диска.
Из этого следует, что добавлять в уже существующий RAID массив можно только диски такого же или большего размера.

В: Можно ли использовать в RAID массиве диски разных производителей?
О: Да, можно. Но при этом надо иметь ввиду, что точные размеры дисков одинаковой емкости (36/73/146. ГБ) у разных производителей могут отличаться на несколько килобайт. Когда вы создаете новый RAID массив, на это можно не обращать внимание, но если вы добавляете диски к уже существующему массиву (например, меняете вышедший из строя диск), то важно, чтобы новый диск был больше чем старые, или точно такого же размера.

В: Что такое Write Through и Write Back?
О: Это способ записи данных, полученных RAID контроллером, на дисковый массив. По другому эти способы еще называются так: прямая запись ( Write Through ) и отложенная запись ( Write Back ). Какой из этих способов будет использоваться определяется в BIOS-е контроллера (либо при создании массива, либо позднее).

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

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

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

Кстати, некоторые RAID контроллеры не позволяют включить функцию Write Back без установленного BBU .

В: Что такое BBU и зачем он нужен?
О: BBU (Battery Backup Unit ) необходим для предотвращения потери данных находящихся в кэш -е RAID контроллера и еще не записанных на диск (отложенная запись — "write-back caching"), в случае аварийного выключения компьютерной системы.

Существуют три разновидности BBU :

  • Просто BBU : это аккумулятор, который обеспечивает резервное питание кэша через RAID контроллер.
  • Переносимые (Transportable) BBU (tBBU): это аккумулятор, который размещен непосредственно на модуле кэш и питает его независимо от RAID контроллера. В случае выхода из строя RAID контроллера, это позволяет перенести данные, сохраненные в кэш -е, на резервный контроллер и уже на нем завершить операцию записи данных.
  • Flash BBU : основная идея заключается в следующем: в случае сбоя питания RAID контроллер копирует содержимое кэш -а в энергонезависимую память (например, в случае с технологией Adaptec »Zero-Maintenance Cache Protection — на NAND флэш накопитель). Питание, необходимое для завершения этого процесса, обеспечивается встроенным супер-конденсатором. После восстановления питания, данные из флэш памяти копируются обратно в кэш контроллера.

В: Что такое Hotswap?
О: Hotswap — Hot Replacement of Disks / Hot Swap (Горячая Перестановка / Горячая Замена Дисководов) — это возможность замены вышедших из строя дисководов без прерывания работы системы. Если в системе используется должным образом сконфигурированный RAID контроллер, управляющий избыточной дисковой системой ( RAID массивом), то отказ одного дисковода не приводит к прерыванию функционирования системы. В этом случае системой генерируется соответствующее сообщение для системного оператора. Через некоторое время, когда активизируется замещающий дисковод, системный оператор может удалить отказавший дисковод, установить новый дисковод, и дать контроллеру команду "восстановить" данные на новом дисководе, причем все это происходит без прерывания системных операций и выключения системы.

В: Что такое Hot Spare (Hotspare)?
О: Hot Spare — (Резервная Замена Дисководов ("Горячее резервирование")) — Одна из наиболее важных особенностей, которую обеспечивает RAID контроллер, с целью достичь безостановочное обслуживание с высокой степенью отказоустойчивости. В случае выхода из строя диска, восстанавливающая операция будет выполнена RAID контроллером автоматически, если выполняются оба из следующих условий:

  1. Имеется "резервный" диск идентичного объема, подключенный к тому же контроллеру и назначенный в качестве резервного, именно он и называется Hotspare ;
  2. Отказавший диск входит в состав избыточной дисковой системы, например RAID 1 , RAID 3 , RAID 5 или RAID 0+1 .

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

  1. Когда пользователь выполняет утилиту разметки, все диски, которые подключены к контроллеру, но не сконфигурированы в любую из групп дисководов, будут автоматически помечены как "резервные" ( Hotspare ) диски (автоматический способ поддерживается далеко не всеми контроллерами).
  2. Диск может также быть помечен как резервный ( Hotspare ), при помощи соответствующей утилиты RAID контроллера.

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

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

В этом разделе использованы материалы с сайта "3dnews".

В: Что такое Copyback Hot Spare?
О: Copyback Hot Spare это функция RAID контроллера, которая позволяет пользователям закрепить физическое расположение диска "горячего резерва" ( Hot Spare ), что позволяет улучшить управляемость системы.

В: Что такое JBOD?
О: JBOD (Just a Bunch of Disks) это способ подключить диски к RAID контроллеру не создавая на них никакого RAID . Каждый из дисков доступен так же, как если бы он был подключен к обычному адаптеру. Эта конфигурация применяется когда необходимо иметь несколько независимых дисков, но не обеспечивает ни повышения скорости, ни отказоустойчивости.

В: Что такое размер страйпа (stripe size)?
О: размер страйпа ( stripe size ) определяет объем данных записываемых за одну операцию ввода/вывода. размер страйпа задается в момент конфигурирования RAID массива и не может быть изменен позднее без переинициализации всего массива. Больший размер страйпа обеспечивает прирост производительности при работе с большими последовательными файлами (например, видео), меньший — обеспечивает большую эффективность в случае работы с большим количеством небольших файлов.

В: Нужно ли заниматься архивированием данных в случае использования RAID?
О: Конечно да! RAID это вовсе не замена архивированию, основное его назначение это повышение скорости и надежности доступа к данным в нормальном режиме работы. Но только регулярное архивирование данных гарантировано обеспечит их сохранность при любых отказах оборудования, пожарах, потопах и прочих неприятностях.

Оцените статью
Ремонт оргтехники
Добавить комментарий