+7 (495) 120 67 02     |      info@qsan.su

Применение SSD кэша в Унифицированной СХД Qsan

Введение


Унифицированная система хранения данных Qsan является мощной, но в то же время и простой системой, предоставляющей консолидированные решения как для совместного использования файлов, так и для блочного доступа. Мощный и эффективный дизайн пула хранения включает функции корпоративного класса, такие как "тонкое" управление томами, дедупликация, сжатие данных и SSD кэширование. В этой статье мы объясним, как применять SSD кэш и где он будет оказывать наибольшее влияние на производительность.
В Унифицированной СХД Qsan кэш SSD выделен каждому пулу хранения, и только SSD диск может быть назначен в качестве кэша. Технология Qsan ZFS описывает два типа SSD кэша:


С точки зрения операций ввода-вывода, кэш SSD, находящийся между оперативной памятью (DRAM) и жесткими дисками, действует как буфер для хранения часто используемых данных, которые не находятся в оперативной памяти. Поскольку цена дисков SSD за ГБ продолжает падать, использование быстрого кэша SSD со стандартными дисками SATA помогает создать экономически выгодное гибридное решение пула хранения, энергоэффективное и высокопроизводительное, использующее сильные стороны быстрых дисков SSD. Однако, добавление кэша SSD к пулу хранения данных не всегда гарантирует улучшение производительности, особенно когда пул уже заполнен высокопроизводительными жесткими дисками, такими как SAS на 10 или 15 тысяч об/мин и даже SSD, или содержит большое количество жестких дисков, например, более 20-ти.
Ниже сравниваются цены за ГБ для различных носителей, присутствующих на рынке.
 

SAS 15 тыс. об/мин SATA SSD (корпоративный класс) SATA 7200 об/мин
$3/GB $1.5/GB $0.12/GB

Например, сравним решение из 6-ти дисков SAS (300ГБ каждый) и гибридное решение из 4-х SATA дисков (1ТБ каждый) плюс 2-х SSD дисков (240ГБ каждый). Полное решение на базе SAS стоит $5400, в то время как гибридное стоит $1200. Полное решение SAS дает 1.5ТБ (RAID5) объема, а гибридное предлагает 3ТБ (RAID5).





Благодаря оптимизированным на чтение и на запись накопителям SSD, общая производительность гибридного пула хранения данных SATA может быть близка или лучше, чем у пула данных SAS в двух разных случаях: для приложений с синхронной записью и дедупликации. Дополнительные преимущества – более низкие цены, больший объем, пониженная потребляемая мощность по равнению с полным решением на SAS. В следующих разделах мы покажем, как найти соответствующие накопители SSD и использовать их с правильным балансом стоимости и производительности. Мы покажем, как применять кэш чтения и записи с максимальной выгодой.
 

Кэш чтения (L2ARC) с дедупликацией


Кэширование чтения является особенно полезным, когда включена дедупликация. Это происходит потому, что при использовании дедупликации происходит частый доступ к таблице DDT, хранящей индекс дедуплицированных блоков. Без кэша L2ARC таблица DDT находится в оперативной памяти, имеющей ограниченный объем. Размер DDT постоянно растет по мере увеличения объема дедуплицирующихся данных, и, наконец, она вытесняется из оперативной памяти на медленный дисковый пул. Это приводит к ухудшению производительности.
Давайте попробуем представить, насколько сильно упадет производительность, когда функция дедупликации включена. В этом тесте используются 3 диска SATA в RAID 5. Блоки данных копируются, начиная от объема 10ГБ и накапливаясь всего до 160ГБ. Рис. 1 показывает, что производительность падает, так как в процессе дедупликации участвует все больше данных.



Рисунок 1 Запись файлов от 10ГБ до 160ГБ с ВКЛ и ВЫКЛ дедупликацией

При включении L2ARC, технология Qsan ZFS позволяет переместить таблицу DDT в кэш чтения L2ARC и действительно сократить время доступа и выборки данных с дисков. Если Вы хотите использовать кэш на чтение для улучшения производительности, мы предлагаем использовать его в приложениях, применяющих дедупликацию, например, резервного копирования данных. Давайте посмотрим, насколько может улучшиться производительность при включении кэша чтения L2ARC. Рисунок 2 показывает продолжение 1-го теста с копированием большего объема файлов и добавленным кэшем чтения L2ARC. Технология Qsan ZFS поддерживает до 4-х дисков SSD в качестве кэша чтения. Несколько накопителей SSD могут быть организованы в RAID 0 для придания дополнительной производительности кэшу чтения L2ARC.



Рисунок 2 Чем быстрее L2ARC, тем лучше производительность дедупликации
 

Сравнение решений на гибридном пуле и SAS пуле при дедупликации


В гибридном пуле мы используем 4x диска SATA, 1x диск SSD как кэш чтения, и 1x диск SSD как кэш записи. В пуле SAS мы используем 6x дисков SAS на 15 тыс. об/мин. Рисунок 3 ниже показывает, что гибридный пул может соответствовать производительности пула SAS в приложениях, использующих дедупликацию.



Рисунок 3 Гибридный пул и SAS пул с дедупликацией
 

Кэш записи (ZIL) с синхронной записью


