- PVSM.RU - https://www.pvsm.ru -
Продолжаем тему, начатую в статьях "Тестирование флеш СХД. Теоретическая часть [1]" и "Тестирование флеш СХД. IBM RamSan FlashSystem 820" [2]. Сегодня мы рассмотрим возможности одной из наиболее «массовых» моделей компании Violin Memory. Стартап, основанный выходцами из Fusion-io [3], стал первопроходцем и духовным лидером идеологии построения систем хранения данных исключительно на основе флеш-памяти. Массив Violin 6232 [4] был выпущен в сентябре 2011 года и пробыл флагманом вплоть до выхода модели 6264 в августе 2013 года.

Нас, как технических специалистов, в большей мере, заинтересовала архитектура массивов Violin Memory, являющаяся их отличительной особенностью и несомненным преимуществом по сравнению с конкурентами. Каждый компонент — это собственная разработка компании [5]:
Система без единой точки отказа, где все компоненты продублированы. Где замена компонентов или обновление прошивки ни только не требуют остановки работы, но и не снижают производительности: 4 контроллера, отсутствие внутреннего кэша, запись полными «страйпами», оптимальные алгоритмы «сбора мусора». Такая архитектура позволяет получить высочайшую производительность, минимизировать задержки и побочные явления (Write Cliff), обеспечивает доступность данных уровня 99,9999 и нивелирует потери производительности при возможном выходе компонентов из строя. Богатый, продуманный интерфейс управления гармонично добавляет удобства работы с оборудованием Violin.
В ходе тестирования решались следующие задачи:
![]() |
| Рисунок 1. Структурная схема тестового стенда |
Тестовый стенд состоит из сервера, подключенного через FC фабрику четырьмя соединениями 8Gb FC к СХД Violin 6232. Характеристики сервера и массива следующие: Сервер IBM 3630 M4 (7158-AC1); СХД Violin Memory 6232
В качестве дополнительного программного обеспечения на тестовый сервер установлен Symantec Storage Foundation 6.1, реализующий:
cfq на noop через присвоение значения noop параметру /sys/<путь_к_устройству_Symantec_VxVM>/queue/scheduler/etc/sysctl.conf минимизирующий размер очереди на уровне логического менеджера томов Symantec: vxvm.vxio.vol_use_rq = 0;/sys/<путь_к_устройству_Symantec_VxVM>/queue/nr_requests/sys/<путь_к_устройству_Symantec_VxVM>/queue/nomerges/etc/modprobe.d/modprobe.conf опции ql2xmaxqdepth=64 (options qla2xxx ql2xmaxqdepth=64);На СХД выполнены конфигурационные настройки по разбиению дискового пространства: для всех тестов создаётся 8 LUN одинакового объема. Их суммарный объемом покрывает всю полезную емкость дискового массива. Для тестов группы 2 размер блока LUN устанавливается 512B, для тестов группы 3 размер блока LUN устанавливается 4KB. Созданные LUN презентуются тестовому серверу.
Для создания синтетической нагрузки (выполнения синтетических тестов) на СХД используется утилита Flexible IO Tester (fio) версии 2.1.4. При всех синтетических тестах используются следующие конфигурационные параметры fio секции [global]:
Для снятия показателей производительности при синтетической нагрузке применяются следующие утилиты:
txk;svd;-q iostat;Снятие показателей производительности во время выполнения теста утилитами iostat, vxstat, vxdmpstat производится с интервалом 5с.
Тестирование состояло из 3-х групп тестов. Тесты выполнялись путем создания синтетической нагрузки программой fio на блоковое устройство (block device), представляющее собой логический том типа «stripe» с расслоением по 8 дискам, размером блока данных — 1MiB, созданный с использованием Veritas Volume Manager или Native Linux LVM (в 3 группе) из 8-ми LUN, презентованных с тестируемой системы.
При создании тестовой нагрузки используются следующие дополнительные параметры программы fio:
Группа тестов состоит из четырёх тестов, отличающихся суммарным объемом LUN, презентуемых с тестируемой СХД, размером блока операций в/в и направлением в/в (write или read):
По результатам тестов на основании данных выводимых командой vxstat формируются графики, совмещающие результаты тестов:
Проводится анализ полученной информации и делаются выводы о:
В ходе тестирования исследуются следующие типы нагрузок:
Группа тестов состоит из набора тестов, представляющего собой все возможные комбинации перечисленных выше типов нагрузки. Для нивелирования влияния сервисных процессов СХД (Garbage Collection) на результаты тестов, между тестами реализуется пауза равная отношению объема записанной в ходе теста информации к производительности сервисных процессов СХД (определяется по результатам выполнения 1-ой группы тестов).
По результатам тестов на основании данных, выводимых ПО fio по завершению каждого из тестов, формируются следующие графики для каждой комбинации следующих типов нагрузки: профиля нагрузки, способа обработки операций ввода-вывода, глубины очереди, совмещающие в себе тесты с разными значениями блока ввода-вывода:
Проводится анализ полученных результатов, делаются выводы о нагрузочных характеристиках дискового массива при latency<1ms.
Тесты проводятся аналогично тестам группы 2, но исследуется только синхронный способ в/в из-за ограниченного времени тестирования. По окончании каждого теста строятся графики, отображающие разницу в % полученных показателей производительности (iops, latency) от показателей, полученных при тестировании с размером блока LUN 512байт (группа тестов 2). Делаются выводы о влиянии размера блока LUN на производительность дискового массива.
1. При длительной нагрузке на запись в определенный момент времени фиксируется значимая деградация производительности СХД. Падение производительности ожидаемо и является особенностью работы SSD (Write Cliff), связанной с включением процессов Garbage Collection (GC) и ограниченной производительностью обозначенных процессов. Производительность дискового массива, фиксируемую при работающих процессах GC, можно рассматривать как максимальную среднюю производительность дискового массива.
2. Размер блока при длительной нагрузке на запись не влияет на производительность процесса GC. CG работает на скорости порядка 600Mib/s.
3. Разница в значениях максимального времени работы СХД на пиковой производительности, фиксируемой при первом длительном тесте и последующем эквивалентном тесте с блоком 4К, обусловлена не полной заполненностью СХД перед началом тестирования.
4. Максимальное время работы СХД на пиковой производительности значительно отличается при блоке 4K и всех остальных блоках, что с большой вероятностью обусловлено архитектурной оптимизации СХД под обозначенный блок (СХД Violin всегда пишет полными stripe размером 4K, используя конфигурацию flash модулей RAID5(4+P), stripe unit size 1K).
Запись:
Чтение:
Смешанная нагрузка (70/30 rw)
Минимально зафиксированная latency:
[6] |
| Разница IOPS и Latency между устройством с размером блока LUN 4КБ и 512Б при случайном чтении (показатели при размере блока LUN = 512Б приняты за 0) |
[7] |
| Разница IOPS и Latency между устройством с размером блока LUN 4КБ и 512Б при случайной записи (показатели при размере блока LUN = 512Б приняты за 0) |
[8] |
| Разница IOPS и Latency между устройством с размером блока LUN 4КБ и 512Б при смешанной нагрузке (70/30 r/w)(показатели при размере блока LUN = 512Б приняты за 0) |
В целом, массив произвел впечатление полноценного устройства high-end уровня. Нам удалось получить очень неплохие результаты, тем не менее, осталось впечатление, что весь ресурс системы все же выбрать не удалось. Для создания нагрузки использовался один сервер с двумя процессорами, которые оказались перегружены в процессе тестирования. С большой вероятностью можно сказать, что мы скорее достигли предела возможностей нагрузочного сервера, чем испытываемой системы хранения.
P.S. Автор выражает сердечную благодарность Павлу Катасонову, Юрию Ракитину и всем другим сотрудникам компании участвовавшим в подготовке данного материала.
Автор: MrCleaner
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/it-infrastruktura/65937
Ссылки в тексте:
[1] Тестирование флеш СХД. Теоретическая часть: http://itg-td.blogspot.com/2014/04/ibm-ramsan-flashsystem-820.html
[2] Тестирование флеш СХД. IBM RamSan FlashSystem 820": http://itg-td.blogspot.com/2014/05/ibm-ramsan-flashsystem-820.html
[3] Fusion-io: http://en.wikipedia.org/wiki/Fusion-io
[4] Violin 6232: http://www.violin-memory.com/products/6000-flash-memory-array/
[5] собственная разработка компании: http://www.violin-memory.com/products/technology-architecture/
[6] Image: http://habrastorage.org/getpro/habr/post_images/0aa/33c/c09/0aa33cc095ec948fc47e8947eea21256.jpg
[7] Image: http://habrastorage.org/getpro/habr/post_images/635/b5a/64c/635b5a64c508a8eec9fb314116bb7029.jpg
[8] Image: http://habrastorage.org/getpro/habr/post_images/c30/684/2ce/c306842cea0915fd1c555e27ba3f8ab3.jpg
[9] Источник: http://habrahabr.ru/post/231057/
Нажмите здесь для печати.