Vmware vaai что это
VMware vSphere VAAI — кто он?
VMware vSphere VAAI — кто он такой?
Немного теории про VAAI:
Практика
Недавно в моем парке появился новый дисковый зверек HP P2000 G3 MSA DC.
Система виртуализации построена на решении от VMware. А как многим известно, а начиная с версии 4.1 платформа виртуализации стала поддерживать технологию VMware vSphere VAAI, или другими словами vStorage API for Array Integration.
Хочу на простом примере показать, как активировать эту важную для повышения производительности функцию. И какой прирост даст это увеличение.
Итак, имеем новенький массив HP P2000 G3 MSA DC на 74 SAS диска по 15 k оборотов. (согласно спецификации он поддерживает VAAI)
Процесс настройки массива, его разбиения и подключения рассматривать не будем.
Имеем смонтированные диски к ESX хосту. В свойствах дисковой системы видим, что hardware acceleration имеет статус Unknown. Статус Unknown означает, что хост еще не обращался к операциям, которые поддерживаются VAAI (то есть, это дефолтный статус). Если вы сделаете какую-нибудь операцию с VAAI (например, Copy/Paste виртуального диска больше 4 МБ), то VAAI попробует отработать. Если он отработает успешно — выставится статус Supported, ну а если нет — то Not Supported.
Для активации VAAI c сайта производителя скачиваем необходимый plag-in. (в моем случае HP P2000 Software Plug-in for VMware VAAI vSphere). Я скачал его с сайта HP, выложил на прикрепленный volume.
Установка очень простая
Проведем несколько тестов:
Миграция ВМ без VAAI:
32.20-29.53 = 127 сек
VAAI включен:
11:15-10:21 = 66 сек.
66 против 127 сек. это одна команда, а разница впечатляющая
VMware vSphere VAAI реализует:
Full Copy / Clone Blocks / XCOPY – функция, позволяющая передать на сторону массива возможности копирования объектов виртуальной инфраструктуры без задействования операций четния-записи со стороны сервера VMware ESX 4.1. Эту функцию также называют Hardware Offloaded Copy и SAN Data Copy Offloading.
Write Same / Zero Blocks – возможность обнуления больших массивов блоков на дисковых устройствах для быстрого создания дисков vmdk типа eager zero thick.
Atomic Test and Set (ATS) –возможность защиты метаданных тома VMFS как кластерной файловой системы в ситуациях, когда большое количество хостов ESX имеют разделяемый доступ к одному хранилищу. Также эта функция называется Hardware Assisted Locking.
Виртуализация vSphere, Hyper-V, Xen и Red Hat
Более 5550 заметок о виртуализации, виртуальных машинах VMware, Microsoft и Xen, а также Kubernetes
Как вы знаете в последнем релизе платформы виртуализации VMware vSphere 4.1 было заявлено множество новых возможностей. Одна из них весьма важна с точки зрения производительности в части работы виртуальных машин с системой хранения. Эта технология называется VMware vSphere VAAI, то есть vStorage API for Array Integration.
VAAI primitives «Full Copy», «Block Zeroing» and «Hardware Assisted Locking» are supported with vmw_vaaip_xxx plug-in
Ну и, конечно, ваш хост VMware ESX / ESXi должен быть версии 4.1 или выше. И помните, что на некоторых массивах VAAI по умолчанию выключена, поэтому вам нужно почитать документацию о том, как ее включить. Кроме того, функциональность VMware vSphere VAAI есть только в изданиях VMware vSphere Enterprise и Enterprise Plus (см. сравнение изданий).
Теперь, какие примитивы (то есть типовые операции с СХД) реализует VMware vSphere VAAI:
Давайте рассмотрим как эти компоненты VAAI работают и для чего они нужны.
Full Copy
Используя этот примитив, дисковый массив по команде VMware vSphere осуществляет копирование виртуальной машины (а самое главное для нас копирование диска VMDK) без участия сервера ESX / ESXi и его стека работы с подсистемой хранения (соответственно, не гоняется трафик и не дается нагрузка на CPU). В этом случае гипервизор рассказывает хранилищу, какие блоки занимает виртуальная машина, а оно уже делает все остальное по копированию блоков.
С vSphere VAAI операции по копированию блоков данных хранилищ виртуальных машин занимают меньше времени (в некоторых случаях оно сокращается на 95%):
Ну а вот такие результаты нам выдает Storage vMotion:
Кроме того, данная технология интегрирована и с функциональностью «тонких» (thin) дисков как самой VMware, так и механизмом Thin Provisioning сторонних вендоров.
Write Same / Zero Blocks
За счет этой технологии сервер VMware ESX / ESXi может дать команду хранилищу обнулить блоки виртуальных дисков типа Eager zeroed thick (см. типы дисков). Эти диски являются самыми безопасными (блоки чистятся при создании) и самыми производительными (при обращении к блоку его не надо обнулять и тратить ресурсы), но занимали очень много времени на их создание. Теперь с техникой VAAI этот процесс сильно ускоряется, что позволяет использовать диски eagerzeroedthick чаще (например, для машин с включенной Fault Tolerance). Напомню, что сейчас по умолчанию в VMware vSphere создаются диски типа Zeroed thick disks.
Теперь одинаковые команды ввода-вывода на сторадж от сервера ESX / ESXi дедуплицируются, а массиву дается команда на повторение одинаковых команд для разных блоков. На эту тему есть отдельное видео:
Atomic Test and Set (ATS) или Hardware Assisted Locking
За счет этой техники vSphere VAAI существенно уменьшается число операций с хранилищем, связанных с блокировкой LUN на системе хранения. Как вы знаете, при работае виртуальных машин возникают конфликты SCSI Reservations, связанные с тем, что некоторые операции вызывают блокировку всего LUN для обновления метаданных тома VMFS. Операций этих много: запуск виртуальной машины (обновляется lock и создаются файлы), развертывание новой ВМ, создание снапшота, миграция vMotion и т.п.
Ограничения VMware vSphere VAAI
Как включить VMware vSphere VAAI
Как уже было сказано выше, со стороны хранилищ VAAI может быть выключена и нужно почитать документацию на СХД. На хостах ESX / ESXi по умолчанию VAAI включена. Проверить это можно, перейдя в Configuration > Advanced Settings и увидев следующие параметры, напротив которых стоят единицы:
Или можно проверить из командной строки:
Как проверить, работает ли vSphere VAAI?
Очень просто, откройте категорию Storage на вкладке Configuration в vSphere Client и посмотрите в последний столбик.
Опросить стораджи можно также из командной строки:
Вывод будет похожим на это:
Display Name: Local VMware Disk (mpx.vmhba2:C0:T0:L0)
VAAI Status: unsupported
Display Name: Local USB CD-ROM (mpx.vmhba32:C0:T0:L0)
VAAI Status: unknown
Display Name: Local TEAC CD-ROM (mpx.vmhba3:C0:T0:L0)
VAAI Status: unknown
Display Name: DGC Fibre Channel Disk (naa.6006016030801c00f8506073d0d7de11)
VAAI Status: unknown
Display Name: DGC Fibre Channel Disk (naa.6006016030801c00f9506073d0d7de11)
VAAI Status: unknown
Дополнительная информация о vSphere VAAI
Вебинары VMC о виртуализации:
Постер VMware vSphere PowerCLI 6.3:
Постер VMware ESXi 5.1:
Постер VMware Hands-on Labs 2015:
Постер VMware Platform Services Controller 6.0:
Постер VMware vCloud Networking:
Постер VMware NSX (референсный):
Постер VMware vCloud SDK:
Постер VMware vCloud Suite:
Постер VMware vCenter Server Appliance:
Порты и соединения VMware vSphere 6:
Порты и соединения VMware Horizon 7:
Порты и соединения VMware NSX:
Управление памятью в VMware vSphere 5:
Как работает кластер VMware High Availability:
Постер VMware vSphere 5.5 ESXTOP (обзорный):
Постер Veeam Backup & Replication v8 for VMware:
Постер Microsoft Windows Server 2012 Hyper-V R2:
Функции
Cертификат VMware VAAI и плагин к vSphere Сlient
Сетевые накопители QNAP сертифицированы с VMware vSphere версии 5, что позволяет расширить возможности при создании и масштабировании облачных сред. Поддержка технологии VAAI и плагина для vSphere Сlient улучшает взаимодействие сетевого накопителя QNAP и серверов виртуализации, что в свою очередь повышает производительность и эффективность работы.
VAAI (vStorage APIs for Array Integration)
Сетевые накопители QNAP поддерживают технологию VAAI, расширяющую степень их применения в средах виртуализации. Комплекс таких функций VMware, как Full Copy, Block Zeroing и Hardware-assisted Locking позволяет возложить некоторые операции с дисками на сетевой накопитель QNAP, что существенно увеличивает производительность и эффективность виртуальной инфраструктуры.
С использованием VAAI обработка данных возлагается на сетевой накопитель QNAP, благодаря чему стандартные операции управления и развертывания виртуальной машины могут быть выполнены быстрее, задействовав при этом меньше ресурсов процессора, памяти и пропускной способности ESXi-сервера.
Плагин к vSphere Client
Благодаря поддержке плагина для vSphere Client можно управлять хранилищами данных VMware на сетевом накопителе QNAP прямо из консоли клиента vSphere. В распределенных системах виртуализации администраторы могут легко контролировать состояние сетевого накопителя и хранилищ данных VMware, ИА также создавать дополнительные дисковые хранилища для нескольких ESXi-хостов всего в несколько щелчков мыши.
Функции
VMware VAAI и подключаемый модуль vSphere Client
Система Turbo NAS имеет сертификат о поддержке VMware vSphere 5, что позволяет повысить качество услуг в области оптимизации и развертывания сред виртуализации. Поддержка VAAI и подключаемого модуля vSphere Client обеспечивает возможность взаимодействия между системой Turbo NAS и виртуальными серверами, что способствует повышению эффективности бизнеса.
VAAI (vStorage APIs for Array Integration, интерфейсы прикладного программирования vStorage для интеграции массивов)
Система Turbo NAS поддерживает интерфейсы VAAI, которые позволяют вывести на новый уровень операции, выполняемые в средах виртуализации. Благодаря поддержке полного копирования, обнуления блоков и блокировки на аппаратном уровне VAAI переносит нагрузку по выполнению определенных операций, связанных с управлением хранилищем, в систему Turbo NAS, обеспечивая высочайшую производительность и эффективность. Поддержка VAAI обеспечивает гибкость при работе как с тонко сконфигурированными, так и с полностью выделенными LUN.
Благодаря VAAI обработка данных осуществляется на уровне Turbo NAS, что позволяет ускорить стандартные операции по управлению виртуальными машинами и процесс их развертывания, задействуя при этом меньше ресурсов процессора, памяти и пропускной способности ESXi.
Подключаемый модуль vSphere Client
Система Turbo NAS поддерживает подключаемый модуль vSphere Client, который позволяет управлять хранилищами данных VMware в Turbo NAS непосредственно из консоли клиента vSphere. В крупных инфраструктурах с большим количеством виртуальных серверов это позволяет централизовать и упростить управление. Администраторы могут с легкостью контролировать статус Turbo NAS и хранилищ данных, а также создавать дополнительные хранилища данных для различных хостов ESXi всего лишь за несколько нажатий.
VAAI & VVOL — кто теперь отвечает за работу с хранилищами
Если вы уже познакомились с возможностями шестой версии vSphere, то наверняка тоже заинтересовались новой логикой работы с хранилищами — VVOLs. Продолжая изучение идеи «VMDK как основной строительный элемент хранилища», я предлагаю перевод статьи коллег из punchingclouds.com с детальным изучением того, как происходило и происходит делегирование разных задач ESXi-хранилищу.
В статье много терминов и аббревиатур — если какие-то из них вы подзабыли, то в конце материала я подготовил небольшой глоссарий.
В 2011 году VMware представила публике vSphere 4.1 с поддержкой VAAI, нового API для блочных устройств. Такой интерфейс помог улучшить производительность VMFS благодаря делегированию некоторых операций дисковому массиву. В последующих релизах появилась поддержка NAS-устройств, технологии Thin Provision и набора команд T10 для блочных хранилищ.
С выпуском VVOL (виртуальные тома) компания предложила новый подход к взаимодействию с виртуальными машинами, при котором их диски становятся основным элементом управления для систем хранения данных. Новая идея допускает выполнение операций уровня массива (например, снэпшоты) над отдельными VMDK, что позволяет «выровнять» приложение с его фактическими данными и открывает простор для гибкого применения всевозможных политик хранения.
Остается открытым вопрос: какая роль теперь отводится VAAI API и как он связан с VVOL? При работе с виртуальными томами хост ESXi контролирует не только поток данных, но и управляющий канал до массива. Таким образом, VVOL выглядит как более продвинутое расширение интерфейса VAAI NAS. Что ж, предлагаю пройтись по типичным сценариям взаимодействия виртуальных томов с VAAI.
Блочный VAAI и VVOL
VAAI описывает базовые SCSI-примитивы, с помощью которых гипервизор перекладывает выполнение некоторых операций на хранилище. При этом многое зависит от файловой системы VMFS, которая руководит процессом и непосредственно отправляет VAAI-команды.
Благодаря VVOL, системы хранения теперь знают о наличии виртуальных дисков и могут создавать снимки, клоны и выполнять зануление определенных VMDK.
Однако блочный VAAI и Thin Provisioning по-прежнему сосуществуют с новыми виртуальными томами:
VAAI NAS и VVOL
В отличие от блочного варианта, все функции VAAI NAS предоставляются через вызовы RPC с помощью плагина от производителя СХД. VVOL расширяет эту модель набором VASA API, что позволяет взвалить на плечи хранилища практически все операции сферы.
В шестой версии vSphere уже существующие хранилища VAAI NAS продолжат работать как прежде, но более совершенные виртуальные тома явно будут быстрее и функциональнее. Наконец, использование VVOL не потребует установки плагина от вендора хранилища.
Еще один важный момент относительно VAAI NAS: их снэпшоты нельзя мигрировать. При попытке выполнить Storage vMotion для машины на таком томе вся ее история VAAI-снимков будет потеряна. Для виртуальных томов это не проблема, там поддерживается перенос снэпшотов между NFS (без VAAI), VMFS, VSAN и VVOL в любых сочетаниях.
VAAI Thin-Provisioning and VVOLs:
Теперь давайте посмотрим, как работают все эти оптимизации в типичных сценариях.
Типичные сценарии
Storage vMotion работающей машины без снэпшотов
Для работающей без снэпшотов VM копированием управляет драйвер Storage vMotion. Задействуется data mover, который по возможности делегирует перенос секций работающей VM массиву.
Блочные VAAI и VVOL
NAS VAAI
NAS VVOL
Storage vMotion работающей машины со снэпшотами
В первую очередь переносятся снимки, после чего драйвер Storage vMotion займется миграцией актуального состояния виртуальной машины.
Блочный VAAI
Блочные VVOL
NAS VAAI
NAS VVOL
Storage vMotion выключенной машины без снэпшотов
При таких условиях вместо драйвера Storage vMotion применяется метод перемещения машины (клонирование с последующим удалением исходника).
Block VAAI
Block VVOL
NAS VAAI
NAS VVOL
Storage vMotion выключенной машины со снэпшотами
Идея как в предыдущем варианте, но теперь со снэпшотами.
Block VAAI
Block VVOL
NAS VAAI
NAS VVOl (Same as block VVOL)
От переводчика
Статья получилась довольно насыщенной по части аббревиатур и определений, потому предлагаю вашему вниманию небольшой глоссарий по некоторым из них: