Технологии хранения данных VMware vSphere 6. Часть 2.1 – New School: SPBM и VAIO

в 13:54, , рубрики: VAIO SPBM vmware vsphere СХД, виртуализация, ит-инфраструктура, хранение данных, метки:

Представляю вашему вниманию вторую часть серии публикаций о технологиях хранения VMware vSphere. В ней будут рассмотрены новые возможности, которые стали доступны в 6 версии продукта. Из-за большого объема 2я часть будет разбита на 2 статьи: часть 2.1 с описанием технологий SPBM и VAIO (данная статья), часть 2.2 с описанием VVOL (следующая статья).

Storage Policy-Based Management (SPBM). Управление хранилищем на основе политик

Технология управление хранилищем на основе политик позволяет установить требования к хранилищам на которых будут размещаться ВМ (виртуальные машины) и гарантировать выполнение ряда сервисов для этих ВМ. В условиях больших инфраструктур при таком подходе процесс предоставления хранилищ для ВМ становится более эффективным и удобным.

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

Категории правил, используемых в политиках

Правила, на основе которых формируются политики SPBM, делятся на 3 категории.

Общие правила (Common rules) – базируются на сервисах данных и не зависят от типа хранилища, являются общими для любого типа хранилищ. Под сервисами в данном случае понимаются манипуляции с потоком данных, осуществляемые посредством фильтров ввода-вывода разработанных на базе VAIO, а именно кэширование и репликация данных на уровне отдельных ВМ.

Общие правила не устанавливают требования к выбору хранилища и его характеристикам, они гарантируют и обеспечивают применение к ВМ определенных сервисов (фильтров ввода-вывода). Применение общих правил становится доступным только при наличии соответсвующих фильтров ввода-вывода, которые должны быть установлены на vCenter и хосты/кластеры ESXi.

Правила на основе сервисов хранилища (Rules Based on Storage-Specific Data Services) – определяются сервисами данных, которые предоставляют определенные типы хранилищ, такие как Virtual SAN и VVol. Ключевой момент – сервисы специфичные для данного конкретного хранилища.

Провайдеры хранилищ (storage provider-ы, они же VASA provider-ы) собирают информацию о характеристиках и возможностях (сервисах) хранилища и предоставляют её vCenter. Таким образом, формируется некий профиль хранилища, содержащий информацию обо всех его сервисах и соответственно о качестве обслуживания, которое оно может предоставить.

Политика формируется на основе правил, гарантирующих определенный уровень обслуживания и применения сервисов данных. Будучи привязанной к определенной ВМ, такая политика будет гарантировать её размещения на хранилище с заданным уровнем сервиса и характеристиками: ёмкость, производительность, доступность, отказоустойчивость и т.д.

Правила на основе ярлыков (Rules Based on Tags)– создаются на основе ярлыков, которыми вручную можно пометить различные хранилища.

Ярлыки или тэги в основном используются в 2х случаях:

• Если необходимо пометить хранилища не представленные провайдерами (VASA), такие как VMFS или NFS.
• Для обозначения характеристик не предусмотренных в VASA, таких как географическое размещение хранилищ или административная принадлежность.

В последствие тэги, присвоенные хранилищам, могут быть использованы при формировании правил в политиках.

Формирование и применение политик

Политики могут содержать общие правила и несколько наборов правил, содержащих правила на основе сервисов хранилища и на основе ярлыков. Взаимосвязь между наборами правил в политике – логическое «ИЛИ», взаимосвязь между правилами в наборе — логическое «И». Следовательно, для размещения ВМ можно выбрать одно из хранилищ, которые будут полностью соответствовать правилам одного из наборов привязанной к данной ВМ политики. Также, к данной ВМ должны будут применяться общие правила указанные в этой политике.

VAIO — vSphere APIs for IO Filtering. Набор API для фильтрации ввода-вывода

vSphere APIs for IO Filtering (VAIO) предназначены для создания сторонними разработчиками программных компонентов называемых фильтрами ввода-вывода (I/O filters). Эти фильтры могут быть установлены на хосты ESXi и выполнять дополнительные манипуляции с данными ВМ путем обработки запросов ввода-вывода между ВМ и их виртуальными дисками.

Фильтры ввода-вывода получают прямой доступ к I/O (data) path между ВМ и её виртуальным диском вне зависимости от используемой инфраструктуры хранения.

Фильтры ввода-вывода должны создаваться сторонними разработчиками и распространяться в виде пакетов, компоненты которых устанавливаются на сервер vCenter и хосты ESXi. После установки фильтров на хосты ESXi сервер vCenter автоматически настраивает и регистрирует I/O filter storage provider (VASA-провайдер для фильтров ввода-вывода) для этих хостов. Данные VASA-провайдеры позволяют интегрировать механизм фильтров ввода-вывода с SPBM, в результате чего настройки дата-сервисов, предоставляемых фильтрами, становятся доступны для управления через политики – «общие» правила в интерфейсе VM Storage Policies. Соответственно, после привязки нужной политики к дискам ВМ, они будут подвергаться указанным в политике действиям фильтров ввода-вывода.