Синхронная запись часто используется в базе данных и NFS приложениях, где безопасность и целостность данных является главным приоритетом. Технология Qsan ZFS использует журнал протоколирования ZFS (ZIL) - механизм регистрации в соответствие с требованиями файловой системы POSIX к синхронной записи. Журнал протоколирования ZFS сохраняет записи транзакций системных запросов, изменяющих файловую систему с достаточной информацией для их воспроизведения. Технология Qsan ZFS предусматривает использование отдельного устройства протоколирования, где синхронные записи могут быть быстро записаны и подтверждены системными запросами прежде чем данные будут записаны в дисковый пул. Используя быстрый SSD-диск в качестве устройства протоколирования ZFS, кэш записи может значительно улучшить производительность синхронной записи.
Рисунок 4 показывает, как производительность случайной и последовательной записи может быть улучшена в 2 – 3 раза, используя 1x диск SSD в качестве кэша записи.



Рисунок 4 Сравнение производительности чтения с использованием 1x накопителя SSD как кэша чтения
 

Сравнение решений на гибридном пуле и SAS пуле при синхронной записи


В гибридном пуле мы используем 4x диска SATA, 1x диск SSD как кэш чтения, и 1x диск SSD как кэш записи. В пуле SAS мы используем 6x дисков SAS на 15 тыс. об/мин. Рисунок 5 ниже показывает, что гибридный пул может даже выиграть у пула SAS, по крайней мере, вдвойне.



Рисунок 5 Гибридный пул и SAS пул с синхронной записью

Поскольку кэш записи ZIL содержит важные записи транзакций системных вызовов. Если диск SSD кэша записи выйдет из строя, данные будут потеряны, но пул хранения данных все еще наверняка будет поддерживает свою непротиворечивость и целостность (consistency and integrity). Мы рекомендуем использовать диск SSD типа SLC в качестве кэша записи. Если Вы можете сэкономить два диска SSD для кэша записи, Вы можете сконфигурировать их как RAID 1 зеркало для лучшей защиты данных.
 

Правила кэширования SSD и ограничения объема дедупликации


Начиная с версии прошивки FW1.0.3 необходимо придерживаться определенных правил и ограничений, чтобы должным образом сконфигурировать кэш SSD.
 

Максимальное количество дисков SSD


Каждый пул хранения может иметь кэш чтения (L2ARC) до 4 накопителей SSD и кэш записи (ZIL) до 2 накопителей. Всего 6 дисков SSD для каждого пула. Для кэша записи два диска SSD могут быть сконфигурированы как RAID 0 для лучшей производительности или как зеркало RAID 1 для лучшей защиты данных.
Ограничение по количеству применяется ТОЛЬКО к отдельным пулам. В системе хранения нет ограничений по количеству дисков SSD. Вы можете создать много пулов хранения данных, используя JBOD-ы и применяя по 6 дисков SSD в каждом пуле в качестве кэша SSD.


 

Ограничения дедупликации


Унифицированная система хранения Qsan обеспечивает встроенную синхронную дедупликацию на уровне блоков. Избыточный блок будет удален и заменен индексом в таблице дедупликации (DDT), которая отслеживает всю информацию об избыточности определенного пула хранения данных. DDT находится в оперативной памяти, когда не развернут кэша чтения SSD. Чем больше дедуплицированных данных, тем больше становится DDT. После достижения определенного порога, DDT будет перемещена из памяти на пул хранения данных, и именно тогда производительность заметно ухудшится. Чтобы избежать существенного падения производительности, когда достигается предел объема дедуплицированных данных, функция дедупликации на ВСЕХ пулах системы вынужденно выключается автоматически, пока кэш чтения SSD не будет добавлен к определенному пулу хранения, чтобы разблокировать функцию дедупликации для этого определенного пула.
 
Объем памяти Ограничение объема дедупликации
8ГБ 137ГБ
16ГБ 371ГБ
 

Заключение


В технологии Qsan ZFS, функция SSD кэша (L2ARC и ZIL) создана специально, чтобы обслуживать дедупликацию и приложения с синхронной записью. Она позволяет использовать гибридный пул хранения данных, который сочетает большую емкость, недорогие диски SATA с низкой задержкой ввода-вывода, энергоэффективные накопители SSD для формирования экономически выгодного решения, которое может конкурировать с чистым решением на дисках SAS по цене, потребляемой мощности и производительности. Кэш чтения L2ARC обычно подходит для дедупликации приложений, например, резервного копирования данных. Кэш записи ZIL может дать Вам преимущество в синхронной записи приложений, таких как базы данных и NFS.
Кэш SSD – не универсальный инструмент, который может повысить производительность при любых обстоятельствах. Применяйте его с осторожностью к надлежащим приложениям, чтобы извлечь выгоду из этой развивающейся технологии.
 

Ссылки

 
  1. Все тесты проводились с использованием системы Qsan U400Q, дисками SATA 7200 об/мин, SAS 15000 об/мин и корпоративными дисками SSD.
  2. Может ли флэш-память стать основой для нового уровня в иерархии хранения? By Адам Левенталь (Adam Leventhal), COMMUNICATIONS OF THE ACM, No 7, Vol 51, July 2008