Интеграция NetApp и VMware: возможности VAAI для массивов NetApp
В век бурного развития технологий виртуализации балом правит интеграция всего и вся. Администраторам и провайдерам уже недостаточно парой движений создавать виртуальные машины и разворачивать из шаблонов целые инфраструктуры — в моде совместная работа всех звеньев инфраструктуры. В этой статье поговорим об удобствах и возможностях, которые дает нам глубокая интеграция гипервизора и систем хранения NetApp.
Небольшой концептуальный экскурс
Несколько лет назад в VMware оценили тенденции развития дата-центров и заранее подготовились к растущей роли хранилищ в виртуализации. Так появилась концепция vStorage, объединяющая в себе множество технологий работы с хранилищами в виртуальной среде, среди которых есть VAAI и VASA:
- VASA (vStorage API for Storage Awareness) — основной API-интерфейс для отслеживания конфигурации хранилищ и настройки некоторых их свойств.
- VAAI (vStorage API for Array Integration) — API для передачи определенных дисковых операций с виртуальными машинами на сторону массива.
Благодаря новым API стало возможно повысить производительность дисковых томов благодаря делегированию некоторых операций массиву. Например, клонирование VM в таком варианте будет выполняться практически полностью силами массива, как и «зануление» дисков VMDK в формате Zeroed-thick.
Изначально возможности VAAI были доступны только для блочных СХД, но с пятой версии vSphere в игру вступили и NFS-системы NetApp.
Информация об устройствах, томах и топологии
Чаще всего администраторам не хватает под рукой информации о характеристиках подключенных СХД, особенно если поддержкой таких систем занимаются другие люди. Даже чтобы создать «золотой» или «серебряный» профиль хранилища, нужно понимать уровень производительности и надежности доступных ESXi-хранилищ.
Чтобы vSphere мог собрать для вас все эти данные, необходимо установить и настроить VASA-провайдер. Фактически это промежуточное приложение, которое будет собирать информацию о ваших хранилищах и предоставлять ее vSphere. Загрузить провайдер можно на официальном сайте NetApp. После установки потребуется настроить в провайдере подключение к хранилищу NetApp, а в консоли vSphere — доступ к самому провайдеру (подробная неофициальная инструкция).
Еще больше возможностей интеграции
Помимо сбора базового пакета информации об устройствах и топологии, связка vSphere-NetApp умеет несколько больше. Например, можно серьезно повысить производительность подсистемы хранения с помощью возможностей VAAI.
NFS-хранилища требуют предварительной установки и настройки специального плагина vSphere — именно с его помощью добавляется поддержка VAAI для NetApp.
Изначально потребуется выполнить не так уж много условий:
- Включение опций VMware vStorage for NFS и NFSv3 на хранилище NetApp с Data ONTAP0.1 или новее.
- Проверка работы VAAI на хосте vSphere 0 или новее.
Можно использовать команду esxcli storage nfs list.
- Загрузка и установка специального плагина (NetAppNasPlugin.vib) на хосте ESXi, к которому подключено хранилище NetApp.
Если при установке плагина возникнут какие-либо затруднения, предлагаем официальную и неофициальную инструкции. Как только плагин установлен и все настройки сделаны, vSphere будет самостоятельно управлять всеми «аппаратными ускорениями» массива.
Теперь ознакомимся со всеми возможностями, которые открывает включение vStorage APIs для СХД.
Удобное управление профилями хранения
Благодаря VASA можно значительно упростить себе жизнь в части работы с СХД NetApp в виртуальной среде. Собирая информацию о хранилищах из Virtual Storage Console и пересылая ее в vCenter, провайдер VASA позволяет:
- Более грамотно размещать новые VM на датасторах. Можно создать профили хранения с разным уровнем надежности и производительности, а VASA позволит подобрать под них правильные устройства.
- Своевременно получать оповещения о несоответствии хранилища уровню надежности или производительности, заявленному в профиле vSphere. То есть если уровень RAID был каким-то образом изменен с 10 на 1, вы узнаете об этом до размещения там пары новых СУБД.
По умолчанию провайдер VASA содержит три стандартных профиля хранилищ:
- Gold — позиционируется как вариант для размещения бизнес-критичных приложений. Характеризуется высочайшей производительностью, которая не зависит от загрузки соседних дисковых томов, и изоляцией в случае аварии.
- Silver — мейнстрим для корпоративных приложений. Это достаточно производительные хранилища с чуть меньшей надежностью при масштабных авариях.
- Bronze — самый емкий, но при этом ограниченный по скорости профиль. Обычно для таких систем не предусмотрен вариант защиты от масштабных аварий.
При развертывании новых виртуальных машин можно использовать один из этих профилей для правильного размещения их VMDK.
«Разгрузка» процесса копирования VM
Хранилище NetApp может полностью выполнять клонирование VM или миграцию VMDK между датасторами внутри массива. Благодаря этому исключаются лишние I/O-операции с хоста, что экономит ресурсы CPU и полосу пропускания сети.
При создании клона VM в пределах одного тома NetApp использует Full Copy API для клонирования VM с «эталонного» образа. Такие копии впоследствии могут быть использованы для создания VM на любом датасторе ЦОД.
Также Full Copy API используется для миграции дисков машины между разными томами (Storage vMotion). Благодаря выполнению миграции силами массива машины могут переезжать между хранилищами для балансировки нагрузки или при операциях обслуживания. При этом ресурсы хоста практически не задействуются в этом процессе и могут быть использованы для полезной работы VM.
Аппаратное «зануление» при создании виртуальных дисков
Если вы используете VMDK-диски форматов zeroed-thick или eagerzeroed-thick, то наверняка оцените аппаратное ускорение этого процесса — форматирование дисков и их размещение на датасторе целиком выполняется СХД.
При создании дисков двух указанных выше форматов хост ESXi в общем случае занимается выделением довольно большого дискового объема с последующим заполнением его нулями:
- При zeroed-thick фактическое «зануление» выполняется в процессе работы с диском. Так создание диска выполняется быстрее, но теряется производительность на дополнительных операциях с диском при дальнейшей работе.
- Eagerzeroed-thick предполагает изначальное заполнение нового диска нулями, что гарантирует его высокую производительность, но требует дополнительного времени при создании
Благодаря передаче такой инициализации на массив скорость работы с «зануленными» дисками для хоста ESXi перестает отличаться от обычных VMDK — все дополнительные операции берет на себя СХД. Особенно полезно аппаратное ускорение для машин с включенной опцией VMware Fault Tolerance, так как при ее работе требуется «зануление» довольно большого числа блоков виртуальных дисков.
Аппаратные блокировки
Для внесения изменений в объекты VMFS гипервизор от VMware использует принцип блокировки дискового тома (LUN). То есть если нужно создать новую VM, изменить размер виртуального диска (что происходит очень часто с «тонкими» дисками) или просто добавить к имеющейся VM новое устройство, — на время выполнения этой операции ESXi блокирует ВЕСЬ LUN с использованием SCSI reservation.
При действующей блокировке с томом не могут работать остальные хосты, что порой здорово мешает в крупной виртуальной среде. Чем выше дисковая нагрузка в среде виртуализации, тем болезненнее (в плане производительности) будут происходить любые изменения в датасторах VMFS и тем более явными будут «тормоза» требовательных к дисковому I/O приложений.
Для решения этой проблемы в VAAI используется Hardware Assisted Locking API, позволяющий более детально подходить к вопросу блокировок. Вместо целого тома резервируются конкретные области раздела СХД, которые необходимо изменить.
Мы рассмотрели основные возможности интеграции NetApp и VMware — вендоров, которые наиболее востребованы сегодня для построения корпоративных облаков в модели IaaS.