Теоретически сторонние разработчики могут создавать любые фильтры ввода-вывода. Однако текущий релиз vSphere 6.2 поддерживает только 2 категории фильтров:

• Кэширующие фильтры – могут использовать локальные флэш-накопители для кэширования данных ВМ на виртуальных дисках.
• Фильтры репликации – реплицируют все операции записи для конкретной ВМ на внешнее хранилище (хост или кластер).
Допустима установка множества фильтров, даже одной категории (например, кэширующих), на один хост ESXi.

Компоненты фильтров ввода-вывода:

• VAIO Filter Framework – каркас VMware для работы фильтров ввода-вывода.
• I/O Filter Plug-In – программный компонент стороннего разработчика, осуществляющий перехват и фильтрацию данных между гостевой ОС и виртуальным диском ВМ.
• CIM Provider – опциональный компонент стороннего разработчика для конфигурирования и управления плагинами I/O Filter.
• vSphere Web Client Plug-In – опциональный компонент стороннего разработчика для управления CIM провайдером из vSphere Web Client.
• I/O Filter Daemon – опциональный компонент стороннего разработчика, может использоваться как сервис для взаимодействия с конкретными фильтрами с возможностью установления сетевого взаимодействия между хостами.

image

Каждый Virtual Machine Executable (VMX) компонент ВМ содержит Filter Framework, который управляет плагинами I/O Filter, привязанными к виртуальным дискам данной ВМ. Filter Framework вызывает фильтры при появлении запросов ввода-вывода между ВМ и её виртуальными дисками, таким образом, любые дисковые операции ВМ перехватываются фильтрами.

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

После того как запрос ввода-вывода был обработан всеми фильтрами, привязанными к виртуальному диску, этот запрос направляется по месту назначения (к ВМ или её диску).

Ошибки, вызванные работой фильтров, могут отразиться на работе ВМ, к которым они привязаны, но на работу хоста и остальных ВМ они не повлияют.

Локальный флэш-кэш для фильтров ввода-вывода

Для работы кэширующих фильтров ввода-вывода необходимы* локальные флэш-ресурсы, которые формируются путем установки флэш-накопителей (SSD) на хосты ESXi. Установленные флэш-накопители объединяются в общий ресурс в рамках хоста – виртуальный флэш-ресурс (virtual flash resource), форматированный в VFFS. VFFS – это файловая система, оптимизированная для работы с флэш-накопителями, является производной от базовой ФС vSphere – VMFS.

Во время обработки ввода-вывода фильтры формируют кэш для ВМ и размещают его на VFFS-ресурс.

image

Особенности виртуальных флэш-ресурсов:

• На одном хосте возможно размещение только одного виртуального флэш-ресурса (раздела VFFS).
• Виртуальные флэш-ресурсы предназначены только для целей кэширования и не могут использоваться для размещения ВМ или других задач.
• Виртуальные флэш-ресурсы могут использовать только локальные флэш-накопители.
• Виртуальные флэш-ресурсы могут быть сформированы из различных устройств, в т.ч. с различными интерфейсами (SATA, SAS, PCIe, NVMe).
• Флэш-накопители целиком отдаются в распоряжение виртуального флэш-ресурса, их нельзя использовать в других целях, например, для Virtual SAN или VMFS.

Примечание:

Виртуальные флэш-ресурсы также могут использоваться механизмами Host swap cache и Flash Read Cache, причем один VFFS-ресурс может совместно использоваться обоими механизмами.

Host swap cache – предназначен для размещения swap-файлов ВМ. Если на хосте ESXi не хватает физической памяти (ОЗУ) для ВМ, то недостающие объемы ОЗУ, требуемые ВМ, выносятся на массив в виде swap-файлов. Host swap cache позволяет переместить эти файлы на ресурсы более быстрые, чем основное хранилище дисков ВМ.

Flash Read Cache – более ранняя, чем кэширующие VAIO-фильтры, технология кэширования данных для ВМ, поддерживает только кэш на чтение. Технология появилась в версии vSphere 5.5 и является встроенным инструментом VMware. Для её работы необходимо указывать размер резервируемого кэша для каждой ВМ. Эффективность работы технологии зависит от типа нагрузки, ощутимый прирост производительности можно ожидать в случае большого потока операций чтения.

* Есть предположение, что для работы кеширующих фильтров ввода-вывода не обязательно использовать VFFS-раздел, разработчик VAIO-фильтров может реализовать хранилище кэша ВМ другим, возможно, более эффективным способом.

Спасибо за внимание, продолжение следует.

Автор: yahonts

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js