Настройка хранилища с SSD CACHE

Конфигурирование, планирование RAID систем, возможности, технологии, теория. Qlogic, LSI Logic, Adaptec ...

Модераторы: Trinity admin`s, Free-lance moderator`s

zelenij
Junior member
Сообщения: 7
Зарегистрирован: 10 окт 2017, 23:18
Откуда: Жемчужина у моря :)

Настройка хранилища с SSD CACHE

Сообщение zelenij » 11 окт 2017, 00:00

Здравствуйте, уважаемые!
Не получается у меня понять, что я делаю не так.
Что имею:
Сервер хранения (HP G6 (dual xeon e5640), 24gb ram), контроллер LSI MegaRAID SAS 9266-8i
В качестве массива cachecade2 стоят 4 диска Intel X25-E SSDSA2SH032G1GN (в рейде 0)
Рабочие массивы (2 штуки) состоящих из SEAGATE ST3300657SS (рейд 10 по 6 дисков в массиве)
HBA qlogic2462
Операционка на хранилке freebsd 11
2 луны публикуются сырыми кусками по 800 гиг. (зфс пул не поднимал)

рабочий сервер hp g7 (dual xeon X5680), 72gb ram), HBA qlogic2462
операционка на рабочем сервере debian 9 + гипервизор proxmox 5
в качестве тестового гостя стоит win2k2016 (также пробовал и win2k8r2)
файл гостя qcow2 лежит на подключенном сторадже в режиме каталога, кеш direct sync (то есть, по сути, кеш гипервизора отключен)

Проблема: внутри гостя не могу получить больше 500 iops с воркера iometer.
Фактически, линейное копирование я имею на пределе скорости работы HBA (около 350 мб/с), а вот с мелкими операциями вот такие грустные результаты.
Если включать на гипервизоре в опциях гостя кеши - цифры, конечно получаются приятнее...

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

В общем вот такая грустная картина... куда копать - ума не приложу....

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Настройка хранилища с SSD CACHE

Сообщение Stranger03 » 11 окт 2017, 11:35

zelenij писал(а):Проблема: внутри гостя не могу получить больше 500 iops с воркера iometer.
Фактически, линейное копирование я имею на пределе скорости работы HBA (около 350 мб/с), а вот с мелкими операциями вот такие грустные результаты.
Если включать на гипервизоре в опциях гостя кеши - цифры, конечно получаются приятнее...
Проблема в том, что для работы SSD кеша нужна статистика. Он начинает работать только тогда, когда есть долгие рабочие операции. Собирается статистика и наиболее горячие данные забираются в кеш. Иометр работает по другому. Он в 90% случаев практически игнорирует кеш и работает с дисковыми операциями. Собс-но поэтому вы сразу и не чувствует профита от SSD кеша.
Как мне кажется, :)
С уважением Геннадий
ICQ 116164373
eburg@trinitygroup.ru

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16622
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Настройка хранилища с SSD CACHE

Сообщение gs » 11 окт 2017, 11:40

А более-менее рабочую нагрузку пробовали?
Ну или иометру зарежьте рабочий объем до размеров кэша, там есть настройки.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16622
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Настройка хранилища с SSD CACHE

Сообщение gs » 11 окт 2017, 11:40

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

zelenij
Junior member
Сообщения: 7
Зарегистрирован: 10 окт 2017, 23:18
Откуда: Жемчужина у моря :)

Re: Настройка хранилища с SSD CACHE

Сообщение zelenij » 11 окт 2017, 12:05

Спасибо за отклики :)
Про сбор статистики я догадываюсь... Точнее даже не догадываюсь, а понимаю.
но вот тут, в конце статьи, люди видят "чудеса производительности" именно при помощи иометра..
кэшкейд на запись работает?
Стоит аппаратный ключ кешкейд 2 про и при создании массива кеширования я явно указал оппцию "кеш на запись и чтение"

Код: Выделить всё

#MegaCli -LDInfo -Lall -a0

Adapter 0 -- Virtual Drive Information:
CacheCade Virtual Drive: 0 (Target Id: 0)
Virtual Drive Type    : CacheCade
Name          :
RAID Level        : Primary-0, Secondary-0
State             : Optimal
Size          : 115.480 GB
Target Id of the Associated LDs : 2,1,3,4
Default Cache Policy  : WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy  : WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU

***

Virtual Drive: 4 (Target Id: 4)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 835.394 GB
Sector Size         : 512
Is VD emulated      : No
Mirror Data         : 835.394 GB
State               : Optimal
Strip Size          : 64 KB
Number Of Drives per span:2
Span Depth          : 3
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Enabled
Encryption Type     : None
PI type: No PI

Is VD Cached: Yes
Cache Cade Type : Read and Write
[/size]
кстати, страйп сайз на втором массиве стоит 256кб (я специально пробовал оба размера) но результаты тестирования идентичны.


PS: простите за длинный листинг (тег "spoiler" на форуме, видимо, отключен)

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16622
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Настройка хранилища с SSD CACHE

Сообщение gs » 11 окт 2017, 12:13

Я тоже могу такие "чудеса" устроить - достаточно ограничить рабочую область иометра до размеров кэша контроллера :)

