Публикация научных статей.
Вход на сайт
E-mail:
Пароль:
Запомнить
Регистрация/
Забыли пароль?
Международный научно-исследовательский журнал публикации ВАК
Научные направления
Поделиться:
Разделы: Информационные технологии
Размещена 06.12.2013. Последняя правка: 19.03.2014.

ВЛИЯНИЕ ТЕХНОЛОГИИ RAID НА ПРОИЗВОДИТЕЛЬНОСТЬ СИСТЕМ ХРАНЕНИЯ ДАННЫХ

Ткаченко Сергей Владимирович

Магистрант

NVision Group, НГТУ

Инженер-стажер

Копысов П.Е.


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


Abstract:
This article describes the technology of RAID, its basic levels, and also developed formula for calculating the performance of your hard disk and disk array.


Ключевые слова:
RAID, страйпинг, IOPS, дуплекс

Keywords:
RAID, striping, IOPS, duplex



УДК: 004.08 + 004.056

 

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

RAID (англ. redundant array of independent disks — избыточный массив независимых дисков) — массив из нескольких дисков (запоминающих устройств), управляемых контроллером, связанных между собой скоростными каналами передачи данных и воспринимаемых внешней системой как единое целое. [1]  У данной технологии существуют несколько очень важных понятий:

  • Массив – представляет из себя внешнее устройство хранения, состоящее из нескольких дисков, настройка и управление которыми происходит централизованно;
  • Страйпинг – разделение данных на отдельные части и распределение их одновременно на все носители;
  • Зеркалирование – процесс одновременной записи данных на другой диск;
  • Дуплекс – разделение предполагаемого массива на два независимых друг от друга RAID-контроллера;
  • Четность – процесс хранения информации контрольных сумм.

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

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

 

RAID 0 – самый быстрый и менее надежный уровень. Принцип работы: данные разбиваются на блоки, которые записываются на все подключенные диски одновременно. За счет этого существенно повышается производительность - скорость увеличивается пропорционально количеству подключенных дисков. Главным недостатком данного уровня является отсутствие резервирования, то есть при выходе из строя одного из дисков разрушается весь массив. В данном случае, чем больше дисков подключено, тем выше скорость, но больше вероятность потери данных. Для функционирования требуется минимум два диска.
Рис. 1. Принцип работы RAID 0

Рис. 1. Принцип работы RAID 0

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

Рис. 2. Принцип работы RAID 1

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

Рис. 3. Принцип работы RAID 10

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

Рис. 4. Принцип работы RAID 5

RAID 6 – массив, представляющий собой расширение RAID 5, но использующий двойное распределение четности. Преимуществом данного уровня является более высокая степень отказоустойчивости, так как данная конфигурация предусматривает выход из строя сразу двух дисков. Но это влечет за собой падение производительности ввиду обработки большого объёма информации контролером.

Рис. 5. Принцип работы RAID 6

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

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

Для измерения и  оценки производительности  жестких дисков, твердотельных дисков, составляющих RAID-массив, а также систем хранения данных используют такой параметр как IOPS (Input/Output Operations Per Second) – количество операций ввода/вывода в секунду.  Перейдем к расчетам данной величины.

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

Рис. 6. Пример работы алгоритмов доступа: а – последовательного; б - произвольного 

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

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

Исходя из данной информации, можно выделить основные разновидности и  характеристики IOPS:

  • Random Read IOPS – число операций последовательного чтения в секунду;
  • Sequential Read IOPS– число операций произвольного чтения в секунду;
  • Sequential Write IOPS – число операций последовательной записи в секунду;
  • Random Write IOPS – число операций произвольной записи в секунду;
  • Total IOPS – суммарное число операций ввода/вывода в секунду.

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

Основными параметрами жесткого диска, задающими величину в IOPS, является RPM, время перехода магнитной головки (seek) и время задержки (latency). При помощи этих величин можно вычислить IOPS конкретного диска (так как IOPS вычисляется в секундах, каждая величина будет поделена на 1000):

 

