С каждым годом приложения становятся все более ресурсоемкими — как по количеству операций ввода-вывода, так и по пропускной способности. Массивы неструктурированных данных неуклонно растут. По данным исследовательской компании IDC, каждые два года объем данных в глобальном масштабе удваивается. Таким образом, к 2020 г. объем информации приблизится к 44 зетабайтам, или 44 триллионам гигабайт (около 5 терабайт на каждого жителя Земли!).

Накопление, обработку и доступность данных по требованию используемых заинтересованными лицами приложений должны обеспечивать системы хранения данных (СХД). Любой новый проект, например, развертывание виртуальной инфраструктуры, подразумевает новые расходы на хранение. При этом в классических СХД масштабирование емкости с сохранением производительности системы, а также доступности и целостности данных — дело чрезвычайно затратное.

Любые меры по обеспечению высокой производительности СХД повышают ее стоимость. Даже если речь не идет о внедрении передовых технологий, таких как массивы хранения All-Flash, как правило, для этого приходится инвестировать значительные ресурсы в обновление аппаратного и программного обеспечения, а также миграцию данных. Зачастую после очередного внедрения заказчику приходится иметь дело с пулом разрозненных, не совместимых друг с другом СХД от различных производителей. В результате возникают сложности в их обслуживании, обновлении ПО и переносе данных. Столкнувшись с этим, многие заказчики начали понимать, что установка новой «коробки» вместо старой — не панацея.

Значительную роль играют и внешние факторы. Так, в результате принятия пресловутого «закона Яровой» перед российскими телеком-операторами и интернет-провайдерами встает задача экспоненциального масштабирования их СХД. Несмотря на увеличивающиеся объемы накопителей (в данный момент доступны диски емкостью до 10 Тб), нужны технологии, способные снизить издержки операторов связи на начальном этапе. Это возможно в случае перехода к гибкой архитектуре хранения, которая могла бы расширяться вместе с ростом объема накапливаемых данных.

Другой аспект проблемы — обеспечение надежности и доступности данных. Традиционные механизмы репликации в данном случае не подойдут из-за гигантского объема исходной информации, поэтому следует использовать аналог сетевого RAID.

SDS как путь решения

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

Подстраиваясь под новые требования рынка, лидеры индустрии СХД (EMC, NetApp, HP, IBM, DELL) и игроки второго эшелона (например, Pure Storage, DDN, Nimble Storage, DataCore) анонсировали свои SDS-решения. Так, по прогнозам IDC, рынок программно-определяемых систем хранения вырастет до 6,2 млрд. долл. в 2019 г.

Программно-определяемое хранение стало своего рода «зонтичным брендом» для обозначения любых стратегий, отличных от традиционных аппаратных RAID-систем, зачастую смешиваясь с такими понятиями, как облачное хранение, распределенное хранение и виртуализация.

Фактически, SDS — это стандартные аппаратные системы под управлением независимого ПО. «Софт» лицензируется и распространяется отдельно от «железа» и легко устанавливается на стандартное серверное оборудование, которое таким образом становится средством блочного, файлового или объектного хранения данных.

Каковы основные особенности программно-определяемых СХД?

  • Независимое от «железа» программное обеспечение, позволяющее обеспечить совместное использование аппаратных систем от разных производителей, избежать привязки к одному вендору и сократить расходы на оборудование. Такое ПО является управляющим центром любой СХД и работает без привязки к «железным» процессам, т. е. его обновление должно быть возможным без обновления аппаратного обеспечения и наоборот. Функции управления должны быть максимально автоматизированы в соответствии с решаемыми задачами.
  • Стандартный интерфейс управления: API для выделения ресурсов и обслуживания устройств хранения. ПО ведает физическим расположением данных, их защитой, перемещениями и изменениями. Администратор лишь создает политики в соответствии с решаемыми задачами.
  • Горизонтальная масштабируемость, возможность гибкого наращивания новых пулов хранения и миграции данных «на лету» без потери производительности.
  • Data Path, или виртуализированный поток данных: файловый, блочный или объектный интерфейс, используемый приложением для доступа к данным.

