Коротко о главном: что же такое Software-Defined Storage (SDS)?
Дать точное определение Software-Defined Storage – вопрос непростой в связи с тем, что производители так и не пришли к единому взгляду на функционирование подобных продуктов. Но я попробую собрать всё это в единую картину, чтобы читатель понял с чем конкретно он имеет дело.
Вот характеристики, которые я бы назвал основными у программно-определяемых СХД:
- SDS являются интеллектуальным компонентом, то есть “мозгами” сети хранения данных, и они отделены от аппаратного обеспечения, которое становится исполнителями;
- SDS значительно упрощает администрирование сети хранения данных. Физическое расположение данных, их перемещения со временем, организация их защиты, всё решает программа – “мозг”, а не администратор. Админ создает политики, грубо говоря, указания, на основе которых решения принимаются;
- SDS по своей природе имеет Scale-Out архитектуру и позволяет масштабировать производительность и объем на лету. При этом, добавление в кластер шестого узла и 2057-го узла не отличается по своей сложности.
Можно разделить решения, называемые SDS, на три основных класса:
- Программное обеспечение, отвечающее за создание универсального уровня управления ресурсами хранения. Это программное обеспечение непосредственно не реализует функции хранения, а только виртуализирует имеющиеся и управляет виртуальными пулами на основе заданных политик. Типичным примером ПО подобного класса является EMC ViPR.
- Второй класс ПО не только отвечает за функции управления, но и берет на себя все функции СХД, будучи развернутым на стандартном x86 (или ARM64) оборудовании. Чаще всего это ПО объединяется с гипервизорами.
- Также мы можем разделить по разным моделям развертывания: решения Software-Defined Storage разворачиваются в виде виртуальных машин или устанавливаются непосредственно “на железо”.
По мнению Storage Network Industry Association (которая как раз создана для того, чтобы определить единый стандарт SDS), программно-определяемая СХД должна обладать:
- Средствами автоматизации – все операции управления должны быть максимально упрощены и идти от задачи;
- Стандартным интерфейсом управления – API для управления, выделения ресурсов и обслуживания устройств хранения и их сервисов;
- Виртуализированным потоком данных (Data Path) – блочный, файловый или объектный интерфейс, который будет использовать приложение для доступа к данным;
- Средствами масштабирования ресурсов – возможностью наращивать ресурсы без прерывания доступа к данным и потерь производительности
Сегодня на рынке SDS не менее двадцати имен, треть из которых – продукты с открытым исходным кодом. На сегодняшний день нельзя сказать, что существует идеальное решение, которое могло бы, с одной стороны, полностью заменить и превзойти функции крупных промышленных СХД, а с другой, обладать всеми возможностями по автоматизации; но разработчики прикладывают все силы, чтобы таковое решение появилось.