Итак, вы столкнулись с проблемой расширения традиционных систем хранения данных. С одной стороны, не хочется терять уже функционирующие внешние хранилища, с другой — модернизация требует значительных инвестиций и зачастую привязана к поддержке вендоров, которые больше не присутствуют на рынке. Функциональность, получившая название Unified Storage, решает эти проблемы.
Как можно догадаться из названия, речь идет о доступе к слою хранения, который уже существует внутри виртуальной инфраструктуры, но теперь его можно предоставлять внешним потребителям. Проще говоря, теперь мы можем «одолжить» место из существующих пулов и отдать его физическим хостам или другим виртуальным машинам.
Давайте подробнее рассмотрим, как работает эта технология.
Общая архитектура и основные компоненты/Концепция Unified Storage в vStack
С архитектурной точки зрения, функциональность Unified Storage строится на основе программно-определяемого слоя хранения (SDS) платформы vStack. Этот слой изначально создавался для хранения данных виртуальных машин, но благодаря технологии Unified Storage ресурсы могут быть предоставлены внешним потребителям через стандартизированные протоколы.
Для сравнения, в том же VMware, чтобы получить аналогичную функциональность, необходимо использовать дополнительные решения. В vStack это уже есть, и прямо «из коробки». И самое главное, технология Unified Storage доступна без необходимости дополнительного лицензирования.
Технология Unified Storage в vStack HCP поддерживает протоколы NVMe-oF и iSCSI для доступа к хранилищу.
Следует отметить, что в vStack управление всеми ресурсами Unified Storage осуществляется через единый web-интерфейс платформы, а также доступно через API. Это дает возможность автоматизировать процессы и интегрировать хранилище с другими системами и инструментами для оркестрации.
Компоненты Unified Storage
Виртуальный дата-центр (VDC)
В vStack виртуальный дата-центр (VDC) выступает в роли логического контейнера, который инкапсулирует ресурсы различных типов — вычислительные, сетевые и хранения данных.
Он обеспечивает изоляцию ресурсов между различными потребителями, позволяя каждому работать с необходимыми данными без лишних пересечений.
Кроме того, VDC предоставляет единый контекст для управления квотами и политиками. Это упрощает процесс контроля и снижает вероятность ошибок. VDC функционирует как контейнер для компонентов Unified Storage, помогая эффективно организовать хранение данных и обеспечивая их оптимальное использование.
В контексте Unified Storage VDC выполняет роль, схожую с Storage Virtual Machine (SVM) в традиционных системах хранения данных. Это дает возможность строить многотенантные модели, где разные группы пользователей или приложений могут работать с изолированными ресурсами хранения, но при этом все это управляется через один интерфейс.
Таргеты (Targets)
Основным структурным элементом в архитектуре Unified Storage является таргет — логический объект, представляющий точку подключения для внешних систем. Это компонент, который обеспечивает протокольное взаимодействие между физическими ресурсами хранения и потребителями данных.
Порталы (Portals)
Каждый таргет может содержать несколько порталов, выступающих в качестве входных точек для подключения к системе хранения. Каждый портал определяется комбинацией IP-адреса и порта, которые привязаны к конкретному сетевому интерфейсу узла в кластере.
Датасеты (Datasets) и блочные устройства
Таргеты осуществляют управление доступом к томам — блочным устройствам, сформированным на основе датасетов (логических контейнеров для данных в слое SDS). Концепция датасетов строит иерархическую структуру блочных устройств, обеспечивая логичную организацию пространства хранения. Она также позволяет свойствам родительских объектов передаваться дочерним, упрощая управление и настройку.
Группы инициаторов (Initiator Groups) и инициаторы (Initiators)
Инициаторы — это абстракция для клиентских систем, которые получают доступ к блочным устройствам. Каждый инициатор имеет уникальный идентификатор (IQN/NQN) и, при необходимости, IP-адрес клиентской системы. Все это вместе образует двухуровневую модель авторизации.
Концепция групп инициаторов (Initiator Groups) позволяет объединить несколько инициаторов в одну логическую группу с общими правилами доступа. Это решение значительно упрощает управление доступом, особенно в крупных инфраструктурах и при наличии кластерных систем, где несколько инициаторов должны иметь одинаковый доступ к одному и тому же блочному устройству.

Способы организации хранения данных
В Unified Storage платформы vStack реализована гибкая система организации данных, которая помогает эффективно управлять хранилищем на всех уровнях. В основе этой системы — иерархическая структура датасетов и томов.
Каждому виртуальному дата-центру (vDC) можно назначить один или несколько корневых каталогов. Администратор vDC получает полную свободу для создания вложенных датасетов и блочных устройств (томов) внутри этих корневых каталогов, а затем назначает их нужным таргетам.
Этот подход делает управление слоем хранения максимально виртуализированным. Администраторы каждого vDC получают отдельное изолированное пространство, где могут самостоятельно настраивать и формировать ресурсы, не отвлекаясь на платформу в целом.
Как это работает:
Глобальный администратор создает корневые каталоги и распределяет их по vDC.
Администратор vDC в свою очередь формирует внутри корневого каталога нужные подчиненные датасеты и тома.
Для доступа к этим томам администратор vDC создает таргеты с нужными порталами и назначает им соответствующие тома.
Внешние системы подключаются к этим таргетам через стандартные протоколы и получают доступ к томам.
От теории к практике
Управление функцией происходит в ветке дерева SDS, которую находится в левой части экрана.
ЧАСТЬ 1. vDC
Ветка в дереве Virtual Data Centers
1.1 Переходим в раздел VDC.
1.2 Нажимаем Create VDC и даем название (например, vdc-01).
1.3 Сохраняем VDC.
Теперь мы можем добавить в этот VDC таргет и другие компоненты.

