Табл. 1. Развитие некоторых ИТ-технологий с начала 2000-x годов
В то же время практически все промышленные решения для автоматизации бизнес-процессов требуют весьма высоких значений производительности подсистемы хранения. Пользователи MS SQL, Oracle, SAP, MS Exchange, ряда аналитических и Warehouse-решений ожидают самого высокого уровня сервиса от дорогостоящих и ресурсоемких бизнес-приложений. И до недавних пор компаниям не оставалось ничего, кроме как находиться в постоянной погоне за производительностью дисковой подсистемы, увеличивая ее размеры и при этом существенно снижая эффективность. Ведь наращивание количества дисков без потребности в дополнительной емкости – это самая настоящая расточительность. Уменьшается свободное место в ЦОД, расходуются средства на электричество и охлаждение: более 30% всех расходов на хранение уходит на сопутствующее «инженерное» поддержание, по данным Gartner.
И тогда ряд производителей оборудования и ПО предложил использовать в качестве базы для оптимизации производительности ИТ-систем flash-технологии. Какие же бизнес-задачи привели к тому, что, казалось бы, странная для длительного хранения технология нашла свое применение и с успехом развивается, активно соседствуя, а порой даже и вытесняя традиционные дисковые накопители? Вот некоторые цели, которые озвучивают в беседах с нами представители компаний-заказчиков – ИТ-руководители и бизнес-пользователи: «Информация – это инструмент для ведения бизнеса, и мы хотим получать ее максимально быстро», «Как увеличить доход или сократить издержки за счет уменьшения времени получения данных/обработки информационных транзакций?». Или: «Сотрудники и/или заказчики не удовлетворены скоростью работы наших систем», «Наши решения для хранения данных не адекватны скоростным приложениям», «ИТ-департамент сообщает о недопустимых задержках при обработке данных, и это может стать причиной проблем при предстоящем расширении бизнеса», «Существует ли способ максимально точно прогнозировать время реального отклика подсистем, работающих с нашими данными?».
За последние несколько лет выкристаллизовались 4 подхода к оптимизации операций ввода-вывода:
- повышение показателей отклика с помощью дополнительного кеширования на уровне серверов;
- увеличение скорости работы приложений за счет сетевого кеширования: устройства с flash-памятью встраиваются в построенные сети (SAN, NAS);
- увеличение скорости работы приложений за счет расширения кеширующих возможностей дисковых подсистем;
- повышение эффективности работы дисковых подсистем с помощью многоуровневого размещения данных, когда наиболее «горячие» данные размещаются на flash-устройствах.
Практика показывает, что имеющие перспективы развития подходы можно объединить в две группы: оптимизация обращения с данными на стороне вычислительных комплексов и оптимизация на стороне подсистем хранения данных. Таким образом, индустрия определила два технологических пути развития и, как следствие, два вида устройств, помогающих повысить эффективность работы с данными. Это flash-карты – акселераторы приложений (Flashcards – Application Accelerators) и flash-хранилища – массивы, использующие SSD-накопители (All-Flash-Array и традиционные дисковые массивы с установленными flash-накопителями). Применение того или иного типа устройства в ИТ-инфраструктуре зависит от конкретной ситуации, кроме того, оба варианта могут совместно функционировать в ИТ-ландшафте.
Типы flash и их архитектура
Ниже мы подробно рассмотрим виды основных существующих в настоящее время flash-устройств. На рис. 1 показана их классификация. Как уже было сказано, это flash-карты, AFA (All-Flash Array) и внешние дисковые массивы, использующие flash-накопители.
Как видно из рисунков 2–4, наиболее сложная архитектура – у традиционных внешних дисковых массивов. Такие решения обычно построены на базе классических дисковых интерфейсов. Здесь быстрые flash-накопители подключаются по тем же каналам, что и более медленные механические диски. За счет узких мест в точке подключения накопителей подобные решения имеют наименьшие показатели производительности, но в то же время лучшие характеристики надежности благодаря проверенным временем механизмам сохранности данных, таким как RAID, технологии High Availability/Disaster Recovery и т.п.
Рис. 2. Архитектура акселераторов приложений – flash-карт
Рис. 3. Архитектура All-Flash Array – внешних массивов, состоящих из пула специализированных flash-накопителей (чаще всего flash-карт)
Рис. 4. Архитектура внешних традиционных дисковых массивов с применением flash-SSD
С другой стороны, наивысшие показатели производительности именно у flash-карт – по причине самой простой архитектурной схемы и технической близости к вычислительным мощностям и приложениям. Но на практике именно такие решения становятся единой точкой отказа, они требуют сложных и неоправданно дорогих механизмов резервирования. ИТ-комплексы на их основе часто имеют более низкие показатели надежности.
Основные вехи развития flash-технологий 1978 год – разработка первого накопителя на базе RAM. 1982 год – первый полупроводниковый накопитель на RAM со скоростью 320 Мбит/с, объёмом 8, 16 или 32 млн 64-разрядных чисел.
1984 год – первое применение термина «flash» в процессе изобретения уплотнения записи в память путем компоновки цепей стирания.
1988 год – первый коммерческий flash-чип на базе NOR-памяти.
1989 год – первый энергонезависимый NAND flash-чип.
1995 год – первый полупроводниковый накопитель на flash-памяти.
2006 год – первое применение MLC-технологии в решениях корпоративного сектора.
2007 год – первый flash-накопитель объёмом 4 ГБ в рабочем компьютерном устройстве.
2008 год – первый SSD-накопитель со скоростью записи 240 Мбайт/с и чтения 260 Мбайт/с, его объём – 128 ГБ.
2009 год – первый SSD объёмом 512 ГБ, в этом же году – первый SSD-накопитель объёмом 1 ТБ.
2010 год – представлены первые решения, использующие технологию Enterprise MLC (EMLC).
2011–2013 годы – представлены решения корпоративного класса, использующие не менее трех типов flash-накопителей: SLC, MLC, EMLC.
Информационные комплексы на основе массивов с исключительно flash-накопителями (AFA) имеют приближенные к сбалансированным показатели производительности и надежности. AFA оптимальны для решения задач, требующих высокой производительности, низких значений времени отклика и задержек. Кроме этого, такие устройства могут иметь достаточно хорошие показатели масштабируемости по емкости. Высокая производительность достигается за счет меньшего числа дополнительных архитектурных слоев-«посредников» между хостами и непосредственно flash-микросхемами – накопителями информации. Специально проектируемая внутренняя управляющая архитектура позволяет максимально использовать преимущества flash-памяти. Более высокие, по сравнению с flash-картами, надежность и сохранность информации обеспечиваются различными средствами защиты данных, приближенными к механизмам, используемым в традиционных дисковых массивах (виртуальные RAID-группы, возможности внешней и внутренней репликации и т.п.).
Многие компании уже успели познакомиться с такими решениями, как SAP HANA для ERP от компании SAP или Exadata от Oracle. Они разрабатывались, в том числе, чтобы повысить производительность «тяжелых» приложений. И в них с успехом применены flash-технологии в виде flash-карт – акселераторов приложений. В данном случае flash выступает в роли дополнительного слоя быстрой буферизации тех самых сегментов данных, которые в более старых алгоритмах должны были обрабатываться не так быстро, например, с участием дисков. Кроме того, серверные flash-акселераторы целесообразно использовать и в менее «тяжелых» решениях. В нашей стране число инсталляций подобных решений насчитывает более сотни. Так, например, ряд представителей финансовой вертикали (включая банки из ТОП 20) уже сумел решить свои задачи повышения производительности с помощью такого рода продуктов.
Теперь немного подробнее поговорим о пропускной способности традиционных систем хранения и AFA. Практически все традиционные системы используют схожие архитектуры, отличающиеся незначимыми деталями. Контроллерная пара соединяется посредством пассивного дискового backplane с дисковыми наборами. Каналы соединения могут быть построены различными способами. Например, тренд текущего времени – многоканальная SAS-матрица (изображена голубым цветом на рис. 5).
Рис. 5. Архитектура традиционного дискового массива (упрощенная модель)
Как уже говорилось, относительный плюс такой архитектуры – высокая масштабируемость по емкости за счет возможности ее существенного наращивания механическими дисками. А недостаток (он, собственно, и привел индустрию к flash-технологиям) – уже не приемлемые задержки при операциях ввода-вывода, в том числе низкие показатели IOPS механических дисков.
Для того чтобы максимально использовать все преимущества flash-устройств, требуются более широкая полоса пропускания и, следовательно, иная архитектура внутренней коммутации. Кроме того, требуются механизмы, оптимизирующие работу всего устройства (выравнивание жизненного цикла ячеек, отказоустойчивость групп модулей, дискретность и Serviceability). Архитектура AFA-массива представлена на рис. 6.
Рис. 6. Архитектура AFA-массива (упрощенная модель)
Гидридные AFA
Казалось бы, AFA – это оптимальное решение проблем, связанных с хранением и обработкой информации. Но есть одно но: возможности защиты данных у них все-таки ниже, чем у обычных систем хранения. Этот недостаток нивелирован в относительно новом классе решений под «кодовым» названием гибридные AFA (Hybrid AFA). Подобные продукты есть у ряда вендоров – NetApp, HDS, HP и т.д.
Гибридные AFA, как правило, построены с использованием архитектур классических дисковых массивов и при этом имеют специальные изменения, помогающие оптимизировать полосу пропускания, производительность и задержки, а также практически полностью сохранить возможности защиты информации, присущие традиционным решениям для хранения (High Availability, Disaster Recovery и т.д.). Другими словами, это дисковые массивы, модернизированные для работы с flash-накопителями и в то же время допускающие использование в своем составе и традиционных дисков. При этом модернизация может как коснуться аппаратной части, так и ограничиться оптимизацией микрокода. В отличие от гибридных обычные AFA исключают возможность применения традиционных, не flash-накопителей.
Итак, все устройства, в которых могут применяться flash-накопители, можно разделить на категории в соответствии с уровнем их производительности и надежности (см. табл. 2).
Табл. 2. Уровень производительности и надежности различных flash-устройств
Примеры использования flash
Можно привести достаточно много примеров применения flash-накопителей в традиционных дисковых массивах для повышения производительности.
Так, в VDI-инфраструктурах (Virtual Desktop Infrastructure) тяжелейшей проблемой являются так называемые boot storms и login storms – «загрузочные штормы» в момент начала работы большого числа сотрудников компании. При существенном числе пользователей VDI (сотни, тысячи) flash значительно повышает скорость загрузки профилей по сравнению с традиционных дисков. Причем это справедливо практически для всех VDI-платформ. Одна из российских компаний с 3000 пользователей, в том числе удаленных и мобильных, по причине boot storm теряла 1,5–2 часа рабочего времени на загрузку всего комплекса ежедневно. Использование загрузочных образов, расположенных на flash-носителях, установленных в тот же традиционный дисковый массив, который использовался ранее, сократило это время до 15–20 минут.
Другой пример: российский банк приобрел и установил набор flash-накопителей. Базы данных Oracle, важные отчеты из которых формировались порой до недели, были перенесены на flash. В результате время подготовки отчетов сократилось с дней до нескольких десятков минут.
Примечательна flash-история с банком, входящим в ТОП 20 в нашей стране. ИТ-дирекция, привыкшая тщательно тестировать решения прежде, чем их приобретать, и не удовлетворенная качеством и скоростью работы ряда внутренних и внешних сервисов, провела тестирование AFA. Тесты проводили на весьма емкой базе данных MS SQL, а точнее – полной копии продуктивного экземпляра размером в N терабайт. В ней хранилась и обрабатывалась информация о миллионах граждан. В результате теста удалось смоделировать улучшение показателей проблемных сервисов в несколько раз.
Поговорим и о применении гибридного AFA. Российский банк для решения задачи, связанной с Data Warehouse, использовал достаточно «тяжелый» High-End дисковый массив. В нем для достижения нужного уровня производительности было установлено такое количество дисковых носителей, что СХД получилась размеров в 6 шкафов. При этом в пиковые часы производительности было недостаточно. В банке заменили 6 шкафов на неполный один, в составе которого использовали гибридный flash-массив. В результате получили более чем 80%-ный запас по нагрузке, сократили расходы на электричество и арендованные стойко-места.
С другой стороны, есть примеры, когда использование flash-технологий не давало ожидаемых результатов.
Так, компания стремилась с помощью flash получить ускорение записи больших объемов данных для задач геологоразведки. Но этого не произошло. Дело в том, что объемы данных были настолько велики (сотни и тысячи терабайт), что хранить их на flash-устройствах оказалось не только не рентабельно, но и попросту невозможно.
Другой заказчик хотел добиться прироста производительности MS Exchange. Но, протестировав AFA на своей инфраструктуре, он не увидел ожидаемого результата. Причина состояла в том, что профили MS Exchange были настроены таким образом, что «бутылочным горлышком» оказывались вычислительные ресурсы, а не подсистемы хранения.
Таким образом, задумываясь об использовании flash, нужно понимать, что технология не является абсолютной панацеей от всех проблем.
Перспективы развития технологии
Многочисленные исследования, проведенные за последние два года, демонстрируют сравнительную эффективность Flash Storage и традиционных механических накопителей. Практически все аналитические выкладки можно свести к единой форме, что мы и сделали (см. рис. 7).
Рис. 7. Экономическая эффективность применения flash-устройств в сравнении с традиционными дисками
Таким образом, в средах, где имеет значение хотя бы один из показателей, указанных на рис. 7 (производительность, удельная стоимость IOPS, энергопотребление), в ближайшие 3–7 лет прогнозируется планомерная миграция решений с механическими дисками на flash-устройства.
Эта тенденция обоснована в том числе экономическими причинами. Развитие технологий flash-памяти неуклонно ведет к снижению себестоимости ее производства. Большинство вендоров уже производят пластины по технологиям 16 мк. И это далеко не предел. Flash-производство идет по стопам процессоростроения, где 8 мк уже не является фантастикой.
Вместе со снижением себестоимости развиваются защищенность и долговечность flash-накопителей. Если несколько лет назад мультиячеечная технология MLC не могла быть использована в промышленных средах, имея показатели наработки на отказ в пределах 1000–3000 операций перезаписи, то сегодня они уже в десятки раз выше. И это позволяет постепенно уходить от более дорогой одноячеечной технологии SLC, выигрывая в денежном выражении при сохранении надежности и емкости.
Не стоят на месте исследования и в параллельных областях энергонезависимой памяти. Активно ведутся научные и технологические изыскания, которые в будущем могут устранить главные ограничения сегодняшних flash-устройств.
Итак, время начинать постепенный переход на перспективные технологии. Этот путь может длиться годы, но крестовый поход за повышением эффективности уже неизбежен.