Возможности и разновидности SDS

По сути, программно-определяемые СХД ничем не уступают классическим отраслевым решениям в части функционала. SDS предоставляет все основные функции, ожидаемые от полноценной классической СХД: дедупликацию, репликацию, технологию «тонкого распределения ресурсов» (thin provisioning), снэпшоты, резервное копирование, многоуровневое хранение (tiering) и т. д.

Ключевые отличия SDS — в реализации на практике концепции «СХД как сервис» со всеми вытекающими преимуществами. Главные из них:

  • Гибкость при закупке ресурсов хранения. SDS позволяет предприятиям выбрать практически любую физическую или виртуальную аппаратную платформу.
  • Рентабельная реализация хранения данных за счет стандартизации инфраструктуры и использования стандартных недорогих серверов и отраслевых JBOD-систем.
  • Высокая совместимость. Объединение различных аппаратных платформ и типов нагрузок при разделении циклов обновления ПО и «железа».

Условно SDS-решения можно разделить на несколько направлений.

Storage Hypervisor. Программное обеспечение, которое может запускаться на сервере, на виртуальной машине, внутри гипервизора или в сети хранения данных и принимает на себя все функции СХД. Данное ПО часто объединяется с гипервизорами. По прогнозам IDC (здесь и далее приведены данные из отчета IDC EMEA Big Data Infrastructure Special Report, IDC #EMEA40905616, январь 2016), этот сегмент вырастет до 1,8 млрд. долл. к 2019 г.

Storage Virtual Software. Открытое масштабируемое ПО для управления СХД, которое обеспечивает универсальное управление ресурсами хранения, виртуализирует функции хранения и управляет виртуальными пулами. По оценкам экспертов, этот рынок вырастет до 1,9 млрд. долл. к 2019 г.

Control Planes. ПО, отвечающее за обработку политик хранения и транслирующее эти политики на более низкие уровни ресурсов и сервисов (1,44 млрд. долл. к 2019 г.).

Data Services. ПО, реализующее дополнительные функции в СХД. Прогнозируемый прирост — с 65 млн. до 1 млрд. долл. к 2019г.

Что на чем хранить

При выборе между классической СХД и SDS многое зависит и от типа хранимых данных. Архивы «холодных» данных, к которым редко обращаются, вполне могут храниться на файловых серверах, а если критически важна доступность данных — в двухконтроллерных СХД или на локальных дисках распределенных систем хранения с многократным резервированием.

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

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

Альтернатива аппаратной двухконтроллерной СХД — кластер из двух серверов хранения с разделяемым доступом к единому дисковому пространству. Контейнер с дисками (JBOD) подключается к SAS HBA управляющих серверов по блочному протоколу прямого доступа. ПО серверов берет на себя работу с логическими томами данных, их резервирование и восстановление при отказах и переключение между узлами кластера.

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

Пулы хранения, находящиеся под управлением ПО, могут включать в себя готовые СХД. В рамках таких систем работают физические или виртуальные устройства, используемые другими системами как «сырые» хранилища (которые идентифицируются как непосредственно присоединенные физические устройства). Аппаратные хранилища могут подключаться с помощью любого распространенного интерфейса ввода-вывода как локально (SAS- или SATA-диски, через шину PCI или по USB), так и дистанционно (протоколы Fibre Channel, Infiniband, Ethernet).

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

В заключение

Каждый вендор имеет свое представление о том, что такое программно-определяемое хранение. Нам кажется, что здесь важны не четкие определения, а наметившиеся тренды и их распространение на целевых рынках. Так, технология SDS широко используется в популярных облачных платформах Google Cloud, Amazon Web Services, Microsoft Azure. Если бизнес-модель той или иной компании затрагивает большие объемы данных, SDS становится наиболее логичным выбором.

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

Автор статьи — руководитель группы внедрения и сопровождения компании «Рэйдикс».