Nutanix Frame, часть 3

В прошлых частях нашего рассказа (часть 1 и часть 2) мы ознакомились с эволюцией VDI, рассмотрели варианты организации сетевой связанности и хранения пользовательских документов. Сегодня мы проделаем с нуля все пошаговые действия, чтобы начать работать с Nutanix Frame.

Напомню, что Nutanix Frame поддерживает возможность работы с использованием как публичных облаков (Amazon AWS, Google GCP, Microsoft Azure), так и локального кластера Nutanix AHV. Данная статья посвящена именно Nutanix AHV, настройку с использованием публичных облаков рассмотрим в следующие разы.

Говоря про подготовку новой инфраструктуры, мы подразумеваем, что возможно какие-то компоненты у вас уже имеются. По этому логичным началом работы с Nutanix Frame будет напоминание о наших инструментах миграции.

Конвертация образа с помощью Nutanix Move

Nutanix Move является готовым родным инструментом для миграции виртуальных машин на кластеры Nutanix AHV. Развертывание довольно простое – скачиваем диск с портала (https://portal.nutanix.com/#/page/NutanixMove ), создаем виртуальную машину и запускаем ее. Далее через браузер подключаемся в машине Move и начинаем с ней работать.

Опустим часть, связанную с подготовкой необходимых учетных записей для процесса миграции, назначение ролей и т.д. Более подробно об этом можно почитать в документации Move.

Традиционно для утилит конвертации от нас требуется настроить target — куда будут мигрировать наши виртуальные машины и source — откуда мы их мигрируем.

Поддерживаются следующие сценарии миграции на наш гипервизор:

  • VMware ESXi to Nutanix AHV
  • VMware ESXi on legacy infrastructure to VMware ESXi on Nutanix
  • Microsoft Hyper-V to Nutanix AHV
  • AWS EC2 to Nutanix AHV
  • Nutanix AHV to AWS EC2

Зачем это может понадобиться?  Хорошим примером будет взять текущую инфраструктуру как есть, например виртуальные рабочие столы VMware Horizon и оперативно перенести, чтобы протестировать решение, либо конвертируем золотой образ, из которого развертываем новые столы в новом окружении. Безусловно говоря про продуктивное развертывание лучшим вариантом, будет все же пересоздать образ стола с нуля.

При конвертации нашей виртуальной машины Move автоматически установит драйверы virtio, Nutanix Guest Tools необходимо будет доустановить в ручном режиме. Далее мы указываем учетные данные от виртуальной машины и запускаем процесс миграции.

Процесс конвертации начинается с первичного мгновенного снимка, который передается на целевой кластер. По мере изменений внутри виртуальной машины мы будет догонять изменения путем докачивания дельт. Как только миграция достигнет статуса Ready to Cutover, можно производить переключение.

Далее мы просто запускаем виртуальную машину, удаляем неиспользуемое ПО, агенты, например VMware Horizon Agent и VMware Tools. Наша машина готова к развертыванию Nutanix Frame.

Если для нас это новое развертывание и конвертация не нужна, то перед началом работы нам необходимо подготовить образ для пользователей.

Создание и оптимизация образа с нуля

При установке операционной системы в виртуальной среде необходимо помнить, что эта ОС была создана все-таки для физических устройств. Если мы установим эту ОС в виртуальной среде, мы увидим другие результаты, именно поэтому нам необходимо оптимизировать ее. Команда Nutanix Performance/Solutions Engineering, отвечающая за EUC, протестировала эффективность различных вариантов оптимизации и приводит следующие результаты по плотности размещения рабочих столов на отдельный узел.
Как вы видите, при применении базовых оптимизаций Citrix плотность рабочих столов на узел увеличивается на 48%, а с помощью рекомендаций по оптимизации VMware OS увеличивается до 57%. Обратите внимание, что оба набора оптимизаций не зависят от типа используемого гипервизора.

Первым делом мы создаем новую виртуальную машину, которая будет использоваться для развертывания столов, устанавливаем ОС, накатываем обновления, необходимые приложения. Не забываем про установку VirtIO драйверов. Nutanix Guest Tools НЕ устанавливаем!

Далее скачиваем и запускаем Citrix Optimizer ( https://support.citrix.com/article/CTX224676 ).В зависимости от используемой версии ОС выбираем необходимый набор рекомендаций.

Выбираем отдельные рекомендации или выбираем Select All, чтобы применить все сразу.

Все! Наш образ подготовлен и оптимизирован под задачи любого VDI. Но наша статья про Nutanix Frame, а не все VDI :)

Установка Frame Guest Agent

Frame Guest Agent (FGA) — это компонент Frame, который устанавливается в каждую виртуальную машину Frame (Sandbox, Production instances, Utility серверы). FGA применяет для работы собственный протокол Frame Remoting Protocol (FRP), который основан на кодеке H.264. При использовании графических адаптеров NVIDIA, FGA использует аппаратное кодирование NVENC H.264 для разгрузки CPU.

Кроме того, агент Frame работает совместно с облачной платформой Frame, чтобы гарантировать авторизацию конечных пользователей, прежде чем разрешить запуск потока FRP. FGA также отвечает за исполнение политик (разрешить/запретить закачивать/загружать файлы, параметры QoS, и т.д.). Про это поговорим позже отдельно.

Скачиваем образ FrameGuestAgentInstaller, подключаем к нашей виртуальной машине.

  1. Обратите внимание, что после установки Frame Agent вы не сможете подключиться к вашей виртуальной машине через AHV VNC консоль. Поэтому здорово было бы разрешить к ней подключаться по RDP, чтобы в дальнейшем ее обновлять.
  2. Синхронизируем время на машине, Timezone можно поставить UTC.
  3. Удаляем все установленные версии Microsoft Visual C++ Redistributable.
  4. Устанавливаем Frame Agent.
  5. Перезагружаем нашу виртуальную машину и подключаемся к ней по RDP. Если получено уведомление о уже подключенном пользователе, при подключении по RDP, просто нажимаем Yes и игнорируем его.
  6. Запускаем через Powershell команду

Start-Process -FilePath «C:\Windows\System32\Sysprep\Sysprep.exe» -ArgumentList «/oobe /shutdown /generalize /unattend:C:\ProgramData\Frame\Sysprep\Unattend.xml» -Wait -NoNewWindow

Sysprep по завершении выключает нашу виртуальную машину.
7. Как со стандартным VDI отключаем все не используемые устройства.

Образ готов для развертывания в среде Nutanix Frame on Nutanix AHV.

Установка Frame Cloud Connector Appliance

Несмотря на то, что management plane Frame полностью размещен в облаке Xi, для организации работы локальных рабочих станций требуются дополнительные прокси машины.

В качестве этих самых прокси выступает компонент Frame Cloud Connector Appliance (CCA), который обеспечивает взаимодействие платформы Frame и Prism Central API. CCA пересылает команды по созданию, запуску, остановке и удалению виртуальных машин в Prism Central на основе запросов из платформы Frame. Обязательное требование: CCA должен находиться в том же VLAN, что и Prism Central!

Начиная с версии Prism Central 5.11.1 процедура развертывания CCA автоматизирована, но тем не менее мы опишем процесс ее создания в ручном режиме.

  1. Создаем пользователя Prism Central для задач Frame. Prism Central Settings > Local User Management. Необходимо назначить роли User Admin и Prism Central Admin.
  2. Создаем категории виртуальных машин для задач Frame.

Frame использует категории Prism Central для идентификации шаблонов, применяемых при развертывании виртуальных рабочих столов и Sandbox.
Необходима категория с 3 значениями. Instance, Template, MasterTemplate.

  1. Для шаблона нашей виртуальной машины, из которой будем развертывать виртуальные рабочие столы, применяем категорию FrameRole:MasterTemplate.
  2. Создаем виртуальную машину под задачи CCA, подключив к ней образ, скачанный с портала. В качестве диска виртуальной машины достаточно указать 0,1 GiB.
  3. Если в сети имеется DHCP, то машина получит адрес автоматически, если нет, то можно подключиться через AHV VNC консоль и сконфигурировать сеть вручную.
  4. Запрашиваем Trial на Frame через https://my.nutanix.com. Прям на главной странице в разделе Xi Cloud Services выбираем Xi Frame — > Start Trial.

Пробный период дается на 30 дней для работы 5 пользователей. Если необходимо продлить тестирование или увеличить число пользователей – пишите, постараемся сделать.

  1. Получив доступ к порталу администратора, необходимо создать Organization. Не закрываем страницу при переходе к следующему шагу!
  2. Открываем в браузере страницу CCA и заполняем информацию по учетной записи и адресу Prism Central.
  3. Заполняем параметры в мастере:
  • Выбираем кластер для размещения виртуальных машин
  • Сеть для размещения виртуальных машин. Напомню, что необходимо наличие сервиса раздачи адресов в данной сети, IPAM или DHCP
  • Имя служебной учётной записи для работы с данным кластеров
  • Персональные диски и корпоративные профили не активируем! Далее будет понятно почему
  • Корректируем или создаем параметры типовых виртуальных машин. Обратите внимание, что возможность создать новые конфигурации или изменить параметры текущих конфигураций после развертывания среды, возможна в данный момент только с привлечением технической поддержки Frame.
  • Выбираем шаблон, который будет использовать при развертывании, тип ОС
  • Выбираем созданную организацию.
  1. Переходим в панель Nutanix Frame и ждем окончания подготовки.

Статус C (create) говорит то, что подготовка еще продолжается. Prism Central создает и конфигурирует специальные служебные машины прокси-сервера рабочей нагрузки (frame-workload-proxy- # # # #) в сети, указанной во время настройки CCA. После перехода состояния в R (ready) можно приступать к настройке пулов наших столов.

Создание пулов рабочих столов

После регистрации кластера Nutanix AHV можно создать Frame Account. Frame Account содержит как минимум:

  • SandboxVM. Является аналогом masterimage, который содержит все необходимые приложения и используется для развертывания пулов столов.
  • Один или несколько пулов Production VM. Виртуальные рабочие столы на базе созданных параметров. Именно эти ресурсы будут использоваться конечными пользователями для доступа к рабочим столам или опубликованным приложениям.

При создании Frame Account нас спросят:

  • Имя нашего account, которое может быть сгенерировано автоматически для уникальности в системе
  • CloudProvider. В нашем случае это Nutanix
  • Регион размещения. Выбираем наш кластер.

Далее выбираем параметры для машины Sandbox и объем необходимого диска.

Обратите внимание, что при использовании Windows 10, приобретать лицензии Microsoft VDA заказчик должен сам.

Запускаем Sandbox VM и при необходимости устанавливаем дополнительные приложения.

Чтобы развернуть пул Production VM необходимо настроить стандартные параметры, такие как емкость пула, число одновременно запущенных машин, временные интервалы работы и т.д.

Параметр Buffer instances указываем минимальное количество заранее запущенных машин, ожидающих подключения пользователя. Max number of instances – емкость нашего пула столов.

В закладке Active Capacity мы можем управлять часами включения/выключения виртуальных машин, что больше применимо к публичным облакам в целях оптимизации стоимости ресурсов, но может применяться внутри компании, чтобы исполнять другие задачи.

 

Приложения настроены, политики пула настроены – жмем Publish нашего Sandbox.

Как правило, публикация занимает около 15 минут. Когда администратор публикует Sandbox, платформа Frame выполняет резервную копию нашего Sandbox и подготавливает к развертыванию столов. Затем платформа Frame создает рабочие столы используя данный образ.  Каждый раз при публикации обновленной версии шаблона Sandbox Frame автоматически создает ее резервную копию, что позволяет легко и быстро при необходимости откатить пул Production VM до рабочего состояния.

Публикация столов и приложений

Для публикации приложений и рабочих столов необходимо создать один или несколько Launchpad.

Launchpad ассоциирован с конечными пользователями и настраивает параметры:

  • В чему именно разрешен доступ? К опубликованным приложениям (ApplicationLaunchad) или рабочему столу (DesktopLaunchpad) или обоим
  • Какие доступные параметры виртуальных машины для приложений и столов? Возможно, при работе целиком со столом мы будем использовать множество приложений и ресурсов потребуется больше.
  • Какие политики безопасности, подключения внешних хранилищ мы будем включать? Можно разрешить закачивать файлы, запретить интеграцию с облачными хранилищами, уменьшить число кадров и т.д.

Кроме того, администратор может использовать Role-Based Access Control (RBAC), чтобы определить, у каких конечных пользователей или групп конечных пользователей есть доступ к Launchpad.

Публикация столов и приложений проста – Launchpads -> Add Launchpad.

Если мы планируем публиковать как столы, так и приложения, то Launchpad должно быть два.

Помимо настроек целиком на весь пул, мы можем их применять/изменять и на уровне отдельных Launchpad.

Настройки абсолютно идентичны настройке пула, если их не меняем, то они наследуются.

Ну и последнее – ассоциация пользователей. Переходим в панель управления структурой Nutanix Frame. Выбираем Customer и нажимаем Users.

Тут мы можем настроить каким способом будет проверяться аутентификация пользователя.

Напомню, что Frame поддерживает несколько механизмов аутентификации.

Для большинства предприятий, имеющих identity provider, таких как Okta, Ping, Azure AD, ADFS, рекомендуется SAML2 интеграция. Для предприятий, использующих Google Sign-In, Frame интегрируется с Google Identity через OAuth2.

Для клиентов, у которых нет IdP, Frame предоставляет собственный identity provider, позволяющий администратору создавать и управлять локальными учетными записями на основе адресов электронной почты.

Встроенный Frame Identity provider не предназначен для использования в качестве корпоративного identity provider. Он не поддерживает настраиваемые политики паролей, многофакторную аутентификацию или возможность агрегирования пользователей в группы. Он предназначен только для клиентов, которым для тестирования необходим простой IdP.

Но тем не менее выбираем самый быстрый и простой вариант – Basic (username/password) :)

Нажимаем Invite Users, вбиваем почту пользователя и ассоциируем Launchpad для запуска столов и Launchpad для запуска приложений.

Настройка закончена! Осталось только проверить, что это работает!

Проверка User Experience

После того как мы нажали Invite указав почту приглашаемого сотрудникам, он получает на почту письмо с приглашением сбросить пароль и начать работать.

Выбрав необходимый Launchpad для работы, мы можем выбрать необходимые параметры машины для работы, что может оказаться удобно на стадии тестирования или редкого запуска отдельных ресурсоемких приложений.

В зависимости от исполняемого приложения или качества интернет-канала мы можем сами регулировать параметры сессии (если администратор разрешил).

Хранилище пользовательских данных

По умолчанию столы Frame являются stateless или nonpersistent, что означает, что любые изменения, внесенные в диск C, не будут сохраняться на виртуальной машине после отключения пользователя.

При настройке связки Frame CCA с платформой Frame мы намеренно не активировали функционал персональных дисков и корпоративных профилей. Как помним из второй части рассказа про Frameэто позволяет нам использовать либо отдельные диски для хранения пользователей, либо использовать специализированный Utility под задачи хранения. Данные сценарии больше подходят под облачное размещение ресурсов.

Лучшим вариантом размещения пользовательских профилей на локальной площадке является использование Nutanix Files в рамках нашего кластера с рабочими столами.

Решение позволяет управлять квотами для отдельных пользователей или групп, поддерживает интеграцию через ICAP с антивирусными решениям, функционал Previous Versions для пользовательских профилей. Отдельно Nutanix Files и его вариант реализации как хранилище пользовательских профилей мы опишем в следующий раз.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *