15.03.2019

VMware Horizon 7 архитектура

Программная платформа VMware Horizon 7.7 в редакции Enterprise объединяет в себе все лучшие наработки и технологии компании VMware в области быстрой и безопасной доставки виртуальных рабочих столов VDI и опубликованных корпоративных приложений.

Рис. 1 Логическая архитектура VMware Horizon 7

VMware Horizon 7 полностью совместим с продуктами виртуализации VMware, некоторые из них входят в состав лицензии Horizon
(NSX нужно покупать отдельно) и могут использоваться для его работы. Речь идет о VMware vSphere — серверная виртуализация, VMware vSAN — виртуализация системы хранения и VMware NSX — виртуализация сетей передачи данных. На рис. 1 эти платформенные продукты образуют фундамент для запуска Horizon.
Horizon 7 не просто запускается на платформе виртуализации, как любые другие виртуальные машины, но умеет нативно использовать новейшие технологии vSphere, vSAN и NSX. (например, технология SE Sparse VAAI, storage acceleration и пр.) Все это вкупе добавляет продукту производительности, безопасности и снижает стоимость владения.

После интеграции системы Horizon 7.7 Enterprise в свою текущую инфраструктуру вы получите следующие функциональные возможности (в терминах VMware):

  • JMP (Next-Generation Desktop and Application Delivery Platform) — доставка виртуальных столов VDI, приложений «на лету». Когда пользователь пытается получить доступ к VDI, то для него, персонализированно, на основании политик собирается виртуальная машина с приложениями, назначенными администратором. Для этой процедуры используются следующие технологии: VMware Instant Clone Technology for fast desktop and RDSH provisioning, VMware App Volumes for real-time application delivery, VMware User Environment Manager for contextual policy management. Виртуальная машина собирается, из независимых друг от друга, отдельно администрируемых частей. Ниже будет рассмотрен механизм работы.
  • Just-in-Time Desktops — быстрое создание новых виртуальных машин VDI за счет использования технологии VMware Instant Clone Technology. По этой технологии виртуальные машины создаются уже во включенном состоянии и сразу готовы к работе, раньше для создания использовалась технология связных клонов (linked clones, она и сейчас доступна), в которой процесс создания новой VDI машины занимал больше минуты, с новой технологией секунду.
  • VMware User Environment Manager (UEM) — решение VMware для работы с персональными политиками на виртуальных, физических и облачных рабочих станциях. Можно рассматривать, как дополнение к групповым политикам AD, ранее в VMware использовался собственный шаблон, который загружался в административные шаблоны групповых политик. Не очень удобное решение с точки зрения предоставляемых возможностей и удобства использования. Новое решение, User Environment Manager, более универсальное, пользователь получает единообразное рабочее пространство, сохраненные настройки программ, интерфейсов на всех устройствах. Например, пользователь настраивает под себя Excel в виртуальной машине Windows 10, а потом решает работать в опубликованном терминальном приложении Exel, настройки перенесутся. То же касается профилей пользователей. Технология UEM ускоряет процесс логина пользователя в систему, что бывает критично, у некоторых логин затягивается на 10 минут и более.
  • Horizon Smart Policies — в Horizon 7 добавлены политики на основе информации об устройстве подключения, локации подключения и пр. Появилась возможность менять политики назначенные сессии при первом подключении при возникновении различных событий. Поддержка сквозной аутентификации SSO тоже относится к Smart Polices.
  • Blast Extreme — высокопроизводительный протокол подключения к виртуальным рабочим станциям VDI и терминальными приложениям RDSH. Активно развивается компанией VMware, чтобы заменить устаревший PCoIP. Blast Extreme поддерживает два режима работы в JPG/PNG и в H.264, может работать и в TCP и в UDP. Переключение между режимами может быть настроено на основе политик или адаптивно, в зависимости от характеристик канала связи.

Архитектура и компоненты

Для развертывания инфраструктуры Horizon 7 Enterprise потребуется установить определенное количество серверов и сервисов в ЦОД. Ниже подробно разберем, какие это компоненты и какую роль они выполняют.

Рис. 2 Логическая архитектура VMware Horizon 7 Enterprise

На Рис. 2 в блочном виде отображены основные компоненты архитектуры VMware Horizon 7 в редакции Enterprise.

  • VMware Identity Manager — служба сквозной SSO аутентификации пользователей во всех приложениях, которые могут быть доставлены через продукты VMware (не только Horizon).
  • Connection Server — компонент VMware Horizon выполняющий роль брокера подключений пользователей. После аутентификации пользователя, перенаправляет его на доступный ресурс. Это может быть VDI виртуальная машина, терминальный сервер, физический ПК.
  • Instant Clone Technolodgy — передовая технология VMware для «мгновенного» клонирования (создания) виртуальных машин VDI или терминальных серверов RDSH из базового образа.
  • Unified Access Gateway — шлюз для безопасного доступа к опубликованным ресурсам VMware Horizon 7 из сети интернет.
  • AppVolumes Manager — позволяет доставлять приложения пользователям в VDI рабочие станции без необходимости их инсталляции. В любой момент, можно подключить слои приложения или отключить их «на лету». В штатном режиме работы приложения доставляются во время входа пользователя в систему.
  • Microsoft SQL server — компонентам управления VMware Horizon для работы требуется база данных для хранения информации.
  • vRealize Operations Manager for Horizon — сервис для мониторинга VMware Horizon и аналитики использования. Позволяет оценить работоспособность всех компонентов Horizon, производительность, эффективность.
  • File servers — в основном, используется для хранения профилей пользователей.
  • VMware ESXi Hosts — физические серверы, на которых запущен гипервизор VMware ESXi.
  • vSAN storage — гиперконвергентная высокопроизводительная система хранения данных на базе платформы виртуализации VMware vSphere.
  • NSX for vSphere — решение от VMware для виртуализации сетей передачи данных. Позволяет производить микросегментацию сети на уровне виртуальных машин или приложений. Можно полностью изолировать одни виртуальные машины друг от друга или использовать программный firewall, который входит в состав NSX.
  • VMware vCenter server — центр управления всеми компонентами vSphere. Используется в Horizon для выполнения операций с виртуальными машинами, слоями приложений AppVolumes и т.д.

Понятия Pod и Block в Horizon 7

Одной из ключевых концепций в дизайне Horizon 7 уровня Enterprise является двух основных компонентов: Pod и Block. Для больших инсталляций крайне важна возможность масштабирования, а ее можно достичь, если архитектура строится из одинаковых компонентов, объединенных в логические узлы.

Pod состоит из группы Connection серверов, связанных между собою в консоли управления. Максимально один Pod может принимать до 20 000 подключений пользователей к виртуальным машинам VDI и RDSH приложениям. Pod-ы могут объединяться в соответствии с Cloud Pod Architectuer (CPA) и принимать до 140к подключений.

Pod-ы состоят из Block-ов. Для масштабирования системы Horizon рекомендуется либо увеличивать количество блоков, либо количество Pod-ов.

Рис. 3 Архитектура Horizon 7. Состав Pod.

Каждый Block состоит из одного или нескольких кластеров vSphere под управлением одного vCenter server. Также в Block есть один Composer server (если используются связные клоны) и один NSX Manager (если используется NSX). Есть программные ограничения на количество виртуальных машин VDI, которые можно запустить в одном Block:

  • 5000 виртуальных машин, при условии использования Instant clone технологии без AppVolumes
  • 4000 виртуальных машин, при условии использования Linked clones без App Volumes
  • 2000 виртуальных машин на Block, если используется технология доставки приложений AppVolumes

Таким образом, если используется доставка приложений через AppVolumes и нужно развернуть 5000 виртуальных машин VDI, нужно в рамках Pod-а настроить 3 Block-а.

В рамках одного Pod для Horizon 7 рекомендуется развертывание системы не более чем на 10 000 одновременных сессий (подключений). При этом будет настроено несколько блоков (зависит от технологий) и 7+ Connections серверов. Если нужно предоставить доступ более чем к 10к сессий, то придется создавать второй Pod.

Для работы Pod необходимо обеспечить быстрые каналы связи между компонентами, лучше всего в одном ЦОД. Pod-ы можно располагать в разных ЦОД, связать их можно через CPA (Cloud Pod Architecture).

В рамках одного большого Pod рекомендуется все компоненты управления рекомендуется выносить в отдельный кластер управления vSphere, который не пересекается с пулами виртуальных машин VDI и RDSH серверами. Компоненты управления — это vCenter server, Connections servers, Unified Access Gateway, AppVolumes Manager, Composer server, NSX Manger, SQL DB, File servers и пр.

Отказоустойчивость Horizon 7

В референсной документации по VMware Horizon 7 разбираются варианты по обеспечению отказоустойчивости на уровне центров обработки данных. Для больших инсталляций рекомендуется развертывание Horizon 7 Entrprise в двух независимых ЦОД. Выделяют два основных принципа построения такой архитектуры:

  • Site redundancy — устранение единой точки отказа, которая может привести к недоступности сервиса.
  • Data Replication — обеспечение избыточности достаточной для обеспечения работоспособности сервисов при выходе из строя компонентов системы Horizon 7.

Для достижения Site redundancy необходимо выполнить следующие условия:

  • Сервисы Horizon 7 должны работать независимо друг от друга в разных ЦОД
  • Для каждого пользователя в каждом ЦОД должны быть выделены соответствующие ресурсы
  • Некоторые сервисы Horizon 7 доступны пользователям одновременно из разных ЦОД (актив\актив)
  • Некоторые сервисы в резервном ЦОД требуют операции перевода в рабочее состояние в ручном режиме в случае аварийной ситуации (актив\пассив)

Отказоустойчивость. Active/Passive

Архитектура Active/Passive подразумевает наличие двух и более Pod-ов, находящихся в разных ЦОД. Они объединены через Cloud Pod Architecture и постоянно обмениваются информацией о глобальных настройках прав пользователей на ресурсы Horizon 7. Как видно на Рис. 4, пользователь в штатном режиме не имеет доступа к резервному Site 2 и Pod 2.

Рис. 4 Архитектура Acive/Passive в Horizon 7

Рассмотрим архитектуру VMware Horizon 7 в режиме отказоустойчивости active/passive (Рис. 5). Есть основной ЦОД (Site 1), который работает большую часть времени и резервный ЦОД (Site 2), который может быть задействован в случае аварии на основном.

Рис. 5 Репликация в Horizon 7 Active/Passive

Для работы в режиме отказоустойчивости лучше всего подходят инфраструктуры Horizon 7, в которых используются продукты редакции Enterprise. Виртуальная машина VDI в этом случае «собирается» для пользователя во время логина из трех основных компонентов:

  • Мастер образ — эталонная виртуальная машина для VDI или для RDSH с базовым набором приложений, который подходит для всех пользователей. Из подготовленного мастер образа путем клонирования создаются все виртуальные машины для каждого пула. У VMware есть 3 технологии клонирования: full clone, linked clone и самая современная Instant clone.
  • Приложения — чтобы дополнить приложениями мастер образ в Horizon Enterprise есть технология App Volumes. С помощью этого сервиса администратор готовит слои приложений, которые доставляются в мастер образ во время логина пользователя или «на лету» в процессе работы (что не рекомендуется). Слой приложения представляет собой файл vmdk доступный только для чтения. Он монитируется к виртуальной машине, а агент App Volumes в гостевой операционной системе Windows подключает этот диск без перезагрузки. На Рис. 2 можно увидеть еще один тип слоя Writable Volume. Он предназначен для категории пользователей, которые самостоятельно могут устанавливать приложения и вносить иные изменения в гостевую ОС. Все изменения записываются на этот слой и подключаются к VDI виртуальный машине при каждом входе в систему.
  • Профиль пользователя — у каждого пользователя есть личные данные, документы, настройки программ, которые сохраняются в профиле. Во время входа в систему, к виртуальной машине подключается (перенаправляется) профиль.

Для реализации отказоустойчивости Active/Passive необходимо три вышеописанных компонента реплицировать с основного Site1 на резервный Site2. При наступлении аварийной ситуации, пользователи смогут подключаться к Site2, получая виртуальные машины с данными, актуальными на момент крайней репликации.

Помимо репликации, чтобы было куда реплицировать, на Site2 нужно инсталлировать инфраструктуру Horizon 7. Создать пулы в соответствии со структурой Site1 из мастер образов. С помощью Cloud Pod Architecture (CPA) можно поддерживать на обоих сайтах в актуальном состоянии информацию о правах пользователя на объекты VDI и RDSH.
App Volumes кластеризуется, поэтому поддерживать в актуальном состоянии «слои» (AppStacks) приложений во всех хранилищах просто. Сложнее с Writable Volumes, которые нужно реплицировать, а затем подключать. Здесь уже появляются ручные действия администратора и такие понятия как RTO (60-90 минут) и RPO (1-2 часа).
Настройки User Environment Manager (UEM) также реплицируется на Site 2 и восстанавливается за несколько минут
Профили пользователей под управлением UEM имеют RTO = 1 мин, RPO = 2 часа (в зависимости от частоты репликации)

Отказоустойчивость. Active/Active

Архитектура VMware Horizon 7 уровня Active/Active подразумевает использования двух и более Pod-ов в разных ЦОД. Pod-ы объединены друг с другом через Cloud Pod Architecture и обмениваются глобальными настройками, которые позволяют пользователям системы Horizon 7 получать доступ к опубликованным ресурсам в любом доступном Pod.

Рис. 6 Архитектура Horizon 7 Active/Active

Доступ к виртуальным рабочим станциям VDI, опубликованным приложениям RDSH часто для компаний является бизнес критичным сервисом. Доступность уровня 99,99 не может быть гарантированно обеспечена архитектурой решения Active/Passive, поэтому чаще применяют мультисайтовую архитектуру Active/Active (Рис. 7)

Рис. 7 Репликация в Horizon 7 Active/Active

Архитектура Active/Active подразумевает доступность сервиса при обращении пользователя к Site1 или Site2. Поэтому в случае аварийной ситуации на одном из сайтов, пользователь без простоя подключится к другому сайту и продолжит работу. Распределение пользователей по сайтам может быть настроено интеллектуально по географическому признаку.