В период пандемии и вынужденного перехода на дистанционные форматы работы виртуальные рабочие столы перешли из категории нишевых инструментов в стандартное решение для организации ИТ-инфраструктуры.
Компании поняли, что это действительно удобный способ обеспечить доступ к корпоративным ресурсам: нет привязки к железу, не нужно закупать ПК под каждого сотрудника или вручную настраивать отдельные виртуальные серверы.

Говоря о преимуществах, как правило, выделяют следующие:
Более высокий уровень безопасности
Все данные остаются в защищенном контуре, сотрудники подключаются к своим рабочим столам по защищенным протоколам. Даже если ноутбук будет потерян или украден, в корпоративную сеть никто проникнуть не сможет.
Экономия на железе
Нет необходимости закупать мощную технику: для подключения к VDI хватит личного ноутбука или простого тонкого клиента. Вычислительные ресурсы можно выделить исходя из актуальных потребностей: например, для простых офисных задач можно развернуть среднюю по производительности ВМ, для ресурсоемкого ПО — нечто посерьезнее.
Масштабируемость
Развертывание нового рабочего места занимает всего несколько минут. При необходимости можно закрыть виртуальные десктопы, которые больше не нужны, и перераспределить ресурсы.
Безусловно, для ряда задач в формате удаленки можно обойтись и без VDI — поднять виртуальную машину с нужным ПО и подключаться к ней удаленно.
Однако у этого подхода есть свои минусы:
администратору придется настраивать каждую ВМ отдельно, администрировать весь парк виртуалок, следить за обновлениями, бэкапами и т. д.;
ресурсы закреплены за пользователями, даже когда не используются;
отсутствует возможность централизованного управления.
У виртуальных рабочих мест, которые разворачиваются с помощью специализированного софта, эти недостатки отсутствуют. Современные решения позволяют централизованно разворачивать полноценную инфраструктуру виртуальных десктопов на основе общего пула ресурсов, управлять всеми виртуальными десктопами через единый интерфейс, применять групповые политики безопасности и контролировать нагрузку в реальном времени.
VMmanager и Termidesk — импортонезависимое решение для различных сценариев удаленной работы
Связка российской платформы виртуализации VMmanager и системы управления VDI Termidesk представляет собой готовое решение для построения полностью импортонезависимой инфраструктуры виртуальных рабочих столов.
В таком сценарии VMmanager используется в качестве поставщика ресурсов Termidesk — платформы виртуализации, в которой Termidesk создает VDI.
Кому подойдет?
VDI на базе VMmanager и Termidesk подойдет компаниям:
у которых уже есть собственная ИТ-инфраструктура и определенное число сотрудников, которым необходимы виртуальные рабочие столы;
с особыми требованиями к безопасности данных, например если необходимо хранить данные исключительно внутри корпоративного контура;
которым необходимо использовать отечественный софт: и VMmanager, и Termidesk входят в Реестр отечественного ПО.
Выбор конкретного решения для развертывания VDI, безусловно, зависит от конкретных задач и требований, однако у связки Termidesk + VMmanager есть ряд существенных преимуществ:
Экосистемный подход. Оба продукта входят в экосистему Astra Linux, что обеспечивает упрощенное взаимодействие команд разработки и поддержки.
Адаптация и оптимизация. Разрабатывая решения в единой экосистеме, мы целенаправленно адаптируем VMmanager под особенности работы Termidesk, что гарантирует стабильность виртуальных рабочих мест без конфликтов ПО. Каждое обновление проходит обязательное тестирование специалистами обеих платформ — это позволяет обеспечить предсказуемую работу интегрированного решения на всех этапах эксплуатации.
Простота настройки. Многократно протестированная совместимость гарантирует стабильную работу связки практически из коробки — нужно лишь настроить интеграцию. Следуя инструкциям из документации, администратор сможет без проблем и обращений в техподдержку сделать это самостоятельно.
Также интегрированное решение поддерживает все популярные сценарии удаленной работы:
VDI — инфраструктура виртуальных рабочих столов, где каждый пользователь получает выделенную виртуальную машину с собственной ОС;
VDA — удаленное подключение к рабочему ПК;
терминальный сервер на базе Windows и Astra Linux — общий удаленный рабочий стол на сервере для нескольких сотрудников;
доставка отдельных приложений.
В нашей документации подробно описан процесс настройки интеграции VMmanager и Termidesk. Тем не менее мы решили подготовить отдельную статью, в которой все ключевые этапы — от подготовки базового образа ВМ до настройки нескольких мониторов — собрали в единый пошаговый гайд с конкретными примерами и готовыми командами. Интегрировать VMmanager будем с Termidesk 5.1.
Настраиваем интеграцию VMmanager и Termidesk
Установка серверной части
Создадим дополнительного пользователя с повышенными привилегиями для управления панелью Termidesk. В нашем случае это пользователь superuser.
Создадим виртуальную машину из шаблона с ОС Astra Linux 1.8.1, 4 vCPU / 4GB RAM / 20GB в соответствии с требованиями Termidesk.
Обновим пакет libastraevents.
Скопируем в каталог пользователя образ диска
termidesk-<версия>.iso
и пакеты.Сделаем автоматизированную установку Termidesk через конфигурационный файл.
Запустим установку командой
apt -y install termidesk-vdi
.После установки скорректируем файл конфигурации веб-сервера
/etc/apache2/apache2.conf
. Для этого нужно найти и раскомментировать строку с параметром AstraMode, далее присвоить данному параметру значение off, точно соблюдая отступы и пробелы в файле:
# Astra security mode
#
AstraMode off
И перезапустим сервер:
sudo systemctl restart apache2
10. Добавим пользователя веб-панели с привилегиями root superuser:
adduser superuser
usermod -aG sudo superuser
usermod -aG astra-admin superuser
usermod -aG root superuser
usermod -aG astra-console superuser
pdpl-user -i 63 superuser
11. Установим шлюз подключений.
Создание и конфигурация фондов рабочих мест
Так будет выглядеть панель управления Termidesk. Если в конфигурации компонентов будут найдены ошибки, они отобразятся в соответствующем разделе. Сейчас видно, что проблем нет и всё работает в штатном режиме.

