Технологии хранения данных VMware vSphere 6. Часть 2.1 – New School: SPBM и VAIO
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 — опциональный компонент стороннего разработчика, может использоваться как сервис для взаимодействия с конкретными фильтрами с возможностью установления сетевого взаимодействия между хостами.
Каждый Virtual Machine Executable (VMX) компонент ВМ содержит Filter Framework, который управляет плагинами I/O Filter, привязанными к виртуальным дискам данной ВМ. Filter Framework вызывает фильтры при появлении запросов ввода-вывода между ВМ и её виртуальными дисками, таким образом, любые дисковые операции ВМ перехватываются фильтрами.
Фильтры исполняются последовательно в определенном порядке, например, сначала фильтры репликации, затем кэширующие фильтры. К одному виртуальному диску может быть привязано несколько фильтров, но только по одному из определенной категории.
После того как запрос ввода-вывода был обработан всеми фильтрами, привязанными к виртуальному диску, этот запрос направляется по месту назначения (к ВМ или её диску).
Ошибки, вызванные работой фильтров, могут отразиться на работе ВМ, к которым они привязаны, но на работу хоста и остальных ВМ они не повлияют.
Локальный флэш-кэш для фильтров ввода-вывода
Для работы кэширующих фильтров ввода-вывода необходимы* локальные флэш-ресурсы, которые формируются путем установки флэш-накопителей (SSD) на хосты ESXi. Установленные флэш-накопители объединяются в общий ресурс в рамках хоста — виртуальный флэш-ресурс (virtual flash resource), форматированный в VFFS. VFFS — это файловая система, оптимизированная для работы с флэш-накопителями, является производной от базовой ФС vSphere — VMFS.
Во время обработки ввода-вывода фильтры формируют кэш для ВМ и размещают его на VFFS-ресурс.
Особенности виртуальных флэш-ресурсов:
• На одном хосте возможно размещение только одного виртуального флэш-ресурса (раздела 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-фильтров может реализовать хранилище кэша ВМ другим, возможно, более эффективным способом.
Спасибо за внимание, продолжение следует.