Страницы

Сохранить статью у себя в соцсети:

понедельник, 25 марта 2013 г.

§ CacheCade: Hardware SSD Cache.

CacheCade - Аппаратная реализация кэширования на SSD.

Как известно, показатели производительности SSD дисков в плане random read/write существенно опережают показатели SATA/SAS дисков, но с другой стороны SATA/SAS диски имеют преимущество на операциях последовательного чтения и записи. И здесь в голову приходит мысль, что было бы круто совместить положительные стороны этих устройств в единое целое. Инженерная мысль не стоит на месте и реализация этой мысли пошла по двум направлениям: по программной и аппаратной.
Программный путь развития  предлагает нам различные решения на уровне операционной системы, которые создают гибридное устройство состоящее из SSD и SAS/SATA дисков. Такими решениями являются FlashCache, BCache, EnchanceIO и т.п. Аппаратный же путь развития предлагает, прозрачное для операционной системы, подключение SSD дисков к основному массиву дисков со стороны RAID контроллера. В этом случае работа по обслуживанию операции ввода-вывод перекладывается на RAID контроллер. Эта ситуация, с различием между реализациями, один в один совпадает с картиной относящейся к программными и аппаратными RAID массивами. В одном случае работа по обслуживанию тома возлагается на ядро операционной системы, во втором - на программное RAID контроллера. Но в обоих случаях лежит один и тот же прием: использование быстрого SSD диска в качестве кэша, перед "медленным" шпиндельным диском. И этот прием действительно работает. Дисковые операции выполняются с меньшими задержками и скорость работы приложений связанных с дисковым вводом-выводом значительно увеличивается. 
Если же сравнивать эти решения между собой, то у обоих решений есть свои преимущества и недостатки. Существенным плюсом программных решений является их универсальная применимость. Гибридное устройство можно собрать на любой аппаратной платформе (but Linux-only).  В сочетании же с LVM (Logical Volume Manager) добавляется гибкость в администрировании устройством. SSD диск можно "попилить" и создать несколько гибридных томов для разных задач. Но в силу молодости, эти решения до сих пор являются экзотикой и программные пакеты не входят в официальные репозитории дистрибутивов. Linux ядро пока также официально не поддерживает эти технологии (хотя в скором времени обещают добавить BCache). 
Аппаратные же решения, предполагают наличие RAID контроллера с поддержкой необходимой технологии (MaxIQ, CacheCade) что является не совсем бюджетным вариантом. Но, с моей точки зрения, аппаратные решения имеют другое преимущество. Собранный на уровне RAID контроллера том, прозрачен для операционной системы и снижает стоимость администрирования решения (не нужно патчить ядро, устанавливать дополнительные пакеты, собирать тома). В случае выхода SSD диска из строя, RAID контроллер на лету перенаправляет запросы ввода-вывода на основной дисковый массив, администратору же остается заменить SSD диск чтобы вернуть все на свои места. 
Справедливости ради, стоит отметить что FlashCache так же научился делать fallback запросов на основной диск в случае выхода из строя SSD диска. 

Теперь же отойдем от теории к практике. Если про FlashCache я уже упоминал, то сейчас настала очередь CacheCade. CacheCade это технология разработанная в недрах компании LSI для ускорения дисковой производительности, как раз за счет кэширования данных на SSD дисках. SSD диск используется для хранения часто запрашиваемых данных, при этом вся работа перекладывается на аппаратный RAID контроллер и операционная система не подозревает что она работает с гибридным устройством. На момент написания статьи технологию CacheCade поддерживают контроллеры семейства H700 и H800 (PERC - PowerEdge RAID Controller).
По заявлению маркетоидов официальных представителей, производительность работы приложений увеличивается от 55% до 76%.
Что же, начнем. Настройка массива осуществляется через утилиту администрирования RAID контроллером:
В самом начале работ, у нас есть несколько несконфигурированных дисков.

Сначала нужно сделать основной дисковый массив. Для этого выбираем целевой контроллер и наживаем F2. В меню выбираем пункт "Create New VD" - Создать новый виртуальный диск.

В открывшемся окне выбираем уровень RAID массива 

Отмечаем диски которые будут добавлены в массив, задаем имя и нажимаем OK.

Теперь в основном дереве будет отображаться только что созданный RAID массив.

Теперь пришла очередь создать CacheCade устройство. Снова выбираем контроллер и нажимаем F2. В меню выбираем пункт "Create CacheCade Virtual Disk"

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

Возвращаемся в главное дерево. Как видно в итоге у нас дисковый массив RAID10 и CacheCade том.

 На этом все, нажимаем Esc, сохраняем изменения и перезагружаемся.

На главную "Virtualizing Linux"

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

  1. а как активировать этэот самый кэшкэйд про???

    ОтветитьУдалить
    Ответы
    1. Через bios рэйд-контроллера. Если там нет соотв. менюшек надо убедиться что контроллер вообще поддерживает CacheCade.

      Так-то статья 5-летней давности, с тех пор надежность SSD сравнялась с обычными дисками и надобность во всяких CacheCade/Flashcache/EnhaceIO/etc. давно отпала.

      Удалить

Популярные сообщения

Профиль в Google+ Яндекс цитирования Яндекс.Метрика