zelenij
Junior member
Сообщения: 7
Зарегистрирован: 10 окт 2017, 23:18
Откуда: Жемчужина у моря :)

Re: Настройка хранилища с SSD CACHE

Сообщение zelenij » 11 окт 2017, 12:19

gs писал(а):А более-менее рабочую нагрузку пробовали?
мне сложно придумать как эту нагрузку дать :(
в предполагаемом продакшне в виртуалке будет крутиться терминальный сервер с офисно-прикладными приложениями (мс офис, автокад, проектно-сментный спец. софт, тонкий клиент 1с)
В принципе, вышеперечисленное ПО я проинсталлировал, но запускается оно "паршивенько".. отлично чувствуются "тормоза"
gs писал(а):Ну или иометру зарежьте рабочий объем до размеров кэша, там есть настройки.
размер диска гостя 50гб, размер диска для иометра указывал 49ГБ... как-то так... или я где-то не там крутил?
123.jpg
Размер пула кешкейд 115гигов... так что вроде помещается все.

Аватара пользователя
Umlyaut
Advanced member
Сообщения: 367
Зарегистрирован: 09 июл 2010, 11:23
Откуда: Москва

Re: Настройка хранилища с SSD CACHE

Сообщение Umlyaut » 11 окт 2017, 12:26

Stranger03 писал(а):
zelenij писал(а):Проблема: внутри гостя не могу получить больше 500 iops с воркера iometer.
Фактически, линейное копирование я имею на пределе скорости работы HBA (около 350 мб/с), а вот с мелкими операциями вот такие грустные результаты.
Если включать на гипервизоре в опциях гостя кеши - цифры, конечно получаются приятнее...
Проблема в том, что для работы SSD кеша нужна статистика. Он начинает работать только тогда, когда есть долгие рабочие операции. Собирается статистика и наиболее горячие данные забираются в кеш. Иометр работает по другому. Он в 90% случаев практически игнорирует кеш и работает с дисковыми операциями. Собс-но поэтому вы сразу и не чувствует профита от SSD кеша.
Как мне кажется, :)

Могу вставить свои пять центов.

Геннадий, Вы правы насчёт статистики... и не совсем правы насчёт "предпочтений иометра" (там где про игнорирование кеша).

Иометр про ssd-кеш by CacheCade вообще ничего не знает (и, соответственно, "игнорировать" его не может) - он, CC-кеш, прозрачен для ОС и приложений, им, как Вы помните, "рулит и педалит" сам контроллер.
Иометр использует для бенча файл-"заглушку" (на LUN`ах с файловой системой, не RAW) задаваемого размера - в этом месте да, нужно смотреть, чтобы "заглушка" была на порядки больше имеющихся дисковых кешей RAM (ОС и/или рейд-контроллера). Ну или от греха вовсе уменьшить/выключить кеширование в памяти на время теста (чтоб померить именно резвость дисковой группы).

Когда я начинал использование СС (ещё версии 1, только чтение), то как раз озаботился оценкой эффективности его работы и тестировал иометром LUN с СС-кешем.
Первый прогон показал примерно 2к иопс на чтение (кажется, то был 100% Read Random).
Затем я прогнал в цикле (несколько сот раз) архивирование (на другой диск) без сжатия (для скорости) файла-"заглушки" иометра, лежащего на испытуемом LUN`е - "разогревал" данные для СС-кеша, "нагоняя" контроллеру статистику чтения.
После этого иометр повторным тестом показал ~20к иопс в том же режиме - т.е. на порядок. Из чего я сделал вывод, что СС у меня работает как надо - и сунул его в продакшн. :)

Да, у ТСа ССv2, но принципиально - с т.з. "прогрева" данных при тестировании для статистики контроллера - от моей ситуация ничем не отличается.

zelenij
Junior member
Сообщения: 7
Зарегистрирован: 10 окт 2017, 23:18
Откуда: Жемчужина у моря :)

Re: Настройка хранилища с SSD CACHE

Сообщение zelenij » 11 окт 2017, 12:41

Кстати - вот параметры паттерна для иометра:

Код: Выделить всё

Transfer Request Size: 4КB
Percent Read/Write Distribution: 20% read / 80% write
Percent Random/Sequential Distribution: 80% random / 20%  sequental
Align I/Os on: 128КB
Outstanding I/O: 16
работал он для 4х воркеров в течении 15 минут
результат :( :
124.jpg
Это результат гостевой системы; при тесте прямо на массив мимо гостя результаты чуть-чуть лучше (595iops)

zelenij
Junior member
Сообщения: 7
Зарегистрирован: 10 окт 2017, 23:18
Откуда: Жемчужина у моря :)

Re: Настройка хранилища с SSD CACHE

Сообщение zelenij » 11 окт 2017, 12:50

