Высокая производительность флэш-массива – это еще не все
Первое, что приходит в голову, когда встает вопрос об all-flash массивах, это, безусловно, производительность. Сотни тысяч IOPS, время отклика на уровне сотен микросекунд – можно сказать, машина «Формулы-1» среди систем хранения данных.
Но высокая производительность – это еще не все. И задач, где низкое время отклика – это единственное что важно, или где приложением действительно востребованы 500 тыс. IOPS, не так уж много. В большинстве задач важно также, какова функциональность массива и как он будет работать не под «идеальной» нагрузкой синтетических тестов производительности, а в реальных условиях с приложениями заказчика. Именно в этом проявляются различия флэш-массивов. И дьявол, как обычно, кроется в деталях.
Хотя и может показаться, что все флэш-массивы более-менее одинаковы и имеют лишь незначительные особенности, это совершенно не так. Внутри они устроены очень по-разному – отдельные их поколения построены по принципиально отличной архитектуре. На рынке представлены как более старые продукты, которые создавались с целью построить максимально быстрый массив, без дополнительной функциональности (обычно путем разработки собственного «железа»), так и более новые, на стандартной x86-платформе, в архитектуру которых изначально заложена богатая функциональность с учетом технологических особенностей флэш-памяти. Поэтому в них реально работают дедупликация «на лету», мгновенные снимки без влияния на производительность и thin provisioning. И всем этим можно с успехом пользоваться, что позволяет не просто заменить один массив на другой, более быстрый, а принципиально изменить подход к построению инфраструктуры хранения.
Что представляет собой флэш-массив первой волны? Это собственный вариант «упаковки» флэш-модулей и RAID-контроллеры на чипах собственной разработки. Используются привычные по классическим дисковым массивом RAID-группы, из них выделяются тома. Чтобы добавить к такому массиву функциональность, например дедупликацию, нужны внешние контроллеры или шлюзы, на которых будет работать какой-то внешний код, эту функциональность реализующий. А это уже катастрофически увеличивает задержку, снижает производительность и зачастую «убивает» всю идею построения быстрого флэш-массива. Поэтому столь необходимые для решения многих задач функции, как дедупликация или мгновенные снимки, в таких массивах или отсутствуют, или реализуются через дополнительные внешние модули с совершенно другим уровнем производительности.
Примером массивов нового поколения может служить EMC XtremIO. В нем дедупликация, thin provisioning и равномерное распределение нагрузки по всем компонентам предусмотрены изначально. Он просто не может работать по-другому. И в целом весь такой массив проектируется с нуля в расчете на флэш-память. В нем применены хранение метаданных в памяти, разработанная специально для флэш-технологии схема защиты данных XDP, горизонтально масштабируемая кластерная архитектура, снэпшоты без влияния на производительность и многое другое. Благодаря такому дизайну в массив легко добавлять новый функционал: например, компрессию или шифрование. При этом массив построен на стандартных компонентах: используется производительная x86-платформа и SSD-диски.
В результате все технологии присутствуют в массиве не «для галочки», а приносят реальную пользу в самых требовательных к производительности задачах. Дедупликация для активных данных позволяет построить суперпроизводительную инфраструктуру виртуальных рабочих мест (VDI) без использования сложных linked-клонов или платформу виртуализации масштаба ЦОДа в половине стойки. Компрессия, не снижающая производительность, и «бесплатные» снэпшоты изменяют подход к СХД для баз данных и их тестовых копий. И именно в этом, а не в чипах собственной разработки, заключается современный и перспективный подход к построению СХД.
Таким образом, на одном и том же рынке представлены системы фактически разных поколений. И именно на принципиальные архитектурные различия и функциональность, а не только на маркетинговые показатели производительности нужно обращать внимание при выборе флэш-массивов.