Даже самые заядлые скептики уже признают, что технологии SSD обладают рядом неоспоримых преимуществ по сравнению с обычными жесткими дисками и позволяют получить значительно большую производительность операций ввода/вывода (а в некоторых случаях скорости I/O — много не бывает). Вместе с тем, SSD еще не готовы к повсеместному внедрению вместо традиционных жестких дисков по целому ряду причин: начиная с цены и заканчивая надежностью. Что же делать? На выручку приходят гибридные решения, которые сочетают традиционные диски с SSD, позволяя получить (пусть и с определенными оговорками) преимущества обоих решений.
Если не углубляться в детали, то сам принцип работы гибридных систем достаточно прост (а если углубиться — то можно настолько погрузиться, что и не вернешься за год) и одинаков для всех систем, начиная с дисков Seagate Momentus XT и Apple Fusion Drive, заканчивая дорогими и сложными решениями для больших систем хранения данных и дата-центров, о которых сегодня и пойдет речь.
Для основного хранения данных используются традиционные жесткие диски, по необходимости объединенные в RAID, а SSD используется для кэширования самых часто используемых данных, к которым надо обращаться чаще всего. Управление кэшированием системы берут на себя, и чаще всего кэш-раздел в системе вообще недоступен в виде отдельного диска.
В больших и «серьезных» системах вопросы оптимизации ввода/вывода стоят еще острее, чем для настольных компьютеров. То, что для пользователя является секундной задержкой в запуске тяжелой программы, в случае нагруженного сервера может вылиться во многие тысячи долларов убытков, если дисковая подсистема станет «бутылочным горлышком», замедляющим всю работу.
Говоря о больших системах хранения данных, нельзя не вспомнить про компанию LSI, которая, являясь одним из крупнейших поставщиков для систем хранения данных, не могла остаться в стороне. В портфеле продуктов LSI есть набор решений для ускорения работы дисковых систем, объединенных в семейство Nytro.
Линейка этих продуктов делится на три группы.
Nytro WarpDrive Application Acceleration Card
SSD диск, выполненный в виде PCI-express карты, которая может быть установлена в большинство современных серверов, предоставляя высокоскоростной диск для нужд системы.
Nytro XD Application Acceleration Storage Solution
Комплекс из карты WarpDrive и специализированного ПО, интегрирующегося в систему и использующего SSD для кеширования критичных данных. Такой подход позволяет ускорять любые блочные системы хранения, вне зависимости от способа подключения (iSCSI, DAS, SAS, FC или любой другой). Все что нужно для ускорения – блочное устройство.
Nytro MegaRAID Application Acceleration Card
Эти карты по-сути являются RAID контроллерами, построенными на топовых решениях RAID-on-chip от LSI, с добавлением скоростного NAND Flash. Специальные алгоритмы автоматически определяют данные, которые надо кешировать, поэтому данное решение работает независимо от операционной системы и полностью прозрачно для нее.
Чтобы продемонстрировать на практике, как можно ускорить работу с вводом/выводом, 11 апреля в LSI провели семинар или «workshop», посвященный этой теме (подробности об этом мероприятии приведены чуть ниже).
Поскольку корпоративный IT требует разумного и взвешенного подхода, перед внедрением какой-либо технологии или решения необходимо убедиться, решит ли оно существующую проблему. Для того, чтобы помочь разобраться в этом вопросе, в LSI разработали програму Nytro Predictor™, работающую с двумя основными серверными операционными системами — Windows и Linux. Predictor использует стандартные для каждой системы инструменты для сбора статистики: xperf для Windows и blktrace для Linux, работая в фоне, полностью прозрачно для пользовательских задач.
Для понимания Predictor-у необходимо какое-то время поработать в фоне, собирая данные, пока компьютер выполняет типичные задачи (лучше дать времени с запасом). После этого можно ознакомиться с результатами его работы, и на основании этого уже решать — что делать.
Теперь давайте вернемся к техническому семинару и посмотрим на все это на практике.
Для экспериментов использовался тестовый стенд следующей конфигурации:
Сервер SuperMicro на платформе X8ST3-F, OS Windows 2008 Server R2
Система хранения данных 630J
Nytro MegaRAID 8110 (200 Gb)
Nytro XD BLP4-400 (400 Gb)
Контроллер MegaRAID 9271-4i
Контроллер 9266-8i с функцией CacheVault и блоком CVM01
Контроллер 9286-8e
Запуск Predictor-а и моделирование нагрузки. В роли типичной нагрузки выступал MSSQL запрос, обрабатывающий много данных.
Запустили профайлер для сбора данных и потом выполнили запрос. Если профайлер работал мало времени — результаты будут малополезными
Собрав данных в ходе работы сервера в его «типичном» режиме, мы отдаем их на обрабоку «предсказателю». Проанализировав их, он выносит свой вердикт.
Можно подробно посмотреть, как распределялись запросы чтения/записи в зависимости от размеров блока, и даже в какие сектора шли чтение/запись.
Вот очень показательный пример работы Nytro Predictor на реальной SAN-системе. На графиках очень четко видно, как по мере «прогрева» кеш оптимизирует ввод-вывод.
Разумеется, лучше всего результаты смотреть на реальных тестах. Вот пример, использовавшийся в ходе workshop. Для начала замер производительности системы на RAID0, собранной из 10 HDD Seagate Cheetah 146Gb 15K. JBOD LSI 620J. Контроллер: 9266-8i. Платформа: SuperMicro X8ST3-F, OS Windows 2008 Server R2
Теперь, замер после подключения Nytro MegaRAID 8110, обратите внимание, что полученные результаты более чем на порядок лучше.
Вот простой пример того, как работает SSD в больших системах хранения данных. Если у вас остались вопросы — буду рад на них ответить.
Автор: alexzeynikov