Настройка хранилища с SSD CACHE
Модераторы: Trinity admin`s, Free-lance moderator`s
Настройка хранилища с SSD CACHE
Здравствуйте, уважаемые!
Не получается у меня понять, что я делаю не так.
Что имею:
Сервер хранения (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 мб/с), а вот с мелкими операциями вот такие грустные результаты.
Если включать на гипервизоре в опциях гостя кеши - цифры, конечно получаются приятнее...
Попробовал запустить иометр и без гостя, натравив его на тот раздел, где лежат образы виртуалок.. результат тот же.
В общем вот такая грустная картина... куда копать - ума не приложу....
Не получается у меня понять, что я делаю не так.
Что имею:
Сервер хранения (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
Проблема в том, что для работы SSD кеша нужна статистика. Он начинает работать только тогда, когда есть долгие рабочие операции. Собирается статистика и наиболее горячие данные забираются в кеш. Иометр работает по другому. Он в 90% случаев практически игнорирует кеш и работает с дисковыми операциями. Собс-но поэтому вы сразу и не чувствует профита от SSD кеша.zelenij писал(а):Проблема: внутри гостя не могу получить больше 500 iops с воркера iometer.
Фактически, линейное копирование я имею на пределе скорости работы HBA (около 350 мб/с), а вот с мелкими операциями вот такие грустные результаты.
Если включать на гипервизоре в опциях гостя кеши - цифры, конечно получаются приятнее...
Как мне кажется,
- gs
- Сотрудник Тринити
- Сообщения: 16650
- Зарегистрирован: 23 авг 2002, 17:34
- Откуда: Москва
- Контактная информация:
Re: Настройка хранилища с SSD CACHE
А более-менее рабочую нагрузку пробовали?
Ну или иометру зарежьте рабочий объем до размеров кэша, там есть настройки.
Ну или иометру зарежьте рабочий объем до размеров кэша, там есть настройки.
- gs
- Сотрудник Тринити
- Сообщения: 16650
- Зарегистрирован: 23 авг 2002, 17:34
- Откуда: Москва
- Контактная информация:
Re: Настройка хранилища с SSD CACHE
Ну и это... кэшкейд на запись работает? Старая штука, там вроде только чтение было... не помню...
Re: Настройка хранилища с SSD CACHE
Спасибо за отклики
Про сбор статистики я догадываюсь... Точнее даже не догадываюсь, а понимаю.
но вот тут, в конце статьи, люди видят "чудеса производительности" именно при помощи иометра..
[/size]
кстати, страйп сайз на втором массиве стоит 256кб (я специально пробовал оба размера) но результаты тестирования идентичны.
PS: простите за длинный листинг (тег "spoiler" на форуме, видимо, отключен)
Про сбор статистики я догадываюсь... Точнее даже не догадываюсь, а понимаю.
но вот тут, в конце статьи, люди видят "чудеса производительности" именно при помощи иометра..
Стоит аппаратный ключ кешкейд 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
кстати, страйп сайз на втором массиве стоит 256кб (я специально пробовал оба размера) но результаты тестирования идентичны.
PS: простите за длинный листинг (тег "spoiler" на форуме, видимо, отключен)
- gs
- Сотрудник Тринити
- Сообщения: 16650
- Зарегистрирован: 23 авг 2002, 17:34
- Откуда: Москва
- Контактная информация:
Re: Настройка хранилища с SSD CACHE
Я тоже могу такие "чудеса" устроить - достаточно ограничить рабочую область иометра до размеров кэша контроллера
Re: Настройка хранилища с SSD CACHE
мне сложно придумать как эту нагрузку датьgs писал(а):А более-менее рабочую нагрузку пробовали?
в предполагаемом продакшне в виртуалке будет крутиться терминальный сервер с офисно-прикладными приложениями (мс офис, автокад, проектно-сментный спец. софт, тонкий клиент 1с)
В принципе, вышеперечисленное ПО я проинсталлировал, но запускается оно "паршивенько".. отлично чувствуются "тормоза"
размер диска гостя 50гб, размер диска для иометра указывал 49ГБ... как-то так... или я где-то не там крутил? Размер пула кешкейд 115гигов... так что вроде помещается все.gs писал(а):Ну или иометру зарежьте рабочий объем до размеров кэша, там есть настройки.
Re: Настройка хранилища с SSD CACHE
Stranger03 писал(а):Проблема в том, что для работы SSD кеша нужна статистика. Он начинает работать только тогда, когда есть долгие рабочие операции. Собирается статистика и наиболее горячие данные забираются в кеш. Иометр работает по другому. Он в 90% случаев практически игнорирует кеш и работает с дисковыми операциями. Собс-но поэтому вы сразу и не чувствует профита от SSD кеша.zelenij писал(а):Проблема: внутри гостя не могу получить больше 500 iops с воркера iometer.
Фактически, линейное копирование я имею на пределе скорости работы HBA (около 350 мб/с), а вот с мелкими операциями вот такие грустные результаты.
Если включать на гипервизоре в опциях гостя кеши - цифры, конечно получаются приятнее...
Как мне кажется,
Могу вставить свои пять центов.
Геннадий, Вы правы насчёт статистики... и не совсем правы насчёт "предпочтений иометра" (там где про игнорирование кеша).
Иометр про ssd-кеш by CacheCade вообще ничего не знает (и, соответственно, "игнорировать" его не может) - он, CC-кеш, прозрачен для ОС и приложений, им, как Вы помните, "рулит и педалит" сам контроллер.
Иометр использует для бенча файл-"заглушку" (на LUN`ах с файловой системой, не RAW) задаваемого размера - в этом месте да, нужно смотреть, чтобы "заглушка" была на порядки больше имеющихся дисковых кешей RAM (ОС и/или рейд-контроллера). Ну или от греха вовсе уменьшить/выключить кеширование в памяти на время теста (чтоб померить именно резвость дисковой группы).
Когда я начинал использование СС (ещё версии 1, только чтение), то как раз озаботился оценкой эффективности его работы и тестировал иометром LUN с СС-кешем.
Первый прогон показал примерно 2к иопс на чтение (кажется, то был 100% Read Random).
Затем я прогнал в цикле (несколько сот раз) архивирование (на другой диск) без сжатия (для скорости) файла-"заглушки" иометра, лежащего на испытуемом LUN`е - "разогревал" данные для СС-кеша, "нагоняя" контроллеру статистику чтения.
После этого иометр повторным тестом показал ~20к иопс в том же режиме - т.е. на порядок. Из чего я сделал вывод, что СС у меня работает как надо - и сунул его в продакшн.
Да, у ТСа ССv2, но принципиально - с т.з. "прогрева" данных при тестировании для статистики контроллера - от моей ситуация ничем не отличается.
Re: Настройка хранилища с SSD CACHE
Кстати - вот параметры паттерна для иометра:
работал он для 4х воркеров в течении 15 минут
результат : Это результат гостевой системы; при тесте прямо на массив мимо гостя результаты чуть-чуть лучше (595iops)
Код: Выделить всё
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
результат : Это результат гостевой системы; при тесте прямо на массив мимо гостя результаты чуть-чуть лучше (595iops)
Re: Настройка хранилища с SSD CACHE
Т.Е. нужно "заглушку" погонять между массивами на контроллере? ну чтобы убедиться по результатам работы кешкейда, что он все-таки работает?Umlyaut писал(а): Затем я прогнал в цикле (несколько сот раз) архивирование (на другой диск) без сжатия (для скорости) файла-"заглушки" иометра, лежащего на испытуемом LUN`е - "разогревал" данные для СС-кеша, "нагоняя" контроллеру статистику чтения.
а как можно посмотреть статистику по кешкейду? (процент попадания/промаха в кеш? )
контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Re: Настройка хранилища с SSD CACHE
А удаленно с винды с утилиты к контроллеру не подключиться?zelenij писал(а):контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику
Re: Настройка хранилища с SSD CACHE
Пардон за глупый вопрос: как?Stranger03 писал(а):
А удаленно с винды с утилиты к контроллеру не подключиться?
Весь пдф с докой по виндовой утилите прошерстил, но ответа не нашёл они подразумевают, что железо крутится под виндой
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Re: Настройка хранилища с SSD CACHE
Х.З., я предположил, . Вот что нашел: http://proxmoxve.blogspot.ru/2015/05/ls ... araid.htmlzelenij писал(а):Пардон за глупый вопрос: как?
Весь пдф с докой по виндовой утилите прошерстил, но ответа не нашёл они подразумевают, что железо крутится под виндой
Re: Настройка хранилища с SSD CACHE
"Погонять" - это как-то слишком упрощённо звучит.zelenij писал(а):Т.Е. нужно "заглушку" погонять между массивами на контроллере? ну чтобы убедиться по результатам работы кешкейда, что он все-таки работает?Umlyaut писал(а): Затем я прогнал в цикле (несколько сот раз) архивирование (на другой диск) без сжатия (для скорости) файла-"заглушки" иометра, лежащего на испытуемом LUN`е - "разогревал" данные для СС-кеша, "нагоняя" контроллеру статистику чтения.
Нужно "прогреть" данные на дисковом LUN c тем, чтобы контроллер скопировал эти блоки с дисков в ssd-кеш и, соответственно, работал с ними оттуда, а не с LUN.
Я для "прогрева" блоков, относящихся к "заглушке" иометра выбрал многократное чтение этого файла архиватором, но да, можно и просто многократным копированием "заглушки" на сторону тоже добиться перемещения её в CC-кеш.
Но это для кеширования чтения (иометром) годится - для бенченья записи же надо крепко подумать: будет ли многократный оверрайт "заглушки" на исследуемый LUN класть её, "заглушки", блоки данных ровно в те же места дисковой группы, что и в случае исходного файла. Вроде, должно писаться в те же места (на уровне PBA: контроллер <-> диски) - магнитные диски это не SSD с его CoW.
Просто я не фанат ssd-кеширования именно записи (там с гораздо бОльшим успехом справляются RAM-кеши всех уровней - приложения, ОС, контроллера), поэтому использую CC только в режиме кеширования чтения, чего гораздо сложнее добиться иными методами (хоть и можно как-то).
Ну вообще я точно помню, что это было в CLI (только не поручусь сходу - в Mega- или в Stor-).zelenij писал(а):а как можно посмотреть статистику по кешкейду? (процент попадания/промаха в кеш? )
контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику
Последний раз редактировалось Umlyaut 11 окт 2017, 14:30, всего редактировалось 1 раз.
Re: Настройка хранилища с SSD CACHE
Геннадий, это может быть нетривиальной задачей - даже если для "таргетной" ОС (тут - BSD) есть MSM и он может быть установлен.Stranger03 писал(а):А удаленно с винды с утилиты к контроллеру не подключиться?zelenij писал(а):контроллер -то крутится под бсд... и из megacli я так и не нашел возможностит увидеть эту статистику
У LSI давняя проблема с "гуёвым" мониторингом нелокального сервера: они до сих пор никак не могут (не хотят?) исправить печально знаменитую багу с unicast/multicast-запросами при подключении гуёвого клиента к сетевому MSM - не спасает даже широко известный воркараунд с самописным php-шным хелпером, те ещё пляски с бубном.
А за их тупорылый виндовый Java-клиент я готов отгеноцидить до полусмерти весь их программистский коллектив оптом и в розницу!
Так что CLI-мониторинг контроллера непосредственно на хосте (с отправкой варнингов и/или статистики в какой-нито внешний коллектор а-ля нагиос или заббикс) решает.
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 22 гостя