Главная страница ПубликацииГипермасштабируемые облака - преимущества общедоступны

Гипермасштабируемые облака - преимущества общедоступны

За последние 10 лет системы обработки данных подверглись фундаментальным изменениям. Согласно данным IDC (International Data Corporation), за счет бурного развития сферы мобильных и веб-приложений вкупе с ростом коммодитизации инструментов для создания контента, объемы производства и потребления информации увеличились по крайней мере в 30 раз. В этой связи, компании стремятся найти пути для извлечения максимальной выгоды из петабайтов данных, которые они теперь вынуждены хранить. Полностью автоматизированные облака, предоставляющие услуги SaaS и IaaS, превратились в бизнес с многомиллиардным доходом. Появление сенсорных сетей и других технологий межмашинного взаимодействия сулит еще один колоссальный скачок в сфере хранения и перемещения данных.

Тем не менее, несмотря на монументальные изменения в работе с информацией и данными, за последние 20 лет традиционные СХД мало в чем изменились, за исключением роста емкости накопителей и производительности процессоров. Системы, рассчитанные на терабайты, пытаются выстоять под натиском многопетабайтных объемов данных.

Программно-определяемые хранилища, или Software-Defined Storage (SDS), способны предоставить в распоряжение более гибкую модель хранилища в текущих условиях, когда хранение данных превращается в еще одну ИТ-услугу. Абстрагирование от аппаратной платформы – та часть этой архитектуры, которая позволит потокам данных и сервисам хранения быстро адаптироваться к текущим задачам и облегчить масштабирование хранилища в обоих направлениях. В SDS функции управления отделены от аппаратного обеспечения, в противовес их привязке к специализированному проприетарному оборудованию, что позволяет сфокусировать функционал управления на данных, и буквально раздвигает рамки, установленные аппаратными ограничениями. По прошествии времени это разделение обнажает завышенные наценки (60%), характерные для оборудования хранения данных на нынешний момент, подобно тому, как это происходило прежде в отрасли (например, с появлением софтсвитчей).

Так как SDS-система должна быть развернута для оперирования петабайтными объемами данных, она должна предоставлять крайне высокий уровень доступности и быть неподверженной типичным сценариям отказа. Прикладной интерфейс должен сочетаться как с хорошо известными программами, так и с более новыми мобильными и веб-приложениями. Система должна обладать высокой производительностью, возможностью к ее линейному наращиванию и подходить для смешанных рабочих нагрузок. Функции, такие как защита данных и их восстановление, должны быть продуманы с учетом требований к динамичности распределения ресурсов и масштабируемости.

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

SAN все еще хороши благодаря низкой латентности, но они не подходят для «больших данных»

SAN (Storage Area Network) – базовое архитектурное решение для взаимодействия с ресурсами хранения данных через выделенную локальную сеть. Сеть управляет блоками данных, расположенными на небольших логических томах, независимо от типа содержимого, и полностью зависит от системного программного обеспечения, которое отвечает за организацию томов, каталогизацию и структурирование данных. SAN имеет технически ограниченные возможности масштабирования, набор интерфейсов и охват, к тому же, как правило, обходится дороже за счет необходимости создания изолированной сетевой инфраструктуры.

SAN

В качестве главных преимуществ SAN можно назвать низкую задержку доступа к данным, распределенные ресурсы хранения. Список недостатков SAN значительно шире: блоки «непрозрачны» и зависят от системных приложений, базы данных или файловой системы поверх данных; для повышения производительности требуется построение новой системы (за исключением массивов старшего уровня); при увеличении емкости более чем на несколько сотен терабайт требуется построение новой системы; распределенный доступ к серверам сложно организовать без дополнительного ПО; создание отказоустойчивой конфигурации (избыточность массивов, контроллеров, распределение по нескольким площадкам) требует создания новой системы и ПО для репликации; повышение устойчивости достигается путем использования ПО для восстановления и отдельной системы; операции восстановления данных влияют на производительность системы из-за ограниченного числа контроллеров; ограниченный выбор аппаратных конфигураций.

Файл по-прежнему – главная единица информации и NAS – хорошая «рабочая лошадка», но такие системы трудно поддаются масштабированию

Архитектура NAS (Network Attached Storage) также базируется на доступе к хранилищу по локальной сети, однако основная часть такой структуры реализуется на уровне файловой системы и файлов. Файловые системы обладают рядом предопределенных ограничений, которые вытекают из особенностей локальных внутренних структур, отвечающих за управление иерархией файлов и принципов доступа к файловой информации. Благодаря информации, заключенной в файловой иерархии, информированность о типе контента в системе выше, однако она локализуются на физическом контроллере хранилища. Как и SAN, системы NAS имеют технические пределы в части масштабирования и охвата. Кластеризованные системы хранения NAS обладает расширенными возможностями масштабирования, но по-прежнему имеют ограничения, привязанные к контроллерам (их число не может превышать 10) и к центральной базе данных, которая отслеживает сохранность файловой иерархии и файлов.

NAS

В качестве главных преимуществ NAS можно назвать удобную в эксплуатации систему хранения, подходящую для работы с несколькими сотнями терабайт данных. К недостаткам NAS можно отнести: необходимость построения новой системы при наращивании производительности, при увеличении емкости более чем на несколько сотен терабайт; построение новой системы и ПО для репликации при создании отказоустойчивой конфигурации (избыточность массивов, контроллеров, доступность с нескольких площадок); использование ПО для восстановления и отдельной системы  для повышения устойчивости; операции восстановления данных влияют на производительность системы из-за ограниченного числа контроллеров; ограниченный выбор аппаратных конфигураций.

Кластеризованная NAS

Кластеризированная NAS имеет некоторые преимущества стандартной NAS при доступной емкости около петабайта. Недостатки кластеризированной NAS в следующем: наращивание производительности требует построения новой системы после достижения ~100 узлов; наращивание емкости до нескольких петабайт требует построения новой системы; создание отказоустойчивой конфигурации (избыточность массивов, контроллеров, доступность с нескольких площадок) требует создания новой системы и ПО для репликации; повышение устойчивости достигается путем использования ПО для восстановления и отдельной системы; ограниченный выбор аппаратных конфигураций.

Объектное хранилище легко масштабируется, но его узкое место – пределы пиковой рабочей нагрузки

Объектное хранилище (Object Storage) основано на технологии, внедряющей дополнительный уровень абстракции, зачастую реализуемый поверх локальных файловых систем и параллельно ей. Данные в такой системе представлены в виде объектов (вместо блоков или файлов) в глобальном пространстве имен, в котором каждому объекту присвоен индивидуальный индентификатор. Это пространство имен может охватывать сотни серверов, благодаря чему увеличить емкость объектного хранилища значительно проще, чем для SAN или NAS систем.

Объектное хранилище

В качестве главных преимуществ можно назвать единое пространство имен, низкую стоимость, среди недостатков - то, что доступность зависит от интеграции API или шлюзов файловой системы, что усложняет систему плоское, масштабируемое пространство имен вместо системных путей к файлу или LUN-ов; производительность зависит от архитектуры метаданных, которые расположены или ограничены главными узлами сети; репликация данных между несколькими площадками возможна только по прошествии некоторого времени – асинхронная репликация; по-настоящему высокая надежность достигается только использованием алгоритмов Erasure Coding.

Однако, объектные хранилища обладают фундаментальными ограничениями в поддержке сетевых приложений, поскольку для работы они должны быть переписаны под специфические требования HTTP API. Функции приложений обычно сводятся к сценариям однократной записи, многократному чтению и однократной записи (WORM), и запрету на чтение. Столь бедный функционал обусловлен архитектурой, согласно которой трафик проходит через ограниченный набор metadata-узлов, что зачастую создают дополнительные перегрузки для этих узлы, загруженных сервисами вроде Erase Coding.

Программно-определяемые хранилища разработаны с учетом всех требований для массированного масштабирования

Программно-определяемые хранилища (Software-Defined Storage) представляют собой совершенно новую концепцию системы хранения данных, в котором функциональные возможности хранилища полностью отделены от специфического аппаратного обеспечения. В результате такого подхода появилась система с более гибким развертыванием, масштабированием, управлением и новым уровнем доступности.

Программно-определяемые хранилища

Главные преимущества программно-определяемых хранилищ  - стандартный файловый доступ, объектный доступ или доступ через интерфейсы виртуализации, ограниченность производительности только числом узлов; за счет стандартных серверов осуществляется масштабирование производительности и емкости; репликация данных между несколькими площадками может быть синхронной, асинхронной, без использования общей архитектуры; имеет место высокая устойчивость, оперативное реагирование при сбоях. Среди недостатков можно отметить: производительность отступает на второй план в угоду параллельности приложений; имеет место большая задержка доступа к данным по сравнению с объектными хранилищами (разработанными для обеспечения низкой латентности); ощутимо высока цена при развертывании крупных систем.