ЧАСТЬ 2. Target Portal
Портал — это точка входа в таргет, через которую будет подключаться потребитель. Он может поддерживать различные протоколы, такие как iSCSI и NVMe.
Путь до настройки: SDS/Datasets/Portals & Portal groups.
2.1 В интерфейсе платформы переходим в раздел Portals.
2.2 Выбираем Actions-Create portal. Нажимаем Create Portal.
2.3 Создаем портал Portal 003 — заполняем IP, Port. Указываем уникальный порт для подключения (например, 192.168.0.1:3260). Добавляем описание портала для удобства поиска.
2.4 Сохраняем портал.

Всплывающее уведомление подтверждает создание портала

Для iSCSI порталов также потребуется создать группу порталов, но для NVMe можно ограничиться одним порталом.
ЧАСТЬ 3. Target
Путь до настройки: SDS/Datasets/Targets.
3.1 Переходим в раздел Targets.
3.2 Выбираем Actions-Create target. Создаем таргет, который будет использовать Portal 003.
3.3 Указываем протокол (например, NVMe или iSCSI).
3.4 Выбираем пул (pool), который будет использоваться для таргета.
3.5 Присваиваем уникальный идентификатор таргета (IQN/NQN) для его идентификации
3.6 Привязываем таргет к созданному порталу и включаем Asymmetric Namespace Access (ANA) для дальнейшего использования асимметричного доступа.
3.7 Сохраняем таргет.

3.8 Назначаем таргет к VDC.


ЧАСТЬ 4. Root DS
Создадим корневой каталог Root_DS_03.
Путь до настройки: SDS/Datasets
4.1 Переходим в раздел Datasets.
4.2 Нажимаем Create Dataset. Заполняем name, size, block size.
4.3 Выбираем пул, с которого будет использоваться каталог.
4.4 Сохраняем датасет.


4.5 Подключаем корневой каталог к VDC. Actions-Assign to VDC.

В дереве можно найти созданный VDC

4.5 Добавим блочное устройство. Add child-Create volume. Указываем имя для LUN (например, lun_01) и размер.


4.6 Привязываем LUN к таргету для его дальнейшего использования.
ПКМ-Assign LUN to a target

Теперь на вкладке нашего VDC мы можем увидеть наш таргет.
ЧАСТЬ 5. Сращение, назначение и отправка
Шаг 6: Создание Initiator (Инициатора)
Инициатор — это устройство, которое будет подключаться к таргету. В нашем случае это виртуальная машина, которая будет использовать протокол NVMe.
Переходим в раздел SDS/Consumers/Initiator groups.
Нажимаем Create Initiator.
Указываем уникальный идентификатор и адрес инициатора (например, NQN хоста для NVMe).
Привязываем инициатор к таргету.
Сохраняем инициатор.


При этом при привязке к таргету поиск осуществляется по NQN.

ЧАСТЬ 6. Подключение со стороны потребителя
После того как все компоненты созданы, можно проверить подключение.
Переходим в раздел Targets и проверяем, что таргет активен.
Проверяем подключение LUN к таргету и его доступность для инициатора.
Проверяем виртуальную машину (инициатор), которая должна видеть подключенные LUN в своей системе.
nvme connect -n nqn.1985-01.com.vstack:nvme:Target003 -t tcp -a 10.78.141.203 -s 30003
Подключились к системе VSTACK версии 229000215 с двумя блочными устройствами.

Заключение
Технология Unified Storage в vStack HCP представляет собой эффективное и гибкое решение для организации единого слоя хранения данных. Благодаря глубокой интеграции с основной платформой, она предоставляет администраторам удобные инструменты для управления ресурсами хранения, а пользователям — надежный и высокопроизводительный доступ к данным.
В отличие от многих аналогичных решений, где подобная функциональность реализуется через дополнительные продукты с отдельным лицензированием, в vStack HCP технология Unified Storage является неотъемлемой частью платформы. Это не только упрощает администрирование, но и снижает совокупную стоимость владения инфраструктурой.
С технической перспективы, реализация Unified Storage в vStack демонстрирует, как программно-определяемый подход позволяет эффективно использовать одни и те же физические ресурсы для различных целей, обеспечивая при этом высокий уровень изоляции и безопасности данных.
Эта статья поддерживается командой vStack
vStack — гиперконвергентная платформа для построения виртуальной инфраструктуры корпоративного уровня.
• Наш сайт