Disk IOPS = RPM / ((seek time in ms / 1000) + (latency in ms / 1000))

 

Для примера расчета был выбран жесткий диск Seagate SAS 15k RPM, модели ST3600957FC. По характеристикам от производителя, у данного диска время перехода магнитной головки на чтение/запись составляет 3.4/3.9 и время задержки – 2.0. Подставив все данные можно увидеть количество IOPS, которые может выдать данный жесткий диск.

 

Disk IOPS = 1.5 / ((((Seek Time Average Read + Seek Time Average Write) / 2) / 1000) + (Average Latency / 1000)) = 1.5 / ((3.65 / 1000) + (2 / 1000)) = 1.5 / ((0.00365) + (0.002)) = 265.48 ~ 265 IOPS

 

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

Рис. 7. Условные показатели производительности накопителей

Зная IOPS жестких дисков, входящих в состав RAID-массива, можно переходить к расчетам самого массива.  

Рассчитывая величину IOPS для определенного RAID-массива, следует учитывать его накладные расходы, а так же учет четности ввиду особенности каждого уровня.

Конечная формула выглядит следующим образом:

 

Total IOPS = R IOPS + W IOPS

R IOPS = (Disk IOPS * (N-Pr)) * %R

W IOPS = ((Disk IOPS * (n-Pw))* %W) / C

 

Далее следует детально рассмотреть формулу:

RIOPS – количество IOPS при чтении;

WIOPS – количество IOPS при записи;

DiskIOPS – производительность в IOPS отдельного диска;

N – количество дисков в массиве;

Pr– учет четности при чтении;

Pw– учет четности при записи;

С – накладные расходы RIAD-массива;

%R – общий процент чтения;

%W – общий процент записи;

TotalIOPS – суммарное количество IOPS, которое может выдать RAID-массив.

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




Рис. 8. Накладные расходы для уровней, использующих четность

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

  1. чтение существующих данных;
  2. четность RAID;
  3. запись новых данных;
  4. запись новой четности.

Ниже приведена таблица расходов при записи на каждый уровень RAID:






Рис. 9. Расходы при записи на массив данных

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

Пример расчетов -  RAID 5. 10 дисков. 15к. 70%W, 30%R.

Начальные данные, которые нам понадобятся – это IOPS данного диска (265),  а так же все вышеописанные расходы на чтение и запись.

 

Total IOPS = R IOPS + W IOPS

R IOPS = (Disk IOPS * (N-Pr)) * %R

W IOPS = ((Disk IOPS * (n-Pw))* %W) / C

 

R IOPS = (265* (10-1)) * 0.3 = 715.5 IOPS

W IOPS = (265* (10-0)) * 0.7 / 4 = 463.75 IOPS

Total IOPS = 1179.25 ~ 1180 IOPS



Библиографический список:

1. Wikipedia.org [Электронный ресурс]: RAID. – Режим доступа: http://ru.wikipedia.org/wiki/RAID 2. Nix.ru [Электронный ресурс]: Уровни RAID — краткие теоретические сведения. - Режим доступа: http://www.nix.ru/support/faq/show_articles.php?number=144&faq_topics=RAID 3. Электронный курс компании EMC 4. Yuzepchuk.ru [Электронный ресурс]: IOPS быстрый расчет СХД для виртуальной инфраструктуры. - Режим доступа: http://yuzepchuk.ru/2010/08/27/iops-fast-calc/




Рецензии:

6.12.2013, 16:16 Назарова Ольга Петровна
Рецензия: Непонятно, чем эта информация отличается от wikipedia. Это не статья, не выдержаны положения по публикации СТАТЬИ. Не рекомендуется к печати.

02.04.2014 7:07 Ответ на рецензию автора Ткаченко Сергей Владимирович:
Спасибо за рецензию. Исправил, дополнил статью.

4.04.2014, 8:38 Назарова Ольга Петровна
Рецензия: Добавьте вывод. Доработать.



Комментарии пользователей:

Оставить комментарий


 
 

Вверх