13 мар. 2011 г.

SSD-кэширование в контроллерах Adaptec

Adaptec анонсировал свою технологию SSD-кэширования MaxIQ достаточно давно, с тех пор она успела поменять название на maxCache, появились контроллеры с индексом Q, Z и ZQ, не за горами окончательный выход новых контроллеров 6-й серии - но по-прежнему о maxCache (как и об аналогичном решении LSI - MegaRAID CacheCade) недостаточно информации. Конечно, на сайтах вендоров есть соответствующая документация, но не мешало бы изложить краткую суть самого maxCache и его совместимости с многочисленными контроллерами Adaptec.

Итак - SSD-кэширование. В теории все просто - реализовано кэширование на одном или нескольких SSD операций чтения (запись есть в планах, но о сроках реализации пока что не слышно) на HDD-массив.
Данный процесс совершенно прозрачен для ОС (работает на любой ОС, поддерживаемой контроллером) и требует следующего:
  1. Контроллер с поддержкой maxCache - 2 и 5 серия Adaptec.
  2. Для контроллеров без индекса Q - один или несколько наборов Adaptec maxCache SSD Cache Kit. В комплекте идет ПО и 32 или 64ГБ SSD - это Intel X25-E со специальной прошивкой.
  3. Для контроллеров с индексом Q (2405Q, 5805Q, 5805ZQ) - обычные SSD из списка совместимости.
И самое главное - нужна соответствующая нагрузка. Очевидно, что наибольшей отдачи от SSD-кэширования можно получить на случайном чтении, где, например Intel X25-E демонстрирует больше 30000 IOPS на блоках 4k, и при попадании в кэш - объем данных с регулярным доступом не должен быть сильно больше объема SSD-кэша. Т.е. вариантами применения могут быть либо web-сервер, либо СУБД (большую часть нагрузки должно составлять чтение, причем желательно в пределах ограниченной области).
Частный случай - гибридные массивы. Пример - создаем RAID-1 из SSD и HDD. Объем массива будет равен объему SSD, оставшуюся емкость на HDD можно выделить под другой массив или simple volume. Запись идет на HDD, чтение осуществляется с SSD. Плюс в том, что дополнительных затрат не требует, подойдет любой контроллер 2 и 5 серии, а минус - в меньшей гибкости, это не кэширование операций с большого HDD массива, а всего лишь SSD с зеркалированием на HDD.
Надежность? С надежностью все хорошо. Во-первых, кэшируется только чтение, запись идет обычным путем - на HDD через набортный кэш контроллера (вы же не забыли докупить BBU или контроллер с безбатарейной защитой?). Во-вторых - используйте SLC-диски, Intel X25-E - самый проверенный вариант. При невысокой нагрузке, конечно, можно обойтись и MLC, но не забывайте про HCL (список совместимости).
Цена? Если нужно получить >30k IOPS на случайном чтении и при этом не нужны сильно большие объемы, то безусловно maxCache того стоит. Анализируйте требования своей задачи, цены на связку, например "5805 + maxCache Kit 64GB + ABM-800" против "5805ZQ + Intel X25-E 64GB", и принимайте решение.

P.S. По техническим вопросам и вопросам покупки обращайтесь в True System, с Adaptec мы давно сотрудничаем (статус Adaptec Authorized Sub-distributor).

P.P.S. 17 октября 2011 состоялся выход новых контроллеров Adaptec 6805Q и 6805TQ с поддержкой maxCache 2.0. Теперь кэшируется не только чтение, но и запись!

3 комментария:

  1. Приветствую!
    Коллеги, поделитесь опытом, плиз?

    Дано: MS SQL 2008, база 60 гигабайт. Большая часть нагрузки (90 процентов) - это операции чтения из базы. Есть желание повысить производительность, добавив один maxCache на 64ГБ. Есть ли у вас статистика, на сколько эффективен будет подобный апгрейд?

    Спасибо!

    ОтветитьУдалить
  2. Доброго времени суток!
    Все зависит от того, справляется ли сейчас дисковая подсистема (или, может быть, все упирается не в нее). Соберите perfmon'ом статистику: кол-во обращений на чтение и запись, очередь на чтение и запись. И конфигурацию дисковой подсистемы текущую.

    ОтветитьУдалить
  3. Приветствую!

    Сейчас: Adaptec 5805+BBU+7HDD SAS 15K. RAID10 (6HDD)+ Hot spare.
    Постоянно мониторим Заббиксом. С записью все в порядке (значения perfmon'а в пределах 1-2 (очередь)), а вот с чтением беда - бывают всплески до 1000 (очередь) и более. Запросы не оптимальны - занимаемся оптимизацией. Вот и возникла мысль использовать maxCache (как раз один отсек свободен)в комплексе с оптимизацией запросов, с целью разгрузить дисковую по чтению.

    Спасибо!

    ОтветитьУдалить