Блочное, файловое, объектное — как выбрать модель доступа к данным и автоматизировать подключение СХД в кластере

от автора

Привет, Хабр!

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

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

Типы хранилищ данных

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

Инженерная задача

Тип хранилища

Протокол / модель доступа

Низкоуровневый доступ к данным с минимальной задержкой

Блочное

iSCSI, Fibre Channel, NVMe-oF

Структурированный совместный доступ с семантикой файловой системы

Файловое

NFS, SMB/CIFS

Надежное хранение огромных объемов неструктурированных данных с горизонтальным масштабированием

Объектное

HTTP/S3 API

Разберем каждый тип подробнее.

Чтобы не запутаться, давайте дадим простым языком определения трем основным типам хранения и подкрепим их понятными аналогиями.

Блочное хранилище

Какую инженерную задачу решает: прямой низкоуровневый доступ к данным с минимальными задержками — точно так, как если бы данные лежали на локальном диске — для ОС, СУБД или гипервизора. Протокол доступа (iSCSI, Fibre Channel) абстрагирует физическое расположение, но для клиента это выглядит как «сырой» диск.

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

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

Крайний случай блочного доступа — локальные NVMe-диски, установленные прямо в сервер. Они дают минимально возможную задержку, но ценой гибкости. В частности, в ключе живой миграции — перенос ВМ между узлами по команде администратора остается доступен, однако локальное хранилище привязывает вас к конкретному серверу и конкретному оборудованию. Если оборудование выйдет из строя, что-то мигрировать будет уже поздно. Поэтому реализовать такие важные технологии как высокая доступность точно не получится — HA требует общедоступного хранилища на каждом узле.

В сетевом варианте блочное хранилище подключается по протоколам iSCSI (через обычную Ethernet-сеть) или Fibre Channel (через выделенную SAN-сеть). iSCSI дешевле и проще в настройке, FC — дороже, но дает стабильно низкие задержки и физически изолированную сеть хранения.

Файловое хранилище

Какую инженерную задачу решает: одновременный, структурированный доступ к общим данным с привычной семантикой — папки, права доступа, иерархия — для нескольких клиентов или приложений. Протокол (NFS, SMB/CIFS) берет на себя блокировки, кэширование и согласование метаданных, чтобы разные клиенты видели консистентную картину.

Здесь данные организуются в привычную иерархическую структуру — файлы и папки, где каждый файл сопровождается метаданными (именем, типом, правами доступа, датой создания).

Это общий офисный шкаф с подписанными папками. Данные уже упорядочены, а доступ к ним осуществляется по сети. Подключается файловое хранилище по протоколам NFS (стандарт для Linux/Unix-сред) или SMB/CIFS (для Windows-сред). Многие среды виртуализации вполне успешно используют NFS для хранения дисков ВМ — однако при экстремальных IOPS-нагрузках файловый протокол уступает блочному из-за накладных расходов на обработку файловых операций.

Объектное хранилище

Какую инженерную задачу решает: хранение петабайтов неструктурированных данных (бэкапы, медиафайлы, логи) с гарантией долговечности и возможностью горизонтального масштабирования без перестройки архитектуры. Протокол доступа — обычный HTTP/S3 API: клиент кладет объект, получает уникальный ID и забирает по запросу. Никаких блоков, никаких файловых систем.

В этом подходе данные представлены как единые объекты. Каждый объект включает в себя сами данные, расширенные метаданные и уникальный глобальный идентификатор (ID). Внутри системы объекты могут физически размещаться с избыточностью через erasure coding, но пользователь всегда работает с ними как с единым целым.

Это как огромный автоматизированный склад на другом конце города. Вы сдаете данные (объект), получаете уникальный штрих-код (ID) и забираете их по запросу. Доступ осуществляется через HTTP/S3 API — никакого специального сетевого протокола не нужно, достаточно обычной IP-сети. Именно поэтому объектное хранилище так легко масштабируется — добавить емкость можно без остановки системы и без изменения конфигурации клиентов.

Запустить виртуальную машину напрямую на классическом объектном хранилище нецелесообразно: преобразование блочных запросов операционной системы в HTTP-запросы создает колоссальные задержки. Зато для резервных копий это идеальный вариант — современные системы резервного копирования умеют писать напрямую в S3-совместимые хранилища, объединяя скорость локальных дисков для работы ВМ и экономичность объектного хранилища для архивов.

Оговоримся, что Ceph — это не «объектное хранилище», а программно-определяемая система хранения (SDS) с единым бэкендом RADOS, поверх которого реализованы сразу несколько интерфейсов — блочный (RBD), файловый (CephFS) и объектный (RGW/S3). Именно поэтому ВМ на Ceph прекрасно работают через RBD — они используют блочный интерфейс, а не объектный.

Как VMmanager автоматизирует подключение хранилищ

Предположим, вам необходимо подключить внешнее блочное устройство. Раньше администратору приходилось вручную настраивать LVM‑тома на каждом узле кластера, подключать внешнее хранилище и активировать его на каждом сервере. После этого через интерфейс VMmanager добавлялось уже «готовое» устройство в качестве хранилища.

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

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

Как это работает теперь? В интерфейсе VMmanager администратор просто указывает адрес внешней СХД. Платформа автоматически обнаруживает доступные LUN-устройства и предлагает выбрать нужные. После выбора система сама конфигурирует это хранилище на всех выбранных узлах кластера.

Какие преимущества получает бизнес и ИТ-отдел:

  • Скорость и простота

Весь процесс подключения занимает минуты: теперь нет необходимости настраивать каждый хост отдельно. Достаточно настроить конфигурацию подключения на одном хосте и применить заданные параметры на весь кластер или для выбранных узлов.

  • Снижение риска ошибок

Ручная настройка — это всегда риск наличия ошибок из-за человеческого фактора, и автоматизация его исключает.

  • Централизованный мониторинг

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

Одни из важных последних обновлений VMmanager — реализация управления подключениями по протоколу Fibre Channel и внедрение функции прямого подключения дисков (Direct LUN/Shared LUN), что еще больше расширяет возможности для построения гибкой инфраструктуры.

Чек-лист для принятия решений

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

Нужна максимальная производительность для баз данных? Выбирайте локальные NVMe/SSD или выделенный SAN с подключением по iSCSI или Fibre Channel. Обязательно настройте multipath — без него отказ единственного пути приведет к потере доступа к хранилищу на конкретном хосте и падению ВМ. Под диски ВМ в таких сценариях лучше резервировать место заранее, чтобы исключить конкуренцию за ресурсы СХД в пиковые моменты.

Нужна гибкость и экономия для облака или хостинга? Смотрите в сторону SDS (например, Ceph — он поддерживает блочный, файловый и объектный доступ одновременно) или NFS-хранилищ. Учтите, что Ceph в продакшне требует минимум трех нод.

Нужно хранить бэкапы дешево и много? Подключайте S3-совместимое объектное хранилище — доступ через обычный HTTP/S3 API, быстрое масштабирование в наличии.

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

ссылка на оригинал статьи https://habr.com/ru/articles/1051906/