Глава 2. Обзор архитектуры и компонентов Horizon View
В данной главе мы ознакомим вас с архитектурой и инфраструктурой компонентов, которые составляют ядро решения VMware Horizon, сосредоточившись на элементах виртуального рабочего стола Horizon в редакции Horizon Standard, плюс к тому на технологии клонирования экземпляров (Instant Clone), которая доступна в редакции Horizon Enterprise.
Мы собираемся сосредоточиться на ядре функциональности Horizon View в посредничестве (brokering) машин виртуальных рабочих мест, которые размещаются на платформе VMware vSphere. Размещаемые приложения будут обсуждены в Главе 8, Доставка удалённых приложений при помощи View Hosted Apps, а рабочие столы на основе сеансов в Главе 9, Доставка рабочих столов на основе сеансов при помощи Horizon View.
На протяжении всех разделов данной главы мы будем обсуждать роль каждого из компонентов Horizon View, исследуя как он вписывается в общую инфраструктуру, её роль и преимущества, которые они привносят. Когда мы объясним все понятия верхнего уровня, мы погрузимся глубже в то, как работают конкретные компоненты. По мере работы во всех разделах мы также будем высвечивать некоторые наилучшие практические приёмы, а также некоторые полезные подсказки и ловкие приёмы по ходу действия.
Также мы рассмотрим некоторые технологии сторонних производителей, которые интегрируются и дополняют Horizon View, например, антивирусные решения, технологии ускорения систем хранения, а также высококлассные графические решения, которые помогают предоставить законченное всеобъемлющее решение.
После прочтения данной главы вы будете способны описывать каждую компоненту и то, какую роль она играет в рамках общего решения, а также зачем вам нужно её применять.
Введение в ключевые компоненты HorizonДля начала мы хотим ознакомить вас, на верхнем уровне, с основным ядром инфраструктуры компонентов и архитектуры, которая составляет продукт Horizon View. Мы начнём с архитектуры верхнего уровня, как она отображена на следующей схеме, прежде чем погрузимся в подробности каждой части:
Рисунок 1
Все описанные на данном рисунке компоненты VMware Horizon входят в общий состав как часть лицензионного продукта, а их доступные вам свойства зависят от того имеете ли вы стандартную, расширенную или корпоративную редакцию.
Также полезно запомнить, что лицензирование Horizon также содержит лицензии ESXi и vCenter для поддержки возможности развёртывания всего ядра инфраструктуры хостинга. Вы можете развёртывать столько хостов ESXi и серверов vCenter, сколько вам потребуется для размещения вашей инфраструктуры рабочих мест.
Обзор архитектуры верхнего уровняВся архитектура Horizon View изящно непосредственна для понимания, так как она основывается на стандартных продуктах VMware vSphere (ESXi и vCenter). Поэтому, если у вас имеются достаточные навыки и опыт работы с этой платформой, тогда вы уже около середины пути. < Прим. пер.: с VMware vSphere можно ознакомиться в нашем переводе книги Г. Б. Абхилаша и Ребекки Фитцхью Изучение VMware vSphere. >
Horizon View строится поверх инфраструктуры vSphere, получая преимущества некоторых свойств гипервизора ESXi и сервера vCenter. Horizon View требует добавления ряда виртуальных машин для выполнения различных родей и функций.
Общее представление архитектуры View для доставки виртуальных рабочих мест отображено на следующей схеме:
Рисунок 2
Компоненты View работают в качестве приложений которые установлены в операционной системе Microsoft Windows Server, за исключением Access Point , который является закалённым Linux устройством, поэтому он может реально работать также на физическом оборудовании. Однако, существует великое множество доступных преимуществ в случае, если вы выполняете его на виртуальных машинах, например предоставляющих HA (High Availability, высокую доступность) и DR (Disaster Recovery, восстановление после сбоев), а также обычно сокращение стоимости, которого можно достичь за счёт виртуализации.
Последующие разделы обсудят каждый из этих компонентов/ ролей общей архитектуры View более подробно, начиная с сервера соединений Horizon View.
Сервер соединений Horizon ViewHorizon View Connection Server (сервер соединений Horizon View), также иногда называемый Connection Broker (посредником соединений) или View Manager (менеджером View), является центральным компонентом всей инфраструктуры View. Его первейшая роль заключается в соединении пользователя с его виртуальным рабочим местом посредством выполнения аутентификации пользователя и последующей доставки соответствующих ресурсов на основании профиля пользователя и предоставленных пользователю прав. После выполнения регистрации к вашему виртуальному рабочему месту, именно сервер соединений то, с чем вы взаимодействуете.
Как работает сервер соединений?
Обычно пользователь подключается к своей машине виртуального рабочего места со своего оконечного устройства после запуска клиента View, однако ровно также он может использовать доступ на основе браузера. Мы рассмотрим клиент View и прочие методы доступа в Главе 10, Опции клиента Horizon View.
Итак, как же работает процесс регистрации? После запуска клиента View (показанного как 1 на следующей схеме), пользователь вводит подробности своих идентификационных данных сервера соединений View, которые в свою очередь отвечают ( 2 ) запросом у него предоставления подробностей его сетевой регистрации (его имя пользователя и пароль в домене AD , Active Directory ).
Полезно отметить, что Horizon View в настоящее время поддерживает следующие различные уровни функциональности домена AD:
Windows Server 2003
Windows Server 2008 and 2008 R2 < Прим. пер.: как следствие и Zentyal 4 >
Windows Server 2012 and 2012 R2
Основываясь на предоставленных пользователю правах, эти полномочия аутентифицируются AD ( 3 ) и, если она успешна, пользователь может продолжить процесс входа. В зависимости от того, какие права он имеет, этот пользователь может увидеть экран запуска, который отобразит ряд различных иконок машин виртуальных рабочих мест, которые доступны ему для входа. Эти иконки рабочих мест представляют пулы рабочих столов, которые пользователь имеет право применять.
Обычно пул является коллекцией аналогичных машин виртуальных рабочих мест; например, это может быть пул для вашего департамента маркетинга в котором машины виртуальных рабочих мест содержат определённые приложения/ программное обеспечение для этого подразделения. Мы подробнее обсудим пулы рабочих мест в Главе 7, Управление и настройка пулов рабочих столов.
После аутентификации менеджер View или иначе сервер соединений делает запрос к серверу vCenter ( 4 ) для создания машины виртуального рабочего места, а vCenter затем делает вызов ( 5 ) либо к View Composer (если вы используете Linked Clones, присоединённые клоны), либо создаёт Instant Clone (моментальный клон), применяя функцию ВМ vSphere Fork (разветвления) для запуска построения процесса этого виртуального рабочего места если нет уже доступного для данного пользователя, чтобы он мог в нём зарегистрироваться.
Когда процесс построения завершён и машина виртуального рабочего места доступна конечному пользователю, она отображается/ предоставляется внутри окна клиента View ( 6 ) с применением выбранного протокола отображения (PCoIP, Blast или RDP).
Этот процесс схематично описывается на следующей диаграмме:
Рисунок 3
Существуют другие способы развёртывания решений VDI, которые не требуют посредника (broker) соединений, хотя вы и можете выдвинуть аргумент, что строго говоря, это не истинное решение VDI. Именно так в действительности выглядели первые решения VDI, и они просто позволяли пользователю соединяться напрямую с его собственным виртуальным рабочим местом через RDP. Если вы думаете об этом, тогда действительно у вас должны быть некоторые определённые случаи использования чтобы делать именно это.
Например, если у вас имеется большое число удалённых подразделений или офисов, вы можете развернуть локальную инфраструктуру, позволяя пользователям продолжать работать в случае выхода из строя глобалной сети или плохого сетевого взаимодействия между таким подразделением и головным офисом. Требующаяся инфраструктура была бы подмножеством того, что вы разворачиваете централизованно чтобы сохранить минимальную стоимость.
Просто так получилось, что VMware тоже думал о подобном варианте применения и имеет решение, которое называется Brokerless View (View с потерей посредника), которое применяет встраиваемый модуль VMware Horizon View Agent Direct Connection (прямого соединения агента View VMware Horizon) для непосредственного соединения с машиной виртуального рабочего места без необходимости в сервере соединений. Однако, не забывайте что в среде Horizon View сервер соединений View предоставляет большую функциональность и при этом делает намного больше чем простое соединение пользователя к рабочему столу, как мы увидим позже в этой главе.
Как мы уже отмечали ранее, сервер соединений Horizon View работает как приложение на сервере Windows, который в свою очередь может быть либо физической, либо виртуальной машиной. Работа в качестве виртуальной машины имеет множество преимуществ: например, это подразумевает что вы можете легко добавлять свойства высокой доступности, которые критичны для данного окружения, если вы можете потенциально иметь сотни, или может быть даже тысячи машин виртуальных рабочих мест, работающие на отдельном сервере хоста.
Одновременно с посредническим соединением между пользователями и машинами виртуальных рабочих мест, сервер соединений также работает с сервером vCenter над управлением машинами виртуальных рабочих мест. Например, при использовании присоединённых или моментальных клонов и включении виртуальных рабочих столов, эти задачи инициируются сервером соединений, однако они исполняются на уровне вашего сервера vCenter.
Теперь так как мы должны рассмотреть в следующем разделе, чем является сервер соединений и как он работает, мы собираемся взглянуть требования, которые необходимы для его работы.
Минимальные требования для сервера соединений?
Для установки сервера соединений View вам необходимо обеспечить следующий необходимый минимум требований для работы физической или виртуальной машин:
Требования к аппаратным ресурсам : следующая таблица отображает требования к оборудованию:
Рисунок 4
Поддерживаемые операционные системы : сервер соединений View должен быть установлен на из операционных систем, перечисленных в следующей таблице:
Рисунок 5
В следующем разделе мы собираемся рассмотреть как работает сервер безопасности Horizon View.
Сервер безопасности Horizon ViewСервер безопасности Horizon View является другим компонентом в нашей архитектуре и является по существу другой версией сервера соединений View, однако в данное время он расположен в пределах вашей DMZ (Demilitarized Zone), поэтому вы можете разрешать конечным пользователям безопасно подключаться к их машинам виртуальных рабочих мест из внешней сети или Интернета. Как вы увидите в Главе 4, Установка и настройка Horizon View, процесс установки доброжелателен во многом как и установка вашего сервера соединений View, однако вместо последнего вы выбираете роль сервера безопасности в ниспадающем меню при запуске установки.
Вы не можете устанавливать сервер безопасности View на ту же самую машину, которая уже выполняет сервер соединений или любые другие компоненты Horizon View.
Как работает сервер безопасности?
Чтобы начать, пользователь выполняет процесс регистрации в начале в точности так же, как когда он присоединялся к серверу соединений View, главным образом потому что сервер безопасности просто другая версия сервера соединений, выполняющий подмножество функций за исключением базы данных ADAM (Active Directory Application Mode). Разница состоит в том, что соединяетесь по адресу своего сервера безопасности. Данный сервер безопасности расположен внутри вашей DMZ и взаимодействует с сервером соединений, расположенным во внутренней сетевой среде, с которой он спарен. Таким образом, теперь мы должны добавить дополнительный уровень безопасности, так как ваш внетренний сервер соединений не экспонируется вовне с основной идей, состоящей в том, что пользователи теперь могут получать достуа к своим машинам виртуальных рабочих мест извне без необходимости вначале подключаться к VPN в вашей сетевой среде.
Данный сервер безопасности должен быть присоединён к вашему Домену.
Процесс схематично объясняется на следующей диаграмме:
Рисунок 6
Ранее мы уже упоминали, что данный сервер безопасности работает в паре с сервером соединений. Спаривание настраивается путём использования единовременного пароля в процессе установки. Это во многом похоже на спаривание вашего смартфона с набором для работы со свободными руками в вашей машине с с использованием Bluetooth.
Когда пользователь регистрируется из клиента View, он теперь применяет внешний URL своего сервера безопасности для доступа к серверу соединений, который в свою очередь осуществляет аутентификацию этого пользователя в AD. Если ваш сервер соединений настроен как шлюз PCoIP, тогда он будет пропускать такое соединение и организовывать обмен информацией со своим клиентом View. Такая информация соединения позволяет клиенту View присоединяться к своему серверу безопасности и использованием PCoIP. Это показано на схеме зелёной стрелкой ( 1 ). Ваш сервер безопасности затем перенаправляет соединение PCoIP на машину виртуального рабочего места ( 2 ), создавая соединение для данного пользователя. Данная машина виртуального рабочего стола отображается/ доставляется в пределах окна клиента View ( 3 ) при помощи выбранного протокола отображения (PCoIP, Blast или RDP).
Сервер реплики Horizon ViewСервер реплики Horizon View , как следует из его имени, является репликой или копией сервера соединений View и обслуживает две цели.
Первая состоит в том, что оно делает возможной высокую доступность для вашей среды Horizon View. Наличие реплики вашего сервера соединений View означает, что если ваш сервер соединений отказывает, пользователи всё ещё могут соединяться со своими машинами виртуальных рабочих мест.
Вторая означает, что добавление серверов реплики позволяет вам масштабировать общее число пользователей и соединений виртуальных рабочих столов. Отдельный индивидуальный экземпляр сервера соединений может поддерживать 2000 соединений, поэтому добавление дополнительных серверов соединений позволяет вам добавлять другие 2000 пользователей за раз, вплоть до максимума в пять серверов соединений и 10000 пользователей для участка (pod) Horizon View. Мы обсудим архитектуру участков и блоков в Главе 3, Обсуждение проектирования и развёртывания.
При развёртывании сервера реплики вам необходимо изменить его IP адрес или обновить запись DNS чтобы она соответствовала данному серверу если вы не применяете балансировщик нагрузки.
Как и в случае с сервером безопасности, вы увидите в Главе 4, Установка и настройка Horizon View, что процесс установки опять- таки аналогичен процессу для сервера соединений, однако на этот раз вы выбираете роль сервера реплики в ниспадающем меню с различными опциями ролей.
Как работает сервер реплики?
Итак, самый первый вопрос состоит в том, что же на самом деле реплицируется? Посредник (broker) соединений сохраняет всю свою информацию, относящуюся к его конечным пользователям, пулам рабочих мест и прочим относящимся к View объектам, в базе данных ADAM ( Active Directory Application Mode ). Затем, при помощи LDAP ( Lightweight Directory Access Protocol ) (он использует метод, аналогичный тому, который AD применяет для репликации), эта информация View копируется с вашего оригинального сервера соединений на ваш сервер реплики.
Так как оба сервера, соединений и реплики, теперь идентичны, если ваш сервер соединений отказывает, тогда вы по существу имеете резервную копию, которая вступает в игру, следовательно конечные пользователи могут продолжить соединяться со своими машинами виртуальных рабочих мест.
В точности так же, как и для прочих компонент, вы не можете установить роль сервера реплики на ту же самую машину, которая выполняет сервер соединений или любые другие компоненты Horizon View.
Сервер регистраций Horizon View и True SSOСервер регистраций Horizon View является последним компонентом который является частью опций установки вашего сервера соединений Horizon View, и выбирается из ниспадающего меню вашего окна опций установки. Что же делает сервер регистраций?
Horizon 7 встречает введение новой функции, называемой True SSO . True SSO является решением, которое делает возможной аутентификацию пользователя в среде Microsoft Windows без необходимости ввода его полномочий AD. Он интегрируется в другой продукт VMware, менеджер идентичности VMware, который составляет часть как расширенной, так и корпоративной редакций Horizon 7.
Его задание состоит в расположении между сервером соединений и Microsoft Certificate Authority, тем самым запрашивая временные сертификаты из его запаса сертификатов (ertificate store).
Процесс схематически объясняется на следующей диаграмме:
Рисунок 7
Пользователь вначале регистрируется в менеджере идентичности VMware, либо при помощи мандата полномочий или другими методами аутентификации, которые таковы:
адаптивная аутентификация RSA
основанные на стандартах идентификации сторонних производителей
По успешному завершению аутентификации, прошедший её пользователь будет представлен машинами виртуальных рабочих мест или размещённых приложений, которые он имеет право применять. Такие пользователи будут запускать всё из перечисленного простым двойным щелчком мыши, который будет запускать его клиента Horizon View, как это показано красной стрелкой ( 1 ) на предыдущей диаграмме. Пользовательские полномочия затем передаются на сервер соединений ( 2 ), который в свою очередь проверяет их, отправляя условие SAML ( Security Assertion Markup Language ) назад менеджеру идентичности ( 3 ).
Если пользовательские полномочия удостоверены, тогла сервер соединений пропускает их на сервер регистраций ( 4 ). Сервер регистраций затем выполняет запрос в Microsoft Certificate Authority (CA) для создания временного сертификата с коротким сроком существования для использования таким пользователем ( 5 ).
При помощи созданного теперь сертификата, сервер соединений предоставляет его операционной системе данной машины виртуального рабочего места ( 6 ), которая в свою очередь подтверждается Active Directory в том является или нет данный сертификат подлинным (authentic) ( 7 ).
Когда получено подтверждение в подлинности (authentication) данного сертификата, тогда пользователь регистрируется в его машине виртуального рабочего места, которое будет отображено/ доставлено в его клиенте View с помощью ранее выбранного протокола отображения ( 8 ).
True SSO поддерживается всеми сопровождаемыми Horizon 7 операционными системами рабочих мест, в том числе и Windows Server 2008 R2 и Windows Server 2012 R2. Он также поддерживает протоколы доставки PCoIP, HTML и Blast Extreme.
Точка доступа VMwareТочка доступа (Access Point) VMware выполняет в точности ту же функциональность, что и сервер безопасности View, что отображено на схеме ниже, с одной ключевой разницей. Вместо того, чтобы быть приложением Windows или другой ролью сервера соединений, точка доступа является отдельным виртуальным устройством (appliance), которое исполняется в устойчивой, закрытой операционной системе Linux:
Рисунок 8
Хотя устройство точки доступа (Access Point Appliances) предоставляет практически ту же функциональность, что и сервер безопасности, он всё ещё не полностью заменяет его, в особенности, если у вас имеется промышленное применение, которое использует сервер безопасности для внешнего доступа. Вы можете продолжать применять эту архитектуру.
Если вы используете функцию безопасного туннеля, безопасный шлюз PCoIP или функциональность шлюза безопасности Blast своего сервера соединений, тогда эти свойства будет необходимо запретить в сервере соединений в случае, когда вы применяете точку доступа. По умолчанию они все разрешены в устройствах точки доступа (Access Point Appliances).
Основная разница между устройствами точки доступа и сервером безопасности состоит в способе масштабирования. Ранее, вы должны были спаривать сервер безопасности с сервером соединения, что являлось ограничением, но теперь это уже не так. Таким образом, теперь вы можете масштабировать столько устройств точек доступа, сколько требуется вашей среде, с максимальным пределом, состоящим в приблизительно 2000 сеансов для одного устройства. Добавление дополнительных устройств просто является вариантом применения данного устройства, так как устройства не зависят от прочих устройств и не взаимодействуют с ними. Они взаимодействуют напрямую с серверами соединений. < Прим. пер.: слишком категоричное утверждение. Прогресс не стоит на месте, и современные устройства, например, Wyse 3030LT, могут выполнять разгрузку (offload) сервера, осуществляя безопасное взаимодействие друг с другом в случае такой необходимости. Например, при общении пользователей в Skype, нет необходимости 100% посредничества сервера, обмен между терминалами теперь может осуществляться напрямую. При этом может применяться защищённый канал. Понятно, что важнейшая часть задачи обмена сертификатами безопасности все ещё лежит на сервере, но основной объём обмена его минует! На момент перевода (октябрь 2016), данная функциональность Wyse пока реализована только у Citrix (HDX RealTime Optimization Pack 2.1), надеемся на оперативность VMWare! >
Постоянные и временные рабочие столыВ данном разделе мы собираемся обсудить различные типы назначений рабочих мест и способы доставки машин виртуальных рабочих столов конечному пользователю. Это важные конструктивные соображения, так как выбранный метод может потенциально влиять на требования хранения (обсуждаемые в следующем разделе), инфраструктуру размещения, а также на то, какие технологии или решения используются для предоставления данных рабочих мест конечным пользователям.
Один из всегда задаваемых вопросов состоит в том, должны ли вы развёртывать выделенные (постоянные) назначения или плавающие (временные) присваивания рабочего стола. Рабочие места могут либо быть индивидуальными виртуальными машинами, которые выделяются некоторому пользователю на основе 1:1 (как мы имеем в случае применения физических рабочих мест, когда каждый пользователь эффективно владеет своим собственным рабочим столом), или же пользователь имеет новое, комплексное рабочее место которое предоставляется, строится, персонифицируется , а затем назначается во время регистрации. Машины виртуальных рабочих мест произвольно выбираются из пула доступных рабочих столов, которые данный конечный пользователь имеет право использовать.
Если вы помните, ранее в Главе 1, Введение в VDI и VMware Horizon 7, мы обсуждали построение составного рабочего места. Именно эта модель применяется для построения данного рабочего места.
Две более подробно обсуждаемые опции следующие:
Постоянные рабочие столы : Пользователям выделяются рабочие столы, которые располагают всеми их документами, приложениями и установками в промежутках между сеансами. Эти рабочие столы статично выделяются при первом подключении конкретного пользователя, а затем используются для всех последующих сеансов. Никаким другим пользователям не разрешается осуществлять доступ к этому рабочему столу.
Временные рабочие места : Пользователи могут соединяться с различными рабочими местами из имеющегося пула при каждом своём соединении. Приложения среды, или данные пользователя не сохраняются в них между сеансами, а вместо этого доставляются когда конкретный пользователь регистрируется на своём конкретном рабочем месте. Данное рабочее место обновляется или сбрасывается после окончания сеанса этого пользователя.
При большинстве вариантов использования временные конфигурации являются наилучшим выбором; основная причина этого в том, что в данной модели у вас нет необходимости строить все такие рабочие места заранее для каждого пользователя. Вам только необходимо включать виртуальное рабочее место тогда, когда это требуется. Все пользователи начинают с одного и того же базового рабочего стола, который после этого персонифицируется перед его предоставлением. Это помогает с одновременными интенсивностями. Например, вы можете иметь в своей организации 5000 человек, однако только 2000 необходимо иметь доступными виртуальные рабочие места. Иначе вам нужно было бы строить рабочие столы для каждого из этих 5000 пользователей, которые могли бы постоянно выполнять регистрацию, что приводило бы в результате к большей серверной инфраструктуре и, несомненно, намного большей ёмкости хранения. О хранилищах мы поговорим в следующем разделе.
Одна из вещей, которая используется чтобы находиться на острие гвоздя программы для временных рабочих мест сосредотачивалась вокруг того как предоставлять приложения данным машинам виртуальных рабочих мест. Теперь, когда решения расслоения приложений подобные VMware App Volumes входят в русло основной технологии, данные приложения могут предоставляться по запросу по мере построения рабочих мест и регистрации в них пользователей.
Другой предмет, который мы часто рассматриваем как несколько запутывающий, состоит в разнице между выделенными и плавающими рабочими местами, а также то, как приспосабливаются присоединяемые клоны (Linked Clones). Присоединяемые клоны, полные клоны и моментальные клоны это не то, о чём мы говорим когда мы обсуждаем выделенные или плавающие рабочие места. Под операциями клонирования понимают то, как строится и предоставляется рабочее место, в то время как термины постоянный и временный относятся к тому, каким образом некоторые рабочие места назначаются конечному пользователю.
Выделенные и плавающие рабочие места это всё полностью про назначение пользователя или будет ли пользователь иметь выделенный рабочий стол, или же он будет выделяться из пула по запросу. Присоединённые клоны и полные клоны являются свойствами Horizon View, который применяет View Composer (компоновщика View) для создания конкретного образа рабочего стола для каждого пользователя из главного или родительского образа. Это означает, что вне зависимости от наличия плавающих или выделенных назначений рабочего стола, данная машина виртуального рабочего места всё ещё может продолжать быть присоединённым или полным клоном.
Итак, суммируем преимущества :
Это более эффективно с операционной точки зрения. Все пользователи начинают с одного или же меньшего числа образов рабочих столов. Организация понижает общее число образов и управление исправлениями.
Это более эффективно с точки зрения хранения. Общий объем требуемый для размещения образов временных рабочих мест будет меньше чем в случае сохранения отдельных экземпляров уникальных образов рабочих столов пользователя.
В следующем разделе мы собираемся глубже рассмотреть общий вид доступных в Horizon 7 технологий клонирования, стартуя с компоновщика (Composer) Horizon View и присоединяемых клонов и основных преимуществ, предоставляемых данной технологией.
Horizon View Composer и связанные клоныОдна из основных причин, по которой проект виртуальных рабочих мест отказывает в доставке, или даже не выходит на блок запуска, уходит в них к вашей перегруженной инфраструктуре и к требованиям для хранения. В частности, запросы хранилища часто рассматриваются как тяжкое бремя с огромными затратами, которые могут приписываться тому факту, что люди подходят к проекту VDI таким же образом, как они бы подходили к требованиям среды физических рабочих мест. Это означало бы, что каждый пользователь получает его собственный выделенный рабочий стол и пространство жёсткого диска, который приходит вместе с ним, хотя и в виде виртуального диска; это затем масштабируется на всё сообщество пользователей, с тем, чтобы каждому пользователю был выделен рабочий стол с неким хранилищем.
Давайте рассмотрим пример. Если у вас имеется 1000 пользователей и для каждого пользовательского рабочего стола выделяется 250ГБ, вам может понадобиться 1000 * 250ГБ = 250ТБ для всего окружения виртуальных рабочих столов. Такое огромное хранилище только для рабочих столов и может в результате приводить к значительной стоимости инфраструктуры, что скорее всего будет означать, что стоимость развёртывания такого объёма хранения в вашем центре обработки данных будет представлять данный проект не эффективным в отношении стоимости в сравнении с применениями физических рабочих мест.
Требуется новый подход к развёртыванию хранилища для среды рабочих мест, и это именно то, где вступают в игру связанные клоны. Вкратце, связанные клоны (Linked Clones) разработаны с целью уменьшения общего требуемого дискового пространства, а также для упрощения развёртывания образов и управления ими для множества машин виртуальных рабочих мест, делая их их централизованными и более простыми процессами.
Технология связанных клоновНачиная с верхнего уровня, клон является копией существующей или родительской виртуальной машины. Такая родительская виртуальная машина ( ВМ , VM - virtual machine) обычно является вашим золотым построением, из которого вы хотите создавать новые машины виртуальных рабочих мест. Когда клон создан, он становится отдельной, новой машиной виртуального рабочего места со своей собственной уникальной идентичностью. Такой процесс не уникален для Horizon View; в действительности это функция vSphere и vCenter, а в случае Horizon View мы добавляем другой компонент, компоновщик (Composer) View, с целью управления такими образами рабочих мест. Существует два типа клонов, которые мы можем применять, а именно: полный клон и связанный клон. В последующих разделах мы поясним существующую разницу.
Полные клоныКак подразумевает его название, диск полного клона является точной, полноразмерной копией своей родительской машины. Когда такой клон создан, его машина виртуального рабочего стола уникальна, с его собственной идентичностью, причём она не имеет обратных ссылок на свою родительскую виртуальную машину, с которой она была клонирована. Она может работать как полностью независимый рабочий стол со своими собственными правами и не полагаться на свою родительскую виртуальную машину.
Однако, поскольку он является полноразмерной копией, будьте уверены, что он заберёт тот же самый объём хранения, что и его родительская виртуальная машина, что возвращает нас к обсуждавшейся ранее в данной главе дискуссии о требованиях к ёмкости хранения. Применение полного клона потребует большего объёма хранения и возможно повлечёт более высокие стоимости инфраструктуры.
Прежде чем полностью отбросить саму идею использования полного клонирования машин виртуальных рабочих столов, существуют некоторые варианты использования, полагающиеся на такую модель. Например, если вы применяете VMware Mirage для предоставления в качестве базового уровня своих операционных систем, на сегодняшний день он работает только с полными клонами и выделенными машинами виртуальных рабочих столов Horizon View.
Если у вас имеются разработчики программного обеспечения, тогда им, возможно, необходимо устанавливать специализированные инструменты и код проверенный код на рабочий стол и, более того, необходимо владеть своим рабочим столом. Или же, может оказаться, что выполняемые в вашей среде приложения нуждаются в выделенном рабочем столе из- за варианта лицензирования такого приложения.
Связанные клоныТеперь, обсудив полные клоны, мы собираемся поговорить о развёртывании машин виртуальных рабочих мест с помощью связанных клонов (Linked Clones).
При использовании связанных клонов, создаётся диск приращения и затем используется данной машиной виртуального рабочего места для хранения различающихся данных между его собственной операционной системой и операционной системы его родительской машины виртуального рабочего стола. В отличие от метода полного клона, связанный клон не является полной копией всего исходного виртуального диска. Термин связанный клон обозначает тот факт, что связанный клон всегда будет обращаться к своему родительскому для выполнения своих действий, так как он продолжает читать с диска реплики. Обычно, данная реплика является копией снимка его родительской машины виртуального рабочего стола.
Связанный клон сам по себе может потенциально расти до того же самого размера, что имеет диск реплики, если вы ему позволите это. Однако вы можете установить пределы на то, до какого размера он может расти и должен ли он становиться настолько большим, после чего вы можете обновлять свои виртуальные рабочие столы, которые привязаны к нему. Естественно, это запускает процесс клонирования снова из его первоначального моментального снимка. < Прим. пер.: подробнее о работе со снимками, на примере ZFS, см. Моментальные снимки и клоны перевода книги ZFS Майкла В. Лукаса и Аллана Джуда. >
Сразу после развёртывания связанного клона виртуального рабочего стола, существующая разница между его родительской виртуальной машиной и только что созданной машиной виртуального рабочего места чрезвычайно мала и следовательно уменьшает ваши требования к ёмкости хранения в сравнении с объёмом полного клона. Это именно то, почему связанные клоны более эффективны в отношении пространства, чем их браться полные клоны.
Лежащая в основе связанных клонов технология более похожа на моментальный снимок, чем на клон, однако с единственной ключевой разницей: компоновщиком View. С помощью компоновщика (Composer) View вы можете иметь более одного активного моментального снимка, присоединённого к своему родительскому диску виртуального рабочего места. Это позволяет вам создавть множество образов виртуальных рабочих мест всего лишь из одного родителя.
Наилучшей практикой было бы развёртывание окружения через связанные клоны с целью уменьшения общих требований хранения. Однако, как мы уже упоминали, существуют некоторые варианты применения, при которых вы вынуждены использовать полные клоны.
Один момент, о котором следует знать, который всё ещё связан с самим хранилищем, заключается в том, что больше чем о ёмкости, в настоящее время мы говорим о производительности. Все рабочие места связанного клона собираются выполнять чтение из одной реплики и тем самым будут приводить к высокому значению IOPS ( Input /Output Operations Per Second ) того хранилища, где обитает данная реплика. В зависимости от архитектуры вашего пула рабочих столов, вы скорее всего будете располагать более чем одной репликой, так как обычно имеете более одного хранилища данных. Это в свою очередь зависит от общего числа пользователей, которым будет управлять данная архитектура вашего решения. Мы обсудим подробности в Главе 3, Обсуждение проектирования и развёртывания. < Прим. пер.: советуем также ознакомится с основными приёмами настройки производительности на примере ZFS в Главе 8, Производительность перевода книги ZFS для профессионалов.Майкла В. Лукаса и Аллана Джуда. >
В Horizon View у вас имеется возможность выбирать местоположение вашей реплики. Одна из рекомендаций состоит в том, что ваша реплика должна располагаться на быстром хранилище, таком как локальный SSD. < Прим. пер.: помимо рекомендованных нами к ознакомлению в сноске предыдущего параграфа, стоит также напомнить об уверенно входящем на современный рынок интерфейсе NVMe, который благодаря отказу от CHS адресации к хранимым данным позволяет достигать истинного параллельного доступа, например, к тем же самым чипам SSD, заменяя собой SAS/SATA. Подробнее о численном сопоставлении в разделе NVMe уже упомянутого перевода ZFS для профессионалов. Представить разнообразие современных продуктовых реализаций NVMe может помочь обзор серверов Huawei с поддержкой NVMe (октябрь 2016). >
Альтернативными решениями были бы реализации некоторых видов технологий ускорения хранилищ в отношении IOPS. Horizon View также имеет своё собственное встроенное решение, называемое VSA ( View Storage Accelerator , ускоритель хранилища View) или CBRC ( Content Based Read Cache , кэш чтения на основе содержимого). Данная функциональность позволяет вам выделять до 2ГБ оперативной памяти лежащего в основе сервера хоста ESXi, которые могут быть использованы в качестве кэша для наиболее часто читаемых блоков. Поскольку мы обсуждаем загрузку загрузку операционных систем рабочего стола, требуются именно эти блоки; так как они будут браться из оперативной памяти, данный процесс ускоряется.
Ускоритель хранилища View по умолчанию включён при использовании моментальных клонов и не может настраиваться.
Другим решением является VCAI ( View Composer Array Integration , интеграция массива компоновщика View), которое делает возможным процесс разгружать в вашем массиве хранения сам процесс построения связанных клонов и его внутренний механизм моментальных снимков вместо забора тактов ЦПУ с вашего сервера хоста.
Существует также большое число прочих решений сторонних разработчиков, которые решают проблему узкого места производительности хранилища, например, Atlantis Computing и их продукт ILIO, или же применение массивов all-flash, таких как Tintri.
В следующем разделе мы мы заглянем глубже в то как работают связанные клоны.
Как работают связанные клоны?Первый шаг состоит в создании вашего главного образа машины виртуального рабочего места, который должен содержать не только выбранную операционную систему, основные приложения и настройки, но также и компоненты агента Horizon View. Эта машина виртуального рабочего места станет вашей родительской ВМ, или вашим золотым образом. Мы раскроем процесс построения в Главе 6, Построение и оптимизация ОС виртуального рабочего стола.
Данный образ теперь может применяться в качестве шаблона для создания любой новой последовательности машин виртуальных рабочих мест.
Золотой образ или родительский образ не может быть шаблоном ВМ.
Общий вид процесса создания присоединённого клона отображён на следующей схеме:
Рисунок 9
Когда вы создали свой родительский рабочий стол, или золотой образ ( 1 ), вы затем берёте моментальный снимок ( 2 ). Когда вы создаёте свой пул рабочих мест, этот снимок выбирается и становится репликой ( 3 ) и будет установлен доступным только для чтения. Каждый виртуальный рабочий стол ссылается назад на данную реплику; отсюда происхождение термина присоединённый клон . Когда вы запускаете создание своих виртуальных рабочих мест, вы создаёте присоединённые клоны, которые являются уникальными копиями для каждого пользователя.
Попытайтесь не создавать слишком много снимков для ваше родительской ВМ. Я бы рекомендовал иметь лишь небольшое их количество, в противном случае это может повлиять на производительность ваших рабочих мест сделать слегка сложнее понимание какой снимок чем является.
Что строит View ComposerВ процессе построения вашего образа и после того как был создан конкретный диск реплики, компоновщик View (View Composer) создаёт ряд других виртуальных дисков, включая присоединённый клон (диск операционной системы) сам по себе. Это описано в последующих разделах.
Диск связанного клона
Не желая утверждать очевидное, тем не менее, самый главный создаваемый диск это сам по себе диск присоединённого клона (Linked Clone disk). Такой диск присоединённого клона в основном пустой контейнер виртуального диска, который подключается к вашей машине виртуального рабочего стола как только пользователь регистрируется и запускается его рабочий стол.
Этот диск начинается с малого размера, однако со временем растёт в зависимости от блоковых замен, запрашиваемых от вашего диска реплики операционной системой машины виртуального рабочего стола. Такие блоковые замены сохраняются в диске присоединённого клона, а этот диск иногда также называется диском дельт или диском приращений, благодаря тому факту, что он хранит все добавочные изменения, которые операционная система данного рабочего стола запрашивает от родительской ВМ. Как упоминалось ранее, данный диск присоединённого клона может расти до установленного максимального размера, равного размеру родительской ВМ однако следуя практическому опыту, вы никогда не позволите этому случиться. Обычно вы можете вы можете ожидать, что ваш диск присоединённого клона только до нескольких сотен МБ. Мы обсудим это позже в разделе Понимание того как работает процесс связанного клона.
Диск реплики установлен доступным только для чтения и применяется в качестве первичного диска. Любые записи и/ или блочные замены, запрашиваемые вашим виртуальным рабочим местом записываются/ считываются с его диска присоединённого клона.
Практический опыт рекомендует выделять хранилище tier-1, например, с локальными дисками SSD для размещения такой реплики, поскольку все виртуальные рабочие места в вашем кластере будут ссылаться на этот единственный, доступный только для чтения файл VMDK в качестве своего базового образа. < Прим. пер.: см. ссылку на более раннее замечание о преимуществах интерфейса NVMe перед SAS/SATA. > Сохранение его в вершине стека улучшает производительность, уменьшая общее число IOPS, требуемых при рабочей нагрузке VDI. Как мы уже упоминали в самом начале данного раздела, стоимости хранения кажутся затратными для VDI. Присоединённые клоны уменьшают бремя ёмкости хранения, однако они выдвигают свои требования получать огромное количество IOPS от одного LUN.
Постоянный диск или диск данных пользователя
Свойство постоянного диска (persistent disk) компоновщика View позволяет вам настроить отдельный диск который содержит только данные конкретного пользователя и настройки пользователя, а не саму операционную систему. Это позволяет сохранять любые пользовательские данные при ваших обновлениях или вносить изменения в сам диск операционной системы, например при действии реконструкции.
Стоит отметить, что постоянный диск именуется именем его ВМ, а не именем пользователя, поэтому имейте это в виду, если вы хотите подключать такой диск к другой ВМ.
Этот диск также используется для хранения профиля его пользователя. Имея это в виду, вам необходимо настраивать его размер надлежащим образом, гарантируя что он достаточно велик для хранения для любого типа данных профиля пользователя, например оценок виртуального рабочего стола (Virtual Desktop Assessments). Это другая причина, того, почему будет хорошей мыслью выполнять оценку рабочего места, которую мы рассмотрим в Главе 3, Обсуждение проектирования и развёртывания, с тем, чтобы вы могли строить картинку того какие профили рабочего места вашего пользователя и требования данных пользователя каким образом выглядят.
Одноразовый диск
При помощи опции одноразового диска (disposable disk), Horizon View создаёт фактически временный диск, который удаляется при каждом выключении его пользователем своей машины виртуального рабочего места.
Если вы знаете о том, как операционная система рабочего стола Windows работает и какие файлы она создаёт, то существуют определённые файлы, которые используются на временной основе. Файлы подобные временным файлам интернета или страницы Windows это только пара таких примеров. Так как эти файлы являются только временными, зачем вам сохранять их? При помощи Horizon View данный тип файлов перенаправляется в одноразовый диск и затем удаляются после выключения данной ВМ.
Horizon View предоставляет данный параметр для наличия одноразового диска у каждого виртуального рабочего места. Такой одноразовый диск применяется для хранения временных файлов, которые будут удалены после выключения данного виртуального рабочего места. Это те файлы, которые вы не хотите хранить на диске основной операционной системы, поскольку они могут потреблять ненужное дисковое пространство. Например, файлами на таком одноразовом диске являются такие вещи, как файлы страниц, временные файлы системы Windows, а также файлы журнала VMware.
Отметим, что здесь мы говорим о временных системных файлах, а не о файлах пользователя. Временные файлы пользователя всё ещё хранятся на диске данных этого пользователя, поэтому они могут сохраняться. Многие приложения применяют папку temp Windows для хранения файлов CAB установки, которые могут упоминаться после установки. Сказав это, вы можете захотеть удалять временные пользовательские данные для уменьшения размера образа своего рабочего места, и в этом случае вы можете обеспечить, чтобы все временные пользовательские файлы переназначались в его одноразовый диск.
Внутренний диск
Наконец, у нас имеется внутренний диск. Внутренний диск применяется для хранения важной информации о настройках, такой как пароль учётной записи данного компьютера, который будет необходим для присоединения машины этого виртуального рабочего места назад к её домену если вы обновите её присоединённые клоны. Он также используется для хранения подробностей настроек Sysprep и Quickprep . Мы рассмотрим Quickprep в Главе 6, Построение и оптимизация ОС виртуального рабочего стола.
В терминах дискового пространства, такой внутренний диск относительно невелик, в среднем примерно 20МБ. По умолчанию, конкретный пользователь может не видеть этот диск из своего Windows Explorer, поскольку он содержит важную информацию настроек, и вы не хотите чтобы он мог её удалить.
Следующая схема показывает вам общий обзор различных создаваемых типов дисков: