Коротко о главном: что же такое Software-Defined Storage (SDS)?

Дать точное определение Software-Defined Storage – вопрос непростой в связи с тем, что производители так и не пришли к единому взгляду на функционирование подобных продуктов. Но я попробую собрать всё это в единую картину, чтобы читатель понял с чем конкретно он имеет дело.

Вот характеристики, которые я бы назвал основными у программно-определяемых СХД:

  • SDS являются интеллектуальным компонентом, то есть “мозгами” сети хранения данных, и они отделены от аппаратного обеспечения, которое становится исполнителями;
  • SDS значительно упрощает администрирование сети хранения данных.  Физическое расположение данных, их перемещения со временем, организация их защиты, всё решает программа – “мозг”, а не администратор. Админ создает политики, грубо говоря, указания, на основе которых решения принимаются;
  • SDS по своей природе имеет Scale-Out архитектуру и позволяет масштабировать производительность и объем на лету. При этом, добавление в кластер шестого узла и 2057-го узла не отличается по своей сложности.

Можно разделить решения, называемые SDS, на три основных класса:

  1. Программное обеспечение, отвечающее за создание универсального уровня управления ресурсами хранения. Это программное обеспечение непосредственно не реализует функции хранения, а только виртуализирует имеющиеся и управляет виртуальными пулами на основе заданных политик. Типичным примером ПО подобного класса является EMC ViPR.
  2. Второй класс ПО не только отвечает за функции управления, но и берет на себя все функции СХД, будучи развернутым на стандартном x86 (или ARM64) оборудовании. Чаще всего это ПО объединяется с гипервизорами.
  3. Также мы можем разделить по разным моделям развертывания: решения Software-Defined Storage разворачиваются в виде виртуальных машин или устанавливаются непосредственно “на железо”.

По мнению Storage Network Industry Association (которая как раз создана для того, чтобы определить единый стандарт SDS), программно-определяемая СХД должна обладать:

  • Средствами автоматизации – все операции управления должны быть максимально упрощены и идти от задачи;
  • Стандартным интерфейсом управления – API для управления, выделения ресурсов и обслуживания устройств хранения и их сервисов;
  • Виртуализированным потоком данных (Data Path) – блочный, файловый или объектный интерфейс, который будет использовать приложение для доступа к данным;
  • Средствами масштабирования ресурсов – возможностью наращивать ресурсы без прерывания доступа к данным и потерь производительности

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