Взаимодействие компонентов Space VDI
Общая схема взаимодействия основных компонентов представлена на рисунке.
Подключение пользователя к ВРС
Пользователь при работе с тонким клиентом, персональным компьютером или ноутбуком запускает клиентское программное обеспечение Space Client. В окне программы пользователь вводит свои учетные данные и входит в программу. В этот момент Space Client обращается к Space Disp для подтверждения введенных данных пользователя, и, в случае успешного входа, Space Disp предоставляет список доступных пользователю пулов ВРС.
Далее пользователь в Space Client выбирает необходимый пул ВРС и при необходимости протокол подключения из предоставленного списка. В этот момент Space Client отправляет запрос к Space Disp с требованием предоставить данные для подключения к выбранному ВРС.
При получении данного запроса Space Disp обращается к SpaceVM для получения данных, чтобы подключиться к ВРС. В случае отсутствия свободных ВМ в выбранном автоматическом пуле и, если после создания клона ВМ не будет превышено общее количество ВМ в автоматическом пуле, Space Disp создает задачу в SpaceVM на создание клона ВМ и при необходимости задачу на ввод в домен нового клона. В данные для подключения, помимо служебной информации, входят:
-
Статус ВМ. Если ВМ выключена, то автоматически создается задача на запуск ВМ.
-
IP-адрес ВМ для подключения по протоколу RDP с использованием QEMU-агент из пакета Utils.
-
IP-адрес контроллера или сервера виртуализации и порт для подключения по протоколу SPICE.
После получения данных от SpaceVM Space Disp дает ответ Space Client, в котором либо сообщает данные для подключения и происходит подключение, либо сообщает о невозможности подключения к ВРС, о чем Space Client информирует пользователя.
Примечание
Подключение устанавливается напрямую с ВМ, но Space Client поддерживает постоянную связь со Space Disp. Если Space Disp недоступен, Space Client прерывает подключение к ВМ.
Порты, используемые в работе Space Disp, описаны в разделе Порты и протоколы.
Дополнительная информация о портах указана в официальной документации Docker Swarm.
Администрирование Space VDI
При создании пула виртуальных машин в Web-интерфейсе Space Disp администратором Space Disp запрашивает у SpaceVM доступные Пулы ресурсов. Далее администратор выбирает Пул ресурсов, на котором будет выполнено создание виртуальных машин. После чего Space Disp получает список ВМ или списки пулов данных и шаблонов ВМ, если создаваемый пул является автоматическим или гостевым.
Следующим шагом администратор выбирает из списка ВМ или пул данных и шаблон ВМ, а также дополнительную информацию, если создаваемый пул является автоматическим или гостевым, и подтверждает создание пула. После этого, а также при расширении автоматического/гостевого пула или добавления ВМ в пул, Space Disp создает запросы к SpaceVM на выполнение следующих задач:
-
Создание клонов ВМ, если пул является автоматическим.
-
Ввод ВМ в домен, изменение hostname, если пул автоматический.
-
Включение удаленного доступа к ВМ.
-
Создание тегов и применение к ВМ в SpaceVM для удобства администрирования.
При удалении ВМ из пулов, а также при удалении пулов, Space Disp при необходимости создает запросы к SpaceVM на выполнение следующих задач:
-
Удаление ВМ, в том числе клонов.
-
Удаление тегов.
Компоненты Space Gateway, Space Agent VM, Space Agent VDI
Space Gateway
Space Gateway предоставляет удаленный доступ к ВРС в экосистеме Space VDI, обеспечивая:
- подключение внешних пользователей к внутренним ресурсам через единую точку входа;
- поддержку протоколов RDP, SPICE и GLINT;
- безопасность за счет возможности более явного разделения сегментов сети и ограничения доступа клиентов к закрытым участкам, где доступен диспетчер.
Шлюз устанавливает соединение между Space Client и ВМ/ФМ, а также выступает посредником в передаче данных между Space Client и Space Disp, обеспечивая дополнительную функциональность и перенаправление портов.
Для каждой 1000 подключений через шлюз необходима ВМ со следующими характеристиками:
- оперативная память - минимум 4 Гб;
- процессор - минимум 4 ядра;
- объем диска - минимум 30 ГБ;
- сетевой интерфейс - минимум 10 Гбит Ethernet.
Установка шлюза возможна с помощью образа ВМ в формате qcow2 или deb-пакета. Для qcow2 дополнительная ОС не требуется, так как образ уже содержит все необходимые компоненты. Deb-пакет устанавливается уже на готовую ОС.
Для обновления шлюза необходимо запросить актуальную версию и следовать инструкциям по загрузке и импорту. Для корректной работы шлюза необходимо обеспечить доступ к определенным портам, включая:
- 8000 (API);
- 443 (подключение клиента);
- диапазон 5900-5999 (подключение к ВМ).
Внимание
Диапазон портов напрямую зависит от количества ВМ и инфраструктуры пользователя.
Шлюз автоматически применяет настройки без необходимости ручной конфигурации, при этом рекомендуется использовать несколько экземпляров для повышения отказоустойчивости.
Логирование и ротация журналов доступны как для шлюза, установленного в формате qcow2, так и для deb-пакета. Параметры логирования
задаются с использованием штатных утилит, таких как logrotate
и systemd
, что обеспечивает доступ к логам в обоих случаях.
Подробная информация о шлюзе внешних подключений в разделе Space Gateway.
Space Agent VM
Space Agent VM обеспечивает взаимодействие пользователя с ВМ. Это удобный инструмент для управления ВМ, который улучшает их производительность и интеграцию с системами управления.
Space Agent VM — это набор системных утилит в формате ISO-образа, который включает следующие основные компоненты:
- Spice guest tools - для повышения производительности и интеграции SPICE такие, как
видеодрайвер
qxl
и гостевой агент SPICE; - Spice vdagent - для улучшения взаимодействия с графическим интерфейсом;
- Virtio guest tools - драйверы для сетевых и блочных устройств, генераторов случайных чисел и управления памятью;
- qemu-guest-agent - утилита для взаимодействия с гипервизором SpaceVM.
Состав компонентов
Состав компонентов образа может отличаться в зависимости от используемой ОС.
Образ Space Agent VM доступен для скачивания в репозитории space_agent.
После загрузки образа в SpaceVM его нужно примонтировать к ВМ и установить необходимые компоненты.
Space Agent VM решает несколько ключевых задач:
- улучшает производительность ВМ;
- обеспечивает более плавное взаимодействие с графическим интерфейсом;
- автоматизирует процессы управления, такие как установка и обновление драйверов;
- упрощает интеграцию с Active Directory;
- позволяет эффективно управлять ресурсами, такими как память и сеть, что способствует более стабильной работе ВМ;
- помогает в создании резервных копий и восстановлении данных, обеспечивая надежность и безопасность виртуальной инфраструктуры.
Подробная информация в разделе Space Agent VM.
Space Agent VDI
Space Agent VDI обеспечивает взаимодействие пользователя с ФМ.
Space Agent VDI — это набор системных утилит в формате ISO-образа,
который улучшает взаимодействие пользователя с ФМ и автоматизирует технологические процессы.
Space Agent VDI включает следующие основные компоненты:
- glint-launcher;
- glint-server;
- space-agent-pc;
- space-streaming-server;
- space-usbip-daemon.
Состав компонентов
Состав компонентов образа может отличаться в зависимости от используемой ОС.
Образ Space Agent VDI для скачивания доступен в репозитории.
Space Agent VDI решает несколько ключевых задач:
- автоматизирует процессы установки и настройки;
- обеспечивает интеграцию различных компонентов системы;
- обеспечивает подключение к пользовательской сессии и механизмы проброса устройств по протоколу GLINT;
- позволяет объединять пользовательские ПК в пулы физических машин и автоматизировать процессы управления этими ПК для подключения;
- улучшает производительность и стабильность работы;
- упрощает управление ресурсами, такими как USB-устройства и потоковое видео.
Подробная информация в разделе Space Agent VDI.