VMware API for Array Integration позволяет серьезно повысить эффективность работы vCloud Director, особенно если у вас используется NFS-хранилище NetApp. Для работы VAAI с системами NFS потребуется плагин для vSphere.
VAAI (vStorage API for Array Integration) — API для передачи определенных дисковых операций с виртуальными машинами на сторону массива. Благодаря новым API стало возможным повысить производительность дисковых томов за счет делегирования некоторых операций массиву. Например, клонирование VM в таком варианте будет выполняться практически полностью силами массива, как и «зануление» дисков VMDK в формате Zeroed-thick.
Взглянем на самую полезную возможность VAAI — Full Copy API. В vCD существует опция Linked Clone для быстрого развертывания vApp, идейно похожая на FlexClone от NetApp (разработана специально для быстрого и экономного клонирования vApp). При использовании vSphere совместно с СХД от NetApp можно получить ряд преимуществ от их взаимной интеграции через VAAI. Но чтобы лучше понимать суть вопроса, вспомним, что собой представляет FlexClone…
Немного о FlexClone
В современных информационных технологиях можно назвать тысячу и одну ситуацию, когда возникает необходимость в точных копиях существующих данных. Скопировать файл куда-либо обычно не проблема. Но лишь до тех пор, пока таких файлов не много и они не занимают серьезных объемов. Если же вы активно используете клонирование VM вместо «дедовского» способа установки с нуля каждого нового сервера, то о длительности этого процесса рассказывать излишне. К временным затратам прибавляется еще и огромный расход дискового пространства. Если же речь идет о VDI, где у каждого пользователя своя личная VM, то затраты на дисковое пространство способны заметно проредить бюджет.
Для решения проблемы производители систем виртуализации в свое время разработали концепцию «связанных клонов» (Linked Clones). Идея была в том, чтобы не создавать дубли одних и тех же данных — эталонная VM оставалась одна, а клоны использовали ее данные в качестве общей основы. Все изменения и уникальные данные клонов записывались отдельно для каждого из них. Таким образом была изящно решена проблема неэффективного расхода дискового пространства в средах с множеством однотипных VM.
Но не всегда есть возможность виртуализовать конкретное приложение, а сэкономить место на копиях одной и той же БД хочется. Для таких случаев и разработали механизм FlexClone в устройствах NetApp. Принцип работы схож с Linked Clone, но применим он не только в виртуальной среде. На рисунке ниже наглядно продемонстрирована идея клонов от NetApp.
Преимущества этой технологии перед традиционным способом создания копий:
- Скорость. Обычное копирование займет некоторое количество минут или часов, а с FlexClone на это уйдет пара секунд.
- Экономия места. Каждый клон содержит в себе лишь небольшой объем метаданных, а дальнейший расход пространства зависит лишь от размещаемых на нем уникальных данных.
- Дополнительные возможности для разработки и тестирования. Пожалуй, самый интересный плюс в контексте этой статьи. Можно создавать множество копий одного приложения для тестирования его работы на множестве разных систем. И при этом не потребуется докупать еще сотни гигабайт пространства.
- Ускорение развертывания новых VM. Особенно актуально в среде VDI, где каждый новый пользователь предполагает создание отдельной виртуальной машины на основе одного и того же образа. А что если открылся новый отдел? Просто создаете за пару секунд еще десяток-другой рабочих станций без ущерба для производительности.
Последним пунктом мы уже немного залезли в интеграцию NetApp и VMware, так что перейдем к подробностям.
FlexClone и Linked Clone
Если подключить vSphere Full Copy API в контексте организации, то вся процедура создания «эффективных клонов» будет передана контроллеру СХД и вместо опции быстрого развертывания vCD будет использована NetApp FlexClone.
Также Full Copy используется для миграции дисков машины между разными томами (Storage vMotion). Благодаря миграции силами массива машины могут переезжать между хранилищами для балансировки нагрузки или при операциях обслуживания. При этом ресурсы хоста практически не задействуются и могут быть использованы для полезной работы VM.
Как раз на этом моменте мы и получаем всевозможные улучшения и повышенную эффективность: partial writes при быстром развертывании в vCD уходят в прошлое, развертывание и клонирование VM становится раз в десять быстрее, работа со снэпшотами vApp тоже серьезно ускоряется. Все это удалось реализовать исключительно благодаря продвинутым возможностям массива NetApp по работе со снэпшотами.
Еще один полезный момент — возможность использования аппаратных снэпшотов вместо традиционных vApp Snapshot. При настроенной интеграции VAAI вы все так же инициируете создание снимка в консоли vCD, но сам процесс выполняется хранилищем. В результате скорость операций растет, и вы получаете более экономное расходование места на СХД. Наконец, такой снэпшот со стороны NetApp является стандартным аппаратным снимком, который может быть использован с NetApp SnapMirror и SnapVault. При этом и vCD воспринимает снимок как свой собственный!
Что все это дает разработчикам
Специфика работы девелоперских компаний заключается в создании продукта для самых разных систем и окружений. К примеру, одна и та же БД может по-разному работать (или не работать) на Windows 2003 и 2012, но высокая фрагментация информационных систем в качестве оправдания явно не подойдет. Поэтому реальные тесты приложений проводятся на всех популярных у пользователей продукта платформах. Если для мобильного или клиентского приложения вопрос можно решить практически «на коленке» запуском его на нескольких рабочих станциях, то для тяжелой БД такой вариант уже не пройдет.
В ГК «ИТ-ГРАД» входит компания IT-GRAD Software, которая разрабатывает программное обеспечение для средних и крупных корпоративных заказчиков. Основная специализация IT-GRAD Software — создание ПО для интеллектуальной обработки потоков данных. Соответственно, ключевым сегментом является телекоммуникационная отрасль. Думаю, многие сталкивались с системами биллинга операторов связи. Но если пользователь видит просто приходящие ему счета, то в бэк-энде обычно трудится огромная СУБД с данными тысяч абонентов и постоянно меняющимися тарифными планами.
В качестве примера использования преимущества FlexClone можно упомянуть систему управления абонентской базой для одного петербургского сотового оператора. Программное обеспечение разрабатывалось для управления абонентской картотекой, регистрации новых клиентов и абонентов, ввода платежей, проведения корректировок начислений и платежей, просмотра вызовов, отчетности и др. Система работала с базой данных, содержащей информацию о миллионах абонентов и терабайты данных о совершенных вызовах.
В ходе разработки необходимо было регулярно тестировать работу СУБД и сервисного приложения на десяти клиентских и серверных системах (требование заказчика — 100%-ная поддержка определенных дистрибутивов Linux и смешанной клиентской среды Windows/Linux). Для проверки работы новой БД на всех доступных операторских платформах раньше приходилось создавать отдельный экземпляр (обычно целый LUN) базы для каждой из них.
Разумеется, расход дискового пространства превосходил все разумные пределы, особенно при нескольких параллельных проектах. Вопрос решился переходом на работу с NetApp FlexClone, которая позволяла создать с десяток изначально одинаковых разделов с тестируемой БД. В результате наши разработчики и тестировщики тратят меньше времени на организацию стендов и больше — на саму разработку.
В этом материале мы сфокусировались на выгодах от использования продвинутых снэпшотов компаниями-разработчиками. Но это далеко не единственный реальный пример. Связка NetApp и VMware дает множество преимуществ для любого корпоративного заказчика, особенно для тех, кто использует инфраструктуру VDI. К слову, корпоративное облако IaaS ИТ-ГРАДа тоже построено на СХД NetApp и интегрировано с VAAI от VMware.