Упомянутое выше разделение позволяет программному обеспечению SDS-системы воздействовать на различные аппаратные средства по отдельности, масштабировать емкость, производительность и доступность независимо друг от друга, в соответствии с текущими задачами. Подобная эластичность недостижима для традиционных СХД, за исключением систем высочайшего уровня, которые включают специализированные аппаратные компоненты для реализации этих функций, в конечном счете, также ограничивающие гибкость и пределы масштабирования.

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

Помимо базового отделения программной составляющей системы от аппаратной, абстрагирование логики услуг хранения в SDS позволяет службам, управляющим емкостью, доступностью, устойчивостью и доступом к данным переступить физические пределы ресурсов. Характерной чертой большинства SDS является использование объектного хранилища для создания практически неограниченного пространства имен уникальных объектов вместо логических номеров дисковых устройств (LUN) и путей файловых систем, которые имеют фундаментальные пределы масштабирования. Это позволяет быстро нарастить реальную емкость без добавления новых физических блоков.

Программно-определяемые системы хранения достигают впечатляющих показателей доступности, эффективно используя собственную выделенную межузловую сеть. В отличие от фиксированного чередования активного/пассивного контроллера, характерного для большинства систем SAN и NAS, SDS-системы могут быть расширены до многих тысяч адресов в пределах одной сети. К тому же, в SDS применяются расширенные алгоритмы маршрутизации, гарантирующие ответ даже в масштабных топологиях и при многочисленных сценариях отказа. Это выходит далеко за рамки топологий типа switched fabric или подключения цепочкой традиционных систем хранения, в которых весь массив устройств может оказаться недоступным из-за обрыва кабеля или ошибки подключения.

Устойчивость традиционной системы хранения данных заключается в поддержании ее работы в случае неожиданного отказа одного или пары дисков, что также требует немедленной замены вышедших из строя компонентов. В системах с петабайтными объемами данных число накопителей начинается с сотен единиц, и, зачастую, доходит до тысяч. Даже с учетом большого запаса по среднему времени между отказами (MTBF), при таких масштабах несколько дисков в системе будут постоянно приходить в неработоспособность. SDS-системы разработаны с расчетом на массовые отказы и множество различных точек отказа оборудования. Программно-определяемые инфраструктуры используют преимущества, заложенные в методе распределенного хранения и обработки данных, для реализации разветвленных систем защиты и наискорейшего восстановления работы. Такая модель более целесообразна в заданном масштабе по сравнению с дублированием контроллеров для расширения инфраструктуры на базе архитектур, в которых поддержание работы системы во время восстановления накопителей и других сервисов является узким местом.

Досягаемость не была первостепенной заботой в традиционных системах хранения. Доступ к серверам приложений или мейнфреймам организовался через специализированные локальные сети, связь реализовалась на основе всего нескольких зрелых протоколов. Теперь же общедоступные Ethernet-сети, смешанный публичный и частный доступ стали нормой. Программно-определяемые хранилища обязаны соответствовать более широкому кругу требований. Начиная от веб-доступа до Ethernet-доступа, от сетевых ресурсов хранения до развернутым локально на прикладном сервере – SDS должны поддерживать их все.

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

SDS удовлетворяет большинство требований к интеграции приложений, работающих по протоколам, которые широко варьируются от персистентных до не отслеживающих состояние, от самых простых до максимально интерактивных и семантически богатых. Благодаря этому появляется возможность создания универсальной среды, в которой хранилище будет основой для функционирования приложений, не зависимо от того, используются ли малые или большие файлы, невзирая на различные требования к безопасности и протоколам. Это разрушает границы между NAS, объектным и ленточным хранилищем, ломает рычаги давления со стороны крупнейших игроков рынка систем хранения данных, за которые они с удовольствием дергали многие годы, и совершенствует сферу услуги хранения данных для условий, где сеть разрослась до миллиардов конечных точек.

Подводя итоги, можно сказать, что требования к системам хранения и подверглись коренным изменениям, равно как и сценарии их использования. Достаточно отметить, что 90% объема всех данных на текущий момент были созданы за последние два года. Эпоха петабайтов уже здесь, а эра эксабайтов – на пороге. Колоссальные объемы данных и стремление к новым экономическим показателям стали катализатором фундаментальных сдвигов в отрасли хранения данных, живущей старыми подходами, некоторые из которых появились десятилетия назад и к текущему моменту достигли технического предела своих возможностей.

Вернуться к публикациям