Поставщики ресурсов
-
В разделе Компоненты — Поставщики ресурсов создаем поставщика «Платформа VMmanager».
-
Произведем базовую настройку. Укажем:
удобное для идентификации поставщика название;
IP-адрес или домен сервера платформы;
логин/пароль пользователя с привилегиями администратора;
порт веб-интерфейса и тип протокола;
необходимость верификации SSL-сертификата;
необходимые пределы на одновременный запуск задач создания и удаления ВМ, таймаут ожидания ответа от платформы.
С помощью кнопки Тест проверяем, что соединение устанавливается корректно и после сохранения настроек название нашего поставщика становится кликабельным в списке. При переходе по имени поставщика мы окажемся в списке шаблонов рабочих мест. На этом этапе создавать пока ничего не нужно, так как сначала необходимо подготовить этот шаблон в VMmanager.
Подготовка шаблона в VMmanager
-
Создаем шаблон конфигурации виртуальной машины. Помимо минимальных ресурсов, выделяемых для виртуальной машины, необходимо разрешить опцию подключения по протоколу SPICE.
В версии Infrastructure для конфигурации ВМ также необходимо выбрать опцию Интеграция с Termidesk — после этого появляется возможность указать количество мониторов.
Дополнительные возможности версии VMmanager Infrastructure
VMmanager Infrastructure поддерживает дополнительные возможности интеграции:
• подключение аудио- и видеоустройств;
• подключение смарт-карт;
• подключение локальных директорий.
2. После того как конфигурация создана, создадим виртуальную машину с ее использованием. В нашем случае была выбрана установка Windows 10 RUS GPT (она есть в рекомендациях для VDI).
3. Помимо qemu-guest-agent на эту ВМ также необходимо установить ПО Termidesk-agent, доступное в ISO-комплекте поставки, запустить его, и настроить соединение с сервером управления:

Мастер-ключ можно узнать в панели управления Termidesk: Настройки — Системные параметры, вкладка Безопасность. Также необходимо настроить службы агентов qemu и termidesk на автоматический запуск и повторный запуск в случае сбоя, как описано в документации.
На этом этапе настройка гостевой ОС уже достаточна для интеграции.
4. Теперь необходимо создать образ ВМ из данной виртуальной машины. В нашем случае это образ vm-term-image.
5. После этого возвращаемся в панель управления Termidesk. Переходим в созданного поставщика и создаем шаблон ВРМ.
Создание шаблона ВРМ
Выбираем нужный кластер, образ ВМ и доступный для создания ВМ пул адресов.
В поле Пользовательский скрипт обязательно выбираем скрипт или значение Без скрипта.
Указываем количество ресурсов — не меньше, чем в созданном в VMmanager шаблоне.