Umlyaut писал(а): Затем я прогнал в цикле (несколько сот раз) архивирование (на другой диск) без сжатия (для скорости) файла-"заглушки" иометра, лежащего на испытуемом LUN`е - "разогревал" данные для СС-кеша, "нагоняя" контроллеру статистику чтения.
Т.Е. нужно "заглушку" погонять между массивами на контроллере? ну чтобы убедиться по результатам работы кешкейда, что он все-таки работает?
а как можно посмотреть статистику по кешкейду? (процент попадания/промаха в кеш? )
контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику :(

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Настройка хранилища с SSD CACHE

Сообщение Stranger03 » 11 окт 2017, 12:52

zelenij писал(а):контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику :(
А удаленно с винды с утилиты к контроллеру не подключиться?
С уважением Геннадий
ICQ 116164373
eburg@trinitygroup.ru

zelenij
Junior member
Сообщения: 7
Зарегистрирован: 10 окт 2017, 23:18
Откуда: Жемчужина у моря :)

Re: Настройка хранилища с SSD CACHE

Сообщение zelenij » 11 окт 2017, 12:59

Stranger03 писал(а):
А удаленно с винды с утилиты к контроллеру не подключиться?
Пардон за глупый вопрос: как?
Весь пдф с докой по виндовой утилите прошерстил, но ответа не нашёл :( они подразумевают, что железо крутится под виндой :(

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Настройка хранилища с SSD CACHE

Сообщение Stranger03 » 11 окт 2017, 13:16

zelenij писал(а):Пардон за глупый вопрос: как?
Весь пдф с докой по виндовой утилите прошерстил, но ответа не нашёл :( они подразумевают, что железо крутится под виндой :(
Х.З., я предположил, :). Вот что нашел: http://proxmoxve.blogspot.ru/2015/05/ls ... araid.html
С уважением Геннадий
ICQ 116164373
eburg@trinitygroup.ru

Аватара пользователя
Umlyaut
Advanced member
Сообщения: 367
Зарегистрирован: 09 июл 2010, 11:23
Откуда: Москва

Re: Настройка хранилища с SSD CACHE

Сообщение Umlyaut » 11 окт 2017, 14:22

zelenij писал(а):
Umlyaut писал(а): Затем я прогнал в цикле (несколько сот раз) архивирование (на другой диск) без сжатия (для скорости) файла-"заглушки" иометра, лежащего на испытуемом LUN`е - "разогревал" данные для СС-кеша, "нагоняя" контроллеру статистику чтения.
Т.Е. нужно "заглушку" погонять между массивами на контроллере? ну чтобы убедиться по результатам работы кешкейда, что он все-таки работает?
"Погонять" - это как-то слишком упрощённо звучит. :)

Нужно "прогреть" данные на дисковом LUN c тем, чтобы контроллер скопировал эти блоки с дисков в ssd-кеш и, соответственно, работал с ними оттуда, а не с LUN.

Я для "прогрева" блоков, относящихся к "заглушке" иометра выбрал многократное чтение этого файла архиватором, но да, можно и просто многократным копированием "заглушки" на сторону тоже добиться перемещения её в CC-кеш.
Но это для кеширования чтения (иометром) годится - для бенченья записи же надо крепко подумать: будет ли многократный оверрайт "заглушки" на исследуемый LUN класть её, "заглушки", блоки данных ровно в те же места дисковой группы, что и в случае исходного файла. Вроде, должно писаться в те же места (на уровне PBA: контроллер <-> диски) - магнитные диски это не SSD с его CoW.

Просто я не фанат ssd-кеширования именно записи (там с гораздо бОльшим успехом справляются RAM-кеши всех уровней - приложения, ОС, контроллера), поэтому использую CC только в режиме кеширования чтения, чего гораздо сложнее добиться иными методами (хоть и можно как-то).
zelenij писал(а):а как можно посмотреть статистику по кешкейду? (процент попадания/промаха в кеш? )
контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику :(
Ну вообще я точно помню, что это было в CLI (только не поручусь сходу - в Mega- или в Stor-).
Последний раз редактировалось Umlyaut 11 окт 2017, 14:30, всего редактировалось 1 раз.

Аватара пользователя
Umlyaut
Advanced member
Сообщения: 367
Зарегистрирован: 09 июл 2010, 11:23
Откуда: Москва

Re: Настройка хранилища с SSD CACHE

Сообщение Umlyaut » 11 окт 2017, 14:29

Stranger03 писал(а):
zelenij писал(а):контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику :(
А удаленно с винды с утилиты к контроллеру не подключиться?
Геннадий, это может быть нетривиальной задачей - даже если для "таргетной" ОС (тут - BSD) есть MSM и он может быть установлен.

У LSI давняя проблема с "гуёвым" мониторингом нелокального сервера: они до сих пор никак не могут (не хотят?) исправить печально знаменитую багу с unicast/multicast-запросами при подключении гуёвого клиента к сетевому MSM - не спасает даже широко известный воркараунд с самописным php-шным хелпером, те ещё пляски с бубном.

А за их тупорылый виндовый Java-клиент я готов отгеноцидить до полусмерти весь их программистский коллектив оптом и в розницу! :(

Так что CLI-мониторинг контроллера непосредственно на хосте (с отправкой варнингов и/или статистики в какой-нито внешний коллектор а-ля нагиос или заббикс) решает.

Ответить

Вернуться в «Массивы - RAID технологии.»