Технологии повышения производительности, основанные на использовании твердотельных накопителей и широко используемые в системах хранения данных, уже давно изобретены.
Прежде всего, это использование SSD в качестве места хранения данных, что на 100% эффективно, но дорого.
Поэтому используются технологии Tiring и Cache, где SSD используются только для самых популярных («горячих») данных.
Многоуровневое распределение хорошо подходит для сценариев длительного (дни-недели) использования «горячих» данных.
Кэширование, наоборот, предназначено для кратковременного (минуты-часы) использования.
Оба эти варианта реализованы в системе хранения данных.
В этой статье мы рассмотрим реализацию второго алгоритма — SSD-кэширование .
Суть технологии SSD-кэширования заключается в использовании SSD-накопителей в качестве промежуточного кэша между жесткими дисками и оперативной памятью контроллера.
Производительность SSD, конечно, ниже производительности собственного кэша контроллера, но объём на порядок выше.
Таким образом, мы получаем некий компромисс между скоростью и громкостью.
Показания к использованию SSD-кеша для чтения:
- Преобладание операций чтения над операциями записи (чаще всего характерно для баз данных и веб-приложений);
- Наличие узкого места в виде производительности массива жестких дисков;
- Объем необходимых данных меньше размера кэша SSD.
Большинство поставщиков систем хранения данных используют в своих продуктах SSD-кэш, доступный только для чтения.
Принципиальная разница КСАН Они также предоставляют возможность использовать кеш для записи.
Для активации функции SSD-кэширования в системах хранения QSAN необходимо приобрести отдельную лицензию (поставляется в электронном виде).
SSD-кэш в XCubeSAN физически реализован в виде отдельных пулов SSD-кеша.
Их в системе может быть до четырех.
Каждый пул, естественно, использует свой набор SSD. И уже в свойствах виртуального диска определяем, будет ли он использовать пул кэша и какой.
Включение и отключение использования кэша для томов можно выполнить онлайн, не останавливая ввод-вывод. Вы также можете «горячим способом» добавлять SSD в пул и удалять их оттуда.
При создании кэша пула SSD необходимо выбрать, в каком режиме он будет работать: только чтение или чтение+запись.
От этого зависит его физическая организация.
Поскольку пулов кэша может быть несколько, их функционал может быть разным (то есть в системе одновременно могут быть пулы кэша как для чтения, так и для чтения+записи).
Если используется пул кэша только для чтения, он может состоять из 1–8 твердотельных накопителей.
Диски не обязательно должны быть одинаковой емкости и одного производителя, поскольку они объединены в структуру NRAID+.
Все SSD в пуле являются общими.
Система самостоятельно пытается распараллелить входящие запросы между всеми SSD для достижения максимальной производительности.
Если один из SSD выйдет из строя, ничего страшного не произойдет: ведь в кэше находится лишь копия данных, хранящихся на массиве жестких дисков.
Просто объем доступного SSD-кэша уменьшится (или станет нулевым, если использовать исходный SSD-кэш с одного диска).
Если кеш используется для операций чтения+записи, то количество SSD в пуле должно быть кратно двум, поскольку содержимое зеркалируется на парах накопителей (используется структура NRAID 1+).
Дублирование кэша необходимо, поскольку он может содержать данные, еще не записанные на жесткие диски.
И в этом случае выход SSD из кэш-пула приведет к потере информации.
В случае NRAID 1+ выход из строя SSD просто приведет к переводу кэша в состояние «только для чтения», с сбросом незаписанных данных на массив жестких дисков.
После замены неисправного SSD кэш вернется в исходный режим работы.
Кстати, для большей безопасности можно назначить выделенные горячие резервы для кэша чтения+записи.
При использовании функции SSD-кэширования в XCubeSAN существует ряд требований к объему памяти контроллеров хранения: чем больше системной памяти, тем больший кэш-пул будет доступен.
В отличие от большинства производителей систем хранения, которые предлагают только возможность включения/выключения кэша SSD, QSAN предоставляет больше возможностей.
В частности, вы можете выбирать режим работы кэша в зависимости от характера нагрузки.
Есть три предустановленных шаблона, наиболее близких по своей работе к соответствующим сервисам: база данных, файловая система, веб-сервис.
Кроме того, администратор может создать собственный профиль, задав необходимые значения параметров:
|
|
Рассматривая принцип работы SSD-кэша, можно выделить основные операции при работе с ним:
- Чтение данных, когда их нет в кеше;
- Чтение данных, когда они присутствуют в кеше;
- Запись данных при использовании кэша чтения;
- Запись данных при использовании кэша чтения+записи.
Чтение данных, когда их нет в кеше
- Запрос от хоста поступает на контроллер;
- Поскольку запрошенные находятся не в кэше SSD, они считываются с жестких дисков;
- Считанные данные отправляются на хост. При этом производится проверка, являются ли эти блоки «горячими»;
- Если да, то они копируются в кэш SSD для дальнейшего использования.
Чтение данных, когда они присутствуют в кеше
- Запрос от хоста поступает на контроллер;
- Поскольку запрошенные данные находятся в кэше SSD, они считываются оттуда;
- Прочитанные данные отправляются на хост.
Запись данных при использовании кэша чтения
- Запрос на запись от хоста поступает на контроллер;
- Данные записываются на жесткие диски;
- Хосту возвращается ответ, указывающий на успешную запись;
- При этом проверяется, является ли блок «горячим» (сравнивается параметр Populate-on-Write Threshold).
Если да, то он копируется в кэш SSD для дальнейшего использования.
Запись данных при использовании кэша чтения+записи.
- Запрос на запись от хоста поступает на контроллер;
- Данные записываются в кэш SSD;
- Хосту возвращается ответ, указывающий на успешную запись;
- Данные из кэша SSD записываются на жесткие диски в фоновом режиме;
Проверьте в действии
Испытательный стенд 2 сервера (ЦП: 2 x Xeon E5-2620v3 2,4 Гц / ОЗУ: 32 ГБ) подключены двумя портами через Fibre Channel 16G напрямую к системе хранения данных XCubeSAN XS5224D (16 ГБ ОЗУ/контроллер).Мы использовали 16 дисков Seagate Constellation ES, ST500NM0001, 500 ГБ, SAS 6 Гбит/с, объединенных в RAID5 (15+1), для массива данных и 8 дисков HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100 ГБ, SAS 12 Гбит/с в качестве кэша.
Было создано 2 тома: по одному на каждый сервер.
Тест 1. SSD-кэш только для чтения от 1 до 8 SSD
SSD-кэш
|
Шаблон ввода-вывода
|
Теоретически, чем больше SSD в пуле кэша, тем выше производительность.
На практике это подтвердилось.
Единственное существенное увеличение количества SSD при небольшом количестве томов не приводит к взрывному эффекту.
Тест 2. SSD-кэш в режиме чтения+записи с 2-8 SSD
SSD-кэш
|
Шаблон ввода-вывода
|
Тот же результат: взрывной рост производительности и масштабирование по мере увеличения количества SSD. В обоих тестах объем рабочих данных был меньше общего размера кэша.
Поэтому со временем все блоки были скопированы в кэш.
А работа, по сути, уже велась с SSD, практически не затронув жёсткие диски.
Целью этих тестов было наглядно продемонстрировать эффективность прогрева кэша и масштабирования его производительности в зависимости от количества SSD. Теперь вернемся на землю и проверим более реалистичную ситуацию, когда объем данных превышает размер кэша.
Чтобы тест прошел за разумное время (период «прогрева» кэша сильно увеличивается с увеличением размера тома), мы ограничим размер тома 120ГБ.
Тест 3. Моделирование работы базы данных
SSD-кэш
|
Шаблон ввода-вывода
|
Вердикт
Очевидный вывод, конечно же, — хорошая эффективность использования SSD-кэша для повышения производительности любой системы хранения.Теги: #Хранение данных #Виртуализация #ИТ-инфраструктура #Хранение данных #Системы хранения #Системы хранения данных #SAN #qsan #qsan #qsanПрименительно к QSAN XCubeSAN Это утверждение справедливо в полной мере: функция SSD-кэширования реализована отлично.
Это касается поддержки режимов чтения и чтения+записи, гибких настроек под любой сценарий использования, а также общей производительности системы в целом.
Поэтому за вполне разумную стоимость (цена лицензии сопоставима со стоимостью 1-2 SSD) можно существенно повысить общую производительность.
-
Уничтожение Вебринга: Год Спустя
19 Oct, 24 -
Последствия Работы Экспертом В Суде
19 Oct, 24