Поиск

USD/RUB: 66.62 EUR/RUB: 75.54 BTC/USD: 5644.27

16 декабря : пятница

Колонка эксперта

Программно-определяемые хранилища завоевывают рынок

18.01.2016 14:49

Александр Киров, компания Virtuozzo StorageАвтор: Александр Киров, менеджер продукта Virtuozzo Storage.


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

Однако мы видим эту тенденцию с несколько иной стороны. Дело в том, что компания Virtuozzo начала разрабатывать систему хранения данных чуть больше 5 лет назад, причем с конкретной узкой целью — чтобы создать надежную основу для контейнерной виртуализации. Благодаря специальной организации хранилища контейнеры могут работать быстрее и получить отказоустойчивость. Однако появление на рынке все большего количества программных решений класса SaaS говорит о том, что распределенные хранилища теперь востребованы во все большем количестве областей.

Программное против аппаратного

Разговоры про программно-определяемые системы хранения данных звучат все чаще. Надо сказать, что это не только дань моде полностью программно-определяемых дата-центров (Software-defined data center): действительно, в современных условиях хранить информацию намного удобнее в распределенных программно-определяемых средах. Дело в том, что аппаратные системы — SAN или NAS, которые были на пике популярности еще буквально 2-3 года назад — сегодня выглядят архаичными из-за высокой цены и невозможности оперативного масштабирования.

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

Программные же системы хранения не опираются на отказоустойчивость оборудования — наоборот, считается, что оборудование априори ненадежно. Такой принцип позволяет им работать на стандартных серверах, которые можно легко купить у любого поставщика оборудования. Надежность хранения данных гарантируется их избыточностью, как и в аппаратных системах, но при этом система имеет больше возможностей при распределении данных между серверами. Реализация алгоритмов обработки данных на программном уровне позволяет легко и быстро менять схемы кодирования данных. За счет распределенной архитектуры достигается высокая масштабируемость системы и параллелизация процессов обработки данных. Для сравнения: скорость восстановления данных в аппаратных системах обычно ограничена скоростью записи на один физический диск независимо от объема хранилища — это примерно 100-150 Mб/с (при условии, что диск в данный момент не используется).

Восстановление данных в программно-определяемых решениях происходит параллельно на всех дисках. Благодаря этим технологиям нам удается достичь скорости восстановления в 600-1200 Mб/с в кластере, причем эта скорость растет с увеличением размера кластера.


Данные бывают разные

Каждый из современных продуктов нацелен на свой сегмент данных, ведь информация бывает разной, и хранить ее нужно по-разному. Некоторые программно-определяемые хранилища даже не конкурируют друг с другом. Например, VMware vSAN и Cleversafe решают совсем разные задачи. Сравнивать их — все равно что сравнивать грузовик и автобус: и тот и другой занимается перевозками больших объемов, но по-разному, и к перевозкам предъявляются совершенно разные требования.

Сегодня можно выделить три основных сценария работы с данными — это хранение (например, архивное хранение), обработка (например, Hadoop и MapReduce) и передача данных (например, оптимизация распространения контента в интернете). Каждое из этих направлений требует специализированной адаптации продуктов: где-то нужна производительность, где-то — надежное отказоустойчивое хранение, где-то — максимальная плотность данных на единицу объема, а где-то — скорость доступа к данным. Достичь одновременно превосходных результатов в каждой области невозможно: например, для увеличения производительности приходится жертвовать отказоустойчивостью, для уменьшения времени доступа к данным — их согласованностью (например, в разных уголках света пользователи будут видеть разные версии одних и тех же данных). Поэтому каждая система хранения обладает своим набором свойств, наиболее подходящим для определенных сценариев и сегментов рынка. Мы в Virtuozzo сосредоточены на хранении «горячих» (часто изменяемых) данных, и это не удивительно, ведь Virtuozzo Storage развивался как оптимальная система хранения для виртуальных машин и контейнеров, расположенных на одном кластере.

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

Функции будущего

Важный тренд — это переход к объектному хранению данных, когда каждое приложение получает доступ к своему виртуальному хранилищу и может записывать в него любые свои данные. И в этом смысле системы, рассчитанные на виртуализированные среды и контейнеризацию, имеют большой потенциал, так как они создавались именно под подобные запросы средств контейнерной виртуализации. Но самое главное — это поддержка разных протоколов, в особенности Amazon S3-совместимый интерфейс. В настоящее время все большую популярность получает протокол HTTP. Мы даже не задумываемся, насколько часто мы открываем различные файлы (картинки, текст, даже эту статью) через протокол HTTP в интернете. Мы делаем это гораздо чаще, чем открываем файлы на своем локальном компьютере. Этот тренд создает сложности для традиционных хранилищ, которые работают на блочном или файловом уровне — их производительность снижается кардинально в сценариях использования, включающих HTTP. Чтобы избежать этого, необходимо переходить к объектам, например, как это сделано в Amazon. Однако реализовать Amazon S3-совместимый интерфейс (который, в свою очередь, работает через HTTP), оказывается проще в программно-определяемых средах. Такой подход позволит пользователям напрямую обращаться к хранилищу через интернет, избегая промежуточных протоколов, таких как iSCSI, FC и NFS, по которым работают системы SAN и NAS. И именно благодаря широким возможностям подключения программно-определяемые среды хранения в ближайшие годы будут вытеснять аппаратные СХД даже из их традиционных сегментов рынка.

Источник: @Astera