Домены аутентификации
Этот раздел определяет, какие типы аутентификации будут доступны пользователям для подключения к пространствам рабочих мест на сервере Termidesk.
Выбираем нужный домен из списка:

Параметры гостевых ОС
Параметры гостевых ОС позволяют произвести автоматическую и идентичную настройку одной или нескольких гостевых ОС для использования в фонде рабочих мест.
При создании фонда выбираем нужный параметр:

Протоколы доставки
Этот компонент определяет, каким способом пользователь сможет подключиться к рабочему месту.
-
Мы будем использовать протокол SPICE, поэтому в выпадающем списке выбираем именно его.
-
В разделе Сети можно указать диапазон адресов, с которых возможно подключение. Для этого их предварительно нужно создать в разделе Компоненты — Сети. Поскольку в нашем случае это не обязательно, мы оставили поле пустым.
Для подключения по отличным от HTML протоколам в клиентской ОС необходимо установить ПО Termidesk Viewer и Termidesk Client из комплекта поставки.
В разделе Настройки — Группы рабочих мест создаем произвольную группу. Теперь можно перейти к настройке фонда рабочих мест
Фонды рабочих мест
-
Поскольку у нас Termidesk интегрирован, выбираем тип «Виртуальные машины».
Примечание: Режим техобслуживания фонда — это запрет пользователям подключаться (создавать новую сессию) и/или переподключаться повторно в существующую сессию фонда РМ. Этот режим предназначен для проведения плановых регламентных или аварийных работ — например, когда нужно применить обновления или исправления для гостевых ОС и ВМ и требуется временно прекратить новые подключения к фонду.
Указываем Название фонда — оно будет отображаться в панели управления, а также Имя публикации — его будут видеть клиенты при подключении к пользовательскому интерфейсу.
Выбираем Шаблон — один из подготовленных ранее и выбранный в поставщиках шаблонов ВРМ.
Выбираем Изображение и Группу. Изображение можно добавить свое в разделе Настройки — Галерея или использовать встроенное.
Указываем Кеш рабочих мест 1-го уровня — количество создаваемых виртуальных машин.
Указываем Кеш рабочих мест 2-го уровня — количество создаваемых и остановленных виртуальных машин.
Режим отладки предоставляет более подробные сообщения в логе. При включении этого режима Termidesk перестает удалять ВМ в фонде.
-
Опция Разрешить резервные копии активирует режим резервного копирования ВМ фонда при использовании системы Rubackup.
-
Переходим по названию фонда и на вкладке Пользователи и группы указываем, кто может этот фонд использовать. Можно указать конкретных пользователей и/или группу пользователей из настроенных ранее доменов аутентификации.
-
Указываем доступные протоколы доставки, они выбираются из ранее настроенных в разделе Компоненты — Протоколы доставки.
Публикуем фонд.

После любого изменения необходимо создавать новую публикацию, чтобы изменения применились. Создание новой публикации автоматически отменяет предыдущую, что запускает процесс удаления кэшированных рабочих мест. Уже выделенные при этом не удаляются, пока пользователь не завершит работу ВМ.
Нормально функционирующий фонд выглядит примерно так:

Верхняя таблица — список ранее созданных и назначенных пользователям рабочих мест. Нижняя — список рабочих мест, подготовленных для выделения.
При выделении из кэша сразу стартует задача на создание следующей ВМ. Уровень кэша определяет состояние подготавливаемой для работы ВМ. Второй уровень — создана и выключена, первый уровень — создана и включена, поэтому данное значение не стоит ставить слишком большим, для экономии ресурсов кластера.
Процессы в фонде отслеживаются на вкладке Журнал.

Чтобы проверить работу фонда, нужно перейти в пользовательский режим:

В этом режиме отображается только список доступных конкретному пользователю фондов рабочих мест. Если при настройке интеграции не был включен кэш ВРМ, то создание виртуальной машины будет запущено при попытке подключения.
Пользователь получит сообщение о необходимости подождать завершения операции подготовки рабочего места.
Выбираем фонд рабочих мест и тип подключения:

В случае успешного подключения произойдет вызов перенаправления на пользовательское приложение (Termidesk Client и Viewer).

Процесс интеграции закончен! Если у вас есть какие-либо вопросы о возможностях VMmanager и Termidesk или тонкостях настройки, ждем вас в комментариях.
Узнать больше о VMmanager и протестировать возможности платформы можно на странице продукта.
SmileyK
На базе чего сделан termdesk ? И что там делает rabbit.