Меню

Как подключить ssd для кэша

Использование SSD-кэширования в серверах.
Контроллеры Adaptec (Microsemi) и LSI (BROADCOM). Тестирование и настройка

Рассмотрим несколько различных вариантов построения дисковой подсистемы сервера с целью сравнения их по цене и быстродействию. В качестве величины полезной емкости дискового хранилища выберем значение 10TB. Во всех вариантах предполагается использование аппаратного RAID-контроллера с кэш-памятью 2GB.

Бюджетный вариант – два жестких диска 3,5″ объемом 10TB с интерфейсом SATA и скоростью вращения шпинделя 7200 об./мин., объединенных в массив RAID1. Быстродействие такого массива не превысит 500 операций в секунду (IOPS) при чтении и 250 IOPS при записи. Дополнительный плюс этого решения – возможность кратного увеличения емкости хранилища за счет добавления новых дисков в свободные отсеки дисковой корзины сервера.

Максимальное быстродействие обеспечит массив RAID10 из SSD-накопителей, например, 12 штук Intel DC S4600 1,9TB. Производительность такого массива составит 800’000 IOPS на операциях чтения и 400’000 IOPS на операциях записи, то есть быстрее второго варианта в 160 раз, но дороже по сравнению с ним в 4 раза, а с первым вариантом – в 24 раза. Выбор SSD-накопителей большего размера даст примерно такие же цифры по стоимости и немного ниже – по производительности.

Вариант
массива
Чтение
(IOPS)
Запись
(IOPS)
Во сколько
раз быстрее
Во сколько
раз дороже
HDD 10TB x 2 500 250
HDD 1,8TB x 12 5’000 2’500 X 10 X 6
SSD 1,9TB x 12 800’000 400’000 X 1600 X 24

В общем, чем дороже, тем быстрее. И даже скорость обгоняет цену.

Прирост производительности на 3 порядка, который обеспечивают твердотельные накопители, является чрезвычайно привлекательным, однако на хранилищах такого объема обходится слишком дорого.

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

Идея SSD-кэширования основана на концепции «горячих» данных.

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

Таким образом, в дисковой подсистеме сервера имеются блоки данных, к которым контроллер обращается значительно чаще, чем к другим блокам. Такие «горячие» блоки контроллер, поддерживающий технологию SSD-кэширования, хранит в кэш-памяти на SSD-накопителях. Запись и чтение этих блоков с SSD выполняются гораздо быстрее, чем чтение и запись с жестких дисков.

Понятно, что разделение данных на «горячие» и «холодные» достаточно условно. Однако как показывает практика, использование для кэширования «горячих» данных даже пары SSD-накопителей небольшого объема, объединенных в массив RAID1, дает очень большой прирост производительности дисковой подсистемы.

Технология SSD-кэширования применяется как для операций чтения, так для операций записи.

Алгоритм SSD-кэширования реализуется контроллером, он довольно простой и не требует от администратора никаких усилий по настройке и сопровождению. Суть алгоритма в следующем.

Когда сервер посылает контроллеру запрос на чтение блока данных, контроллер проверяет, находится ли данный блок в SSD-кэш.

Если да, контроллер читает блок из SSD-кэш.

Если нет, контроллер читает блок с жестких дисков и записывает копию этого блока в SSD-кэш. При следующем запросе на чтение данного блока, он будет считываться из SSD-кэш.

Когда сервер посылает контроллеру запрос на запись блока данных, контроллер проверяет, находится ли данный блок в SSD-кэш.

Если да, контроллер записывает данный блок в SSD-кэш.

Если нет, контроллер записывает данный блок на жесткие диски и в SSD-кэш. При следующем запросе на запись данного блока, он будет записываться только в SSD-кэш.

Что произойдет, если при очередном запросе на запись блока, которого нет в SSD-кэш, там для него не окажется свободного места? В этом случае самый «старый» по времени обращения блок в SSD-кэш будет записан на жесткий диск, а его место займет «новый» блок.

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

Если SSD-кэширование планируется использовать только для чтения, в качестве кэш-памяти на SSD можно использовать одиночный SSD-накопитель или массив RAID0 из SSD-накопителей, поскольку SSD-кэш будет хранить только копии блоков данных, хранящихся на жестких дисках.

Читайте также:  Мультискрин ростелеком как подключить на ноутбуке

Если SSD-кэширование планируется использовать для чтения и записи, то «горячие» данные будут храниться только в кэш-памяти на SSD. В этом случае необходимо обеспечить резервирование таких данных, для чего использовать в качестве кэш-памяти два или более SSD-накопителей, объединенных в RAID-массив с избыточностью, например, RAID1 или RAID10.

Давайте посмотрим, как технология SSD-кэширования работает на практике, а заодно сравним эффективность ее реализации на контроллерах двух разных производителей – Adaptec и LSI.

Тестирование

Основной дисковый массив: RAID10 из шести HDD SATA 3,5″ 1TB. Полезный объем массива 2,7TB.

SSD-кэш: RAID1 из двух SSD Intel DC S4600 240GB. Полезный объем массива 223GB.

В качестве «горячих» данных мы использовали первые 20 миллионов секторов, то есть 9,5GB, основного массива RAID10. Выбранный небольшой объем «горячих» данных принципиально ничего не меняет, но позволяет значительно сократить время тестирования.

Тестируемые контроллеры: Adaptec SmartRAID 3152-8i и BROADCOM MegaRAID 9361-8i (LSI).

Нагрузка на дисковую подсистему создавалась при помощи утилиты iometer. Параметры нагрузки: размер блока 4K, случайный доступ, глубина очереди 256. Мы выбрали большую глубину очереди, чтобы сравнивать максимальные показатели производительности, не обращая внимания на время задержки.

Производительность дисковой подсистемы фиксировались при помощи системного монитора Windows.

Adaptec (Microsemi) SmartRAID 3152-8i с технологией maxCache 4.0

Этот контроллер по умолчанию поддерживает технологию SSD-кэширования maxCache 4.0 и имеет 2GB собственной кэш-памяти c защитой от потери питания в комплекте.

При создании основного массива RAID10 мы использовали установки контроллера по умолчанию.

Массив RAID1 кэш-памяти на SSD был установлен в режим Write-Back, чтобы включить SSD-кэширование на чтение и запись. При установке режима Write-Through все данные будут записываться на жесткий диск, поэтому мы получим ускорение только на операциях чтения.

Красная линия – производительность дисковой подсистемы на операциях записи.

В первый момент наблюдается резкий всплеск производительности до значения 100’000 IOPS – данные записываются в кэш контроллера, который работает со скоростью оперативной памяти.

После заполнения кэш производительность падает до обычной скорости массива жестких дисков (примерно 2’000 IOPS). В это время блоки данных записываются на жесткие диски, поскольку этих блоков в кэш-памяти на SSD еще нет и контроллер не считает их «горячими». Копия данных записывается в SSD-кэш.

Постепенно все больше блоков записывается повторно, такие блоки уже есть в SSD-кэш, поэтому контроллер считает их «горячими» и записывает только на SSD. Производительность операций записи при этом достигает 40’000 IOPS и стабилизируется на этой отметке. Поскольку в SSD-кэш данные защищены (RAID1), нет необходимости перезаписывать их в основной массив.

Отметим, кстати, что заявленная производителем скорость записи для используемых нами здесь SSD-накопителей Intel DC S4600 240GB составляет как раз 38’000 IOPS. Поскольку мы записываем один и тот же набор данных на каждый накопитель из зеркальной пары массива RAID1, можно сказать, что SSD-накопители работают на максимально возможной для себя скорости.

Синяя линия – производительность дисковой подсистемы на операциях чтения. Левый участок – чтение данных из массива жестких дисков со скоростью примерно 2’000 IOPS, в кэш-памяти на SSD пока нет «горячих» данных. Одновременно с чтением блоков жестких дисков выполняется их копирование в кэш-память на SSD. Постепенно скорость чтения немного растет, поскольку начинают «попадаться» блоки, ранее считанные в SSD-кэш.

После записи в SSD-кэш всех «горячих» данных их чтение выполняется оттуда со скоростью более 90’000 IOPS (второй синий участок).

Фиолетовая линия – комбинированная нагрузка (50% чтение, 50% запись). Все операции выполняются только c «горячими» данными на SSD. Производительность в районе 60’000 IOPS.

Контроллер Adaptec SmartRAID 3152-8i отлично справится с организацией SSD-кэширования. Поскольку контроллер уже включает поддержку maxCache 4.0 и защиту кэш-памяти, необходимо приобрести только SSD-накопители. Контроллер удобен и прост в настройке, установки по умолчанию обеспечивают максимальный уровень защиты данных.

Видео с записью тестирования Adaptec maxCache 4.0:

LSI (BROADCOM) MegaRAID 9361-8i

Этот контроллер поддерживает технологию SSD-кэширования CacheCade 2.0. Для ее использования необходимо приобрести лицензию стоимостью около 20’000 рублей.

Читайте также:  Как подключить смотрешку на смарт тв

Защита кэш-памяти не входит в комплект поставки, но по результатам тестирования мы выяснили, что для получения максимальных показателей производительности кэш контроллера лучше использовать в режиме Write-Through, который не требует защиты кэш.

Установки контроллера для основного массива: кэш контроллера в режиме Write-Through; режимы чтения Direct IO, No Read Ahead.

Кэш-память на SSD-накопителях (массив RAID1) в режиме Write-Back для кэширования операций чтения и записи.

Картина тестирования (здесь диапазон вертикальной шкалы в два раза больше, чем у Adaptec):

Последовательность тестирования такая же, картина похожая, но производительность CacheCade 2.0 несколько выше, чем maxCache.

На операциях записи «горячих» данных мы получили производительность почти 60’000 IOPS против 40’000 у Adaptec, на операциях чтения – почти 120’000 IOPS против 90’000 IOPS, на комбинированной нагрузке – 70’000 IOPS против 60’000 IOPS.

Здесь нет «всплеска» производительности в начальный момент тестирования операций записи, поскольку кэш контроллера работает в режиме Write-Through и не используется при записи данных на диски.

У контроллера LSI более сложная настройка параметров, требующая понимания принципов его работы. Для использования SSD-кэширования не требуется обязательное наличие защиты кэш-памяти контроллера. В отличие от Adaptec возможно использование SSD-кэш для обслуживания сразу нескольких RAID-массивов. Более высокая производительность по сравнению с контроллерами Adaptec. Требуется покупка дополнительной лицензии CacheCade.

Видео с записью тестирования LSI CacheCade 2.0:

Заключение

Дополним нашу табличку. При сравнении цен учтем, что для массива в 10TB желательна кэш-память большей емкости. Цифры производительности возьмем из нашего тестирования.

Вариант
массива
Чтение
(IOPS)
Запись
(IOPS)
Во сколько
раз быстрее
Во сколько
раз дороже
HDD 10TB x 2 500 250
HDD 1,8TB x 12 5’000 2’500 X 10 X 6
SSD 1,9TB x 12 800’000 400’000 X 1600 X 24
HDD 10TB x 2 + SSD 960GB x 2, maxCache 90’000 40’000 X 160 X 2,5
HDD 10TB x 2 + SSD 960GB x 2, CacheCade 120’000

60’000

X 240 X 3

При кэшировании записи всегда используйте в качестве SSD-кэш массивы с избыточностью (RAID1 или RAID10).

Для SSD-кэш используйте только серверные SSD-накопители. Они имеют дополнительную «невидимую» область размером около 20% от заявленного объема. Эта резервная область используется для внутренних операций дефрагментации и «сборки мусора», благодаря чему производительность таких накопителей на операциях записи не падает даже при 100% их заполнении. Кроме того, наличие резервной области экономит ресурс накопителя.

Ресурс SSD-накопителей для кэш-памяти должен соответствовать нагрузке на подсистему хранения сервера по объему записываемых данных. Ресурс накопителя обычно определяется параметром DWPD (Drive Writes Per Day) – сколько раз в день можно полностью перезаписать накопитель на протяжении 5 лет. Накопители с ресурсом 3 DWPD и более обычно будут подходящим выбором. Измерить реальную нагрузку на дисковую подсистему можно при помощи системного монитора.

В случае, если возникнет необходимость перенести все данные из кэш-памяти на SSD-накопителях на основной массив, нужно переключить режим работы SSD-кэш с Write-Back на Write-Through и подождать пока данные полностью не перепишутся на жесткие диски. По окончании этой процедуры, но не ранее, контроллер «позволит» удалить том SSD-кэширования.

Источник

Стоит ли включать кэширование на SSD диске?

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

Что такое SSD Cache?

Кэш SSD, или, как его правильно называют, SSD-кэширование, представляет собой механизм управления данными, разработанный Intel в начале 2010-х годов, который использует небольшой твердотельный накопитель в качестве кэша для жесткого диска, как правило, большего размера.

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

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

В реальном выражении кэширование SSD будет включать в себя SSD небольшого размера, скажем, 40 ГБ, в сочетании с большим традиционным жестким диском, например, с емкостью 1 ТБ.

Intel разработала технологию кэширования SSD Smart Response Technology (SRT), а запатентованная итерация этого механизма доступна только на материнских платах с поддержкой SRT и чипсетами Intel. Что еще хуже, Intel не использует технологию всех своих наборов микросхем, которая ограничивает аппаратные конфигурации, которые пользователь может ожидать, сохраняя при этом возможность кэширования SSD.

Системы с чипсетами AMD требуют, чтобы пользователь использовал стороннее программное обеспечение для эмуляции кэширования SSD, поскольку AMD до сих пор не разработала или не интегрировала конкурирующую технологию в свои чипсеты. К счастью, существует множество программных решений, таких как FancyCache и PrimoCache. Как общеизвестно, они ненадежны и имеют целый ряд проблем.

Ограничения SSD-кэширования

Кэширование SSD дает ощутимые преимущества только тогда, когда система находится в том состоянии, которое мы называем «чистым», таким как загрузка компьютера после его выключения, перезагрузка Windows или первоначальный запуск приложения после перезагрузки или выключения питания. Существует иерархия памяти, которая работает от кэша ЦП до ОЗУ, кэша SSD, затем HDD. Перезапуск очищает кэш ЦП и ОЗУ, превращая кэш SSD в место доступа к данным.

Причина этого заключается в том, что во всех других случаях есть вероятность, что критически важные, часто используемые данные уже хранятся в ОЗУ системы, и, поскольку ОЗУ быстрее любого жесткого диска, будь то SSD или HDD, кэширование SSD делает процесс заполнения оперативной памяти данными, намного быстрее. Ничто не улучшит скорость, как то, что данные уже доступны в оперативной памяти.

Как видите, главное преимущество кэширования SSD наиболее очевидно при загрузке Windows: ОС находится в работоспособном состоянии гораздо раньше, чем в кэшированной системе без SSD. Аналогично, запуск Steam и вашей любимой игры после перезагрузки будет намного быстрее с SSD-кэшированием. Если вы работали без перезапуска в течение нескольких часов и открыли, затем закрыли различные программы и решили открыть их еще раз, SSD ничего не сделает для ускорения процесса.

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

Если вы одновременно запускаете множество приложений, преимущества будут очевидны, в то время как если вы будете запускать одну и ту же программу изо дня в день, обрабатывая файлы большого формата, преимущества будут незначительными.

Стоит ли включать кэширование SSD?

Как только SSD-кэширование запущено, оно само по себе позаботится о том, чтобы не было никакой его настройки от пользователя. Преимущества, если таковые имеются, пассивно производятся, что делает его удобным решением.

Однако настройка кэширования, даже с набором микросхем Intel SRT, является трудной задачей, которая включает в себя использование правильных драйверов, правильную настройку BIOS и запуск его в качестве настройки RAID, установку драйверов Windows и Rapid Storage Technology, управление режимами и т.д. Суть в том, что он значительно сложнее, чем использование SSD-накопителя большой емкости и простая установка Windows.

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

Вывод

Источник