2012-я редакция Horizon 8 принесла с собой в жизнь десктопного виртуализатора немало изменений. Небольшая их часть является косметической, и очень многое – интереснейшими новейшими функциями, которые, бесспорно, очень хочется опробовать на практике. Поэтому, не удивительно, что задача обновления Horizon до этой версии, между прочим, ставшей доступной не так давно – 7 января 2021 года, весьма и весьма остро стоит на повестке дня.
Сегодня мы обсудим все тонкости этой процедуры, изучим требования к совместимости и другие пожелания самой современной ипостаси этого продукта, а также научимся грамотно доводить до ума постфактум проделанную работу.
Предваряя нижеследующее, заметим, что, если вы пользуетесь такой версией, чьи некоторые функции актуальной не поддерживаются, вам первоначально необходимо деинсталлировать эти функции (речь о Horizon 7.х и более старых) – далее в разделе «Подготовка к обновлению Horizon» все это подробно распишем. А также проапгрейдить весь софт на клиентах пользовательских устройств, групповые политики, операционные системы, агенты, которые используются как шаблоны в процессе клонирования, и множество других вещей, однако, не будем забегать наперед и расскажем обо всем по порядку.
Требования и совместимость
Horizon – существо стадное, и без тесной взаимосвязи с остальными компонентами среды попросту не живет. Все, что используется нами в процессе ее организации, в том числе в отношении сетей, хранилищ, поддержания НА-требований, непосредственным образом влияет на процесс доставки приложений и десктопов, и, следовательно, важно позаботиться, чтобы не было конфликтов в совместимости, а параметры системы, в целом, были в состоянии справиться с возложенными на них задачами.
Прежде всего, напомним, что максимально полный охват требований и к компонентам среды, и к сетям, к базам данных, операционным системам и даже к поддерживаемым браузерам был отражен в нашей недавней статье «Установка VMware Horizon Version 2012 от «А» до «Я»». Также, если пользуетесь такими замечательными продуктами-спутниками этого решения, как Dynamic Environment Manager, App Volumes и UAG, информация по требованиям к их последним версиям и о процедуре их обновления, как такового, содержится в статьях «VMware Dynamic Environment Manager и Horizon 8 2012», «App Volumes в Horizon 8 2012» и «Unified Access Gateway (UAG) 20.12 и Horizon 8 2012» в той же секции нашей библиотеки «VMware: Гайды по развороту и настройке».
Единственное, что ко всему там сказанному стоит добавить, это, конечно же, матрицу пути апгрейда от версии к версии Horizon:
Важно! В больших средах обновление, обычно, проходит фазово, и на его протяжении, часто, разные компоненты могут немного отставать или опережать друг друга по своей версионности. В принципе, пока система не используется, конфликтов тут не возникает (если речь о Horizon 7.7.х и выше). Однако, агенты стоит проапгрейдить как можно скорее для совпадения с версией обновленного Connection Server. Что же касается клиентов, чтобы в процессе обновления при попытке пользователя обратиться к функционалу десктопной виртуализации не было проблем, рекомендуется силовым методом ограничить доступ со старых версий (см. подраздел «Версионные ограничения при клиентском доступе» статьи «Базовые инструменты администрирования VMware Horizon Version 2012 и настройка групповых политик»).
Еще несколько важных замечаний:
- Лицензирование. Если у вас бессрочная лицензия и обновляетесь с версий, старше Horizon 2006, все равно нужно загрузить новые ключи для «восьмерки» 2006/2012;
- Сертификаты. Учтите, что при обновлении клиентов сертификация слетит на дефолтную. Как можно скорее нужно предпринять шаги по ее замещению (статья «Базовые инструменты администрирования VMware Horizon Version 2012 и настройка групповых политик», раздел «Функции Horizon Client» для Horizon Client). Если оригинальные серверы уже обладают CA-подписанными TLS-сертификатами, система импортирует их в хранилище сертификатов Windows Server. Если в процессе апгрейда сертификацию хочется заменить – см. ниже раздел «Операции постапгрейда»);
- Обновление лучше обкатывать в песочнице, или хотя бы выделить для него изолированный Connection Server, а также маленький пул десктопов с полностью отраженным функционалом, чтобы посмотреть, как все это будет выглядеть и не будет ли проблем. Только после их успешного траблшуттинга рекомендуется заливать все апгрейды на живую систему.
Важно! Дегрейд Horizon не разрешен.
Подготовка к обновлению Horizon
В процессе подготовки к апгрейду до Horizon 2012 нам, по пунктам, нужно сделать следующее:
- Проверить компоненты среды и самого Horizon, используемых ВМ или физических машин на совместимость с 2012-й версией. Если vCenter Server и ESXi-хосты нуждаются в обновлении, привести их в порядок;
- Проверить наличие актуальных валидных лицензий и сертификатов;
- Убедиться, что есть данные учетной записи пользователя домен-аккаунта с привилегиями администратора на всех хостах, с которых будет инициироваться апгрейд;
- Сделать снэпшоты всех машин, участвующих в процессе и заскриншотить или скопировать в текстовый документ все глобальные настройки, которые были заданы на консоли старой версии, а также все настройки по каждому инстансу компонентов Horizon;
- С помощью утилиты «vdmexport.exe» создать бэкап Horizon LDAP;
- Записать IP-адрес и системные имена машин, на которых проинсталлирован Connection Server;
- Скачать новые версии всех компонентов десктопной виртуализации и GPO отсюда (если есть нужда, по этой же ссылке можно найти обновление vCenter Server и vSphere Hypervisor (ESXi), а также Workspace ONE, DEM, App Volumes и UAG). А инсталлятор нового клиента для пользователей – отсюда;
- Если используете балансировщик нагрузки, предварительно отключите сервер, который хостит не подлежащие апгрейду инстансы Connection Server.
Если установлены Horizon Toolbox, предварительно их нужно деинсталлировать:
Деинсталляция более не поддерживаемых и устаревших функций
Актуально для апгрейда Horizon с версий, более старых, чем 7.х. Список таких функций (состоянием на Horizon 8 2012):
- Security Server. До обновления Connection Server разворачивается заменяющее UAG Аppliance (см. статью «Unified Access Gateway (UAG) 20.12 и Horizon 8 2012») и затем деинсталлируются серверы безопасности;
- JMP Server. Сначала удаляем информацию общего доступа о конфигурации DEM для сервера JMP, для чего из консоли Horizon кликаем на «JMP Configuration» (было в старой консоли), и заходим на вкладку «UEM/DEM». Выбираем строку с этой информацией и нажимаем «Delete». Далее открываем консоль функций в Microsoft Windows Program («Start» – «Settings» – «System» – «Apps and Features»), выбираем «VMware JMP» из списка приложений и кликаем «Uninstall», после чего проходим до конца предложенный визард;
- View Composer. До начала процедуры апгрейда нужно убрать View Composer и удалить все связанные клоны десктопных пулов и ферм. Для этого в консоли Horizon заходим в «Inventory» и кликаем на «Desktops», выбираем связанный клон десктопного пула и нажимаем «Delete». Повторяем процедуру для всех имеющихся связанных клонов. Далее проходим в «Servers» «Settings» левой панели и на вкладке «vCenter Servers», выбираем инстанс, с которым связан View Composer, нажимаем кнопку «Edit», переходим на вкладку «View Composer» и под «View Composer Server Settings» маркируем «Do not use View Composer», после чего сохраняем настройку кнопкой «ОК».
Процедура апгрейда Horizon до версии 8 2012
На самом деле, когда мы говорим об обновлении Connection Server, это означает, что у нас должна быть на руках нужная новая версия продукта, скаченная по инструкциям из раздела «Подготовка к обновлению Horizon» выше, и мы просто запускаем инсталлятор, после чего прокликиваем его визард кнопочкой «Next».
С обновлением агентов – аналогично. Активируем инсталлятор на всех золотых образах и полных клонах, после чего уже будем иметь на руках новую версию Horizon Agent. Ниже приведем несколько интересных частных случаев и полезных рекомендаций, а также зафиксируем план предстоящих нам работ:
- Обновляем менеджеры App Volumes (если пользуетесь). Они должны обновиться до апгрейда Connection Server (инструкция по этому вопросу здесь);
- Грейдим инстансы Connection Server. Обновление Connection Server выполняется сначала для первого инстанса, а уже затем все остальные можно запускать на апгрейд хоть параллельно (но это – для Horizon 2006, более старые версии все равно требуют последовательной работы). Все ноды в кластере Connection Server должны быть запущены (чтобы схема мастер-ноды была доступна);
- Обновляем шаблоны ADMX групповых политик;
- Деинсталлируем агенты App Volumes и DEM (если есть);
- Обновляем Horizon Agent;
Важно! Если VMware Tools нуждаются в обновлении, тогда деинсталлируем агенты, апгрейдим VMware Tools, а затем устанавливаем уже новой версии агент Horizon.
- Обновляем опубликованные и виртуальные десктопы;
- Апгрейдим (инсталлируем заново) консоль DEM (если нужна, см. статью «VMware Dynamic Environment Manager и Horizon 8 2012»);
- Обновляем клиенты Horizon (до апгрейда всей остальной инфраструктуры).
Важно! Все Connection Server следует обновлять в окно техобслуживания.
Обновление Connection Server
Следуем в точности процедуре, описанной в статье «Установка VMware Horizon Version 2012 от «А» до «Я»».
Обновление Connection Server в реплицируемой группе
После успешного завершения всех этапов раздела «Подготовка…» выше заходим в консоль Horizon и в левой панели в «Settings» – «Servers» кликаем на вкладку «Connection Servers». Выбираем нужный в списке и кликаем на кнопку «Disable» вверху таблицы. Далее обычным методом инсталлируем новую версию Horizon Connection Server, пройдя традиционный визард, но со следующими отличиями в задании параметров в окнах:
Сервер должен перезагрузиться в процессе – это важно! После этого заходим в консоль и включаем только что проапгрейдженный Connection Server (там же, где выключали). Далее в «Settings» левой панели в «Product Licensing and Usage» кликаем на «Edit License», после чего вводим лицензионный ключ и нажимаем «ОК». Если используется балансировщик нагрузки, включаем обновленный сервер.
Повторяем процедуру для каждого Connection Server в группе.
Важно! Все, состоящие в группе репликации, инстансы Connection Server должны быть проапгрейджены до одинаковой версии. В противном случае индикатор их здоровья на панели мониторинга покажет, что есть ошибка.
Миграция Connection Server на новую машину
Процедура подготовки к переносу Connection Server на новую ВМ аналогична подготовке к новой инсталляции с отличиями, оговоренными выше в разделе «Требования и совместимость». Чтобы смигрировать его инстанс, вначале его нужно обновить до нужной версии там, где он существовал ранее. На новой машине инсталлируем реплицированный инстанс Connection Server (указываем существующий инстанс в качестве источника шаблона).
Если нужно, деинсталлируем Connection Server на старом хосте, используя Windows-утилиту «Add/Remove Programs». Затем в консоли Horizon заходим в «Settings» – «Servers» на вкладку «Connection Servers» и проверяем, исчез ли он. Если старый сервер все еще там, вводим в командную строку следующее:
vdmadmin.exe -S -s <server_name> –r
где <server_name> – это имя хоста или IP-адрес Connection Server.
Параллельный запуск апгрейда нескольких Connection Server
При наличии множества инстансов Connection Server, чтобы ускорить процесс их обновления, после того, как обновили самый первый, можно воспользоваться возможностью параллельного запуска апгрейда. Предварительно важно убедиться, что нет проблем с репликацией Horizon LDAP, а локальные и глобальный инстансы LDAP согласованы между собой, иначе инсталлятор попросту заблокирует обновление. Сделать это можно, введя команду:
repadmin.exe /showrepl localhost:389
Важно! Если работаете с архитектурой подов, помните, что в рамках одного пода можно грейдить Connection Server в любом количестве, а вот запускать эти процессы одновременно для разных под можно только, если их не больше трех.
Сам процесс параллельного обновления аналогичен тому, что мы рассматривали выше для групп репликации.
Обновление шаблонов ADMX групповых политик
Процедура установки новой версии GPO после их загрузки с сайта VMware элементарна и весьма доходчиво во всем своем многообразии описана в нашей статье «Базовые инструменты администрирования VMware Horizon Version 2012 и настройка групповых политик», раздел «Настройка групповых политик и профилей», за той лишь разницей, что при перекопировании нужных «.admx» и «.adml»-файлов выскочит предупреждение Windows о перезаписи вместо старых. С ним следует, конечно же, согласиться.
Апгрейд Horizon Agent
Обновляем софт агента на золотом образе или шаблонной ВМ и создаем мгновенно склонированный десктопный пул либо же полный клон пула десктопов – в зависимости от нужд. Повторяем операцию для всех используемых золотых образов и шаблонных машин. С каждого обновленного золотого образа снимаем новый снэпшот. Теперь можно переходить к выполнению операции push-image для создания мгновенно склонированного пула десктопов (см. ниже в «Операциях постапгрейда»).
Если же имеем дело с автоматизированным пулом полных клонов десктопов или же предпочитаем разворачивать все вручную, грейдим агент на каждом виртуальном десктопе в хозяйстве, опираясь на снэпшот обновленного шаблона ВМ и используя любое привычное подходящее стороннее ПО для обновления софта.
Что делать в ситуации с RDS-хостами, описано ниже в соответствующем подразделе.
Важно! После обновления агента следует попробовать подключиться к нему с еще не проапгрейдженного клиента – все должно получиться.
Обновление Horizon Client
Важно! Обновление клиентов Horizon состоит в применении инсталлятора новой его версии. Старую удалять не нужно, если только речь не о Windows-клиенте версии 4.6.0 или более ранней.
Загруженный нами в процессе подготовки (см. выше) инсталлятор Horizon Client следует разослать конечным пользователям. Подробные инструкции по установке можно найти в разделе «Работа с клиентами Horizon» нашей статьи «Базовые инструменты администрирования VMware Horizon Version 2012 и настройка групповых политик». Либо же они могут просто использовать доступ через браузер (материал «Установка VMware Horizon Version 2012 от «А» до «Я»», подраздел «Запуск удаленных десктопов и приложений с клиентских устройств»). Для мобильных клиентов загружать соответствующие приложения через магазины соответствующих вендоров.
Если используются устройства с тонкими клиентами, нужно вначале проапгрейдить «железо» на них, а уж затем устанавливать новый софт клиента.
Операции постапгрейда
После обновления инстансов Connection Server бэкапируем с помощью утилиты «vdmexport.exe» LDAP базу данных Horizon. Заходим в консоль и убеждаемся, что иконка vCenter Server зеленая. Если она красная и появилось окно, сообщающее об обнаружении невалидного сертификата, следует кликнуть «Verify» и принять отпечаток недоверенного сертификата, либо же проинсталлировать валидный СА-подписанный SSL-сертификат (см. ниже).
Если иконки каких-то инстансов Connection Server показываются на дашборде красными, причина может быть в следующем:
- файервол блокирует связь,
- служба VDMDS остановлена на Connection Server,
- DSA-опции VDMDS блокируют репликацию,
- проблемы с сетью.
Замена сертификата Connection Server
- Запускаем «certlm.msc». Или же mmc и добавляем «Certificates», указав «Computer» – «Local Machine»;
- Кликнув на ней, в меню выбираем «All Tasks» – «Request New Certificate»:
- Заполняем поля нового сертификата с общим именем, соответствующим FQDN Connection Server (либо импортируем подстановочный);
Важно! Приватный ключ должен быть экспортируемый. Если используется шаблон «Computer», следует кликнуть на «Details», а затем на «Properties»:
На вкладке «Certificate Properties» переходим на вкладку «Private Key», нажимаем на «Key options» и ставим галочку на «Mark private key as exportable»:
- Возвращаемся к списку сертификатов и ищем тот, который самоподписанный (для сервера), и в колонке «Issued by» должно стоять имя локального компьютера, а не «Certificate Authority». На нем кликаем правой кнопкой и открываем «Properties»:
- В открывшемся окне на вкладке «General» стираем поле «Friendly name» и нажимаем «ОК»:
- Снова кликаем правой кнопкой на нашем СА-подписанном сертификате и в «All Tasks» выбираем «Export…»:
В появившемся визарде экспорта на странице «Export Private Key», выбираем «Yes, export the private key»:
Опять правой кнопкой на нашем сертификате и выбираем «Properties»:
Заходим на вкладку «General» и в поле «Friendly name» вписываем «vdm», после чего сохраняемся «ОК» (имейте в виду, что только один сертификат может прописывать vdm как дружественное имя):
- Перезагружаем службу «VMware Horizon View Connection Server»:
Проверить, корректно ли все сделано можно в консоли Horizon, если зайти в «Monitor» – «Dashboard» – «System Health» – «View» – «Components» – «Connection Servers» – там должен показываться валидный TLS-сертификат:
Обновление опубликованных и виртуальных десктопов
Предварительно, если имеем дело с автоматизированным пулом полных клонов десктопов, следует проапгредить агенты индивидуально на каждом (см. выше), равно как и на шаблонной ВМ, которая используется в процессе их создания. При этом, если необходимо, можно добавить дополнительные клоны. В случае ручного типа разворота пула, а также использования ВМ без vCenter или физических ПК, аналогично нужно вначале обновить агент на каждой машине.
Кроме того, агент должен быть обновлен на золотом образе.
Если у нас RDS-десктопный пул, агент обновляется на одном или более хостах терминальной службы или на Microsoft RDS-хосте.
Апгрейд мгновенно склонированных десктопных пулов в процессе обновления vSphere
Актуально для обновления vSphere с версий до 6.7 на 6.7 и новее.
Обязательно удовлетворить все рекомендации разделов «Требования и совместимость», а также «Подготовка…» (см. выше), и проапгрейдить агент на золотом образе (до версии 2006 или последней). Далее:
- Обновляем VMware Tools и снимаем снэпшот с золотого образа;
- Устанавливаем пороговое значение миграции Storage Distributed Resource Scheduler (DRS) на «3» в кластере;
- Отключаем инстант-склонированные десктопные пулы;
- Обновляем vCenter Server;
- Погружаем запланированные к апгрейду хосты в режим техобслуживания и апгрейдим на них ESXi;
- Включаем мгновенно склонированные десктопные пулы и выполняем операцию push-image, указав уже новый снэпшот.
Убеждаемся, что все хосты кластера успешно обновились.
Обновление RDS-хостов с сессионными десктопами
Актуально для хостов с Windows Server 2012 R2 и более новыми системами. Если используется более ранняя версия, апгрейд не пойдет – только свежая инсталляция.
Предварительно нужно выйти со всех удаленных десктопов и приложений. Далее:
- В консоли Horizon в «Inventory» левой панели на «Desktops» выбираем наш пул и нажимаем на кнопку «Edit»;
- На RDS-хост загружаем инсталлятор новой версии агента и запускаем его;
- Проходим в раздел «Farms» «Inventory», выбираем нужную ферму, нажимаем на «Edit» и меняем дефолтный отображаемый протокол на PCoIP или VMware Blast;
- Снова заходим в редактирование настроек пула и включаем его.
Если интересует вопрос модернизации VDI под переход на Horizon 8 с более старых версий, очень рекомендуем материал «Modernizing VDI for a New Horizon» с препарированием множества самых разнообразных частных сценариев перехода.
Как видите, апдейт версии десктопной виртуализации не представляет собой ничего архисложного. Главное, скрупулезно следовать вышеизложенным инструкциям и ни в коем случае не менять их порядок.
Надеемся, этот, завершающий наш цикл по Horizon, материал был вам полезен, а если с процессом обновления возникнут какие-то сложности – добро пожаловать в нашу секцию «VMware: Troubleshooting», там в посвященной этому продукту статье описаны многие проблемы и пути их решения. Либо же обращайтесь за помощью к консультантам сферы, ищете конкретные материалы в блогах других авторов. К сожалению, специального авторизованного курса по траблшуттингу Horizon 2012 VMware пока не анонсировала.