Научная статья на тему 'Виртуализация рабочего пространства с ускорением 3d-приложений на стороне сервера при помощи docker'

Виртуализация рабочего пространства с ускорением 3d-приложений на стороне сервера при помощи docker Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
270
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИРТУАЛИЗАЦИЯ / VIRTUALIZATION / КОНТЕЙНЕР / CONTAINER / DOCKER / TURBOVNC / VIRTUALGL / VIRTUAL DESKTOP INFRASTRUCTURE / VDI / REALMD / ACTIVE DIRECTORY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тяжельников Даниил Николаевич, Токарев Павел Андреевич, Петров Иван Дмитриевич

В данной статье рассматривается один из возможных методов решения проблемы виртуализации рабочего места с ускорением 3D-приложений на стороне сервера. Используется связка программного обеспечения: TurboVNC и VirtualGL, позволяющая организовать сервер для подключения удаленных рабочих столов c возможностью обработки приложения, запущенного в изолированном пространстве или же просто контейнере Docker, мощностями сервера, а также демонстрируется решение для легкого ввода рабочих мест в систему каталогов Active Directory при помощи Realmd. В качестве результата приведена последовательность команд для получения рабочего решения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Тяжельников Даниил Николаевич, Токарев Павел Андреевич, Петров Иван Дмитриевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Виртуализация рабочего пространства с ускорением 3d-приложений на стороне сервера при помощи docker»

ВИРТУАЛИЗАЦИЯ РАБОЧЕГО ПРОСТРАНСТВА С УСКОРЕНИЕМ 3D-ПРИЛОЖЕНИЙ НА СТОРОНЕ СЕРВЕРА ПРИ ПОМОЩИ DOCKER Тяжельников Д.Н.1, Токарев П.А.2, Петров И.Д.3 Em ail: [email protected]

'Тяжельников Даниил Николаевич — бакалавр; 2Токарев Павел Андреевич — бакалавр; 3Петров Иван Дмитриевич — бакалавр, кафедра компьютерных систем и сетей, Федеральное государственное бюджетное образовательное учреждение высшего образования Московский государственный технический университет им. Н.Э. Баумана Национальный исследовательский университет, г. Москва

Аннотация: в данной статье рассматривается один из возможных методов решения проблемы виртуализации рабочего места с ускорением SD-прияожений на стороне сервера. Используется связка программного обеспечения: TurboVNC и VirtualGL, позволяющая организовать сервер для подключения удаленных рабочих столов c возможностью обработки приложения, запущенного в изолированном пространстве или же просто контейнере Docker, мощностями сервера, а также демонстрируется решение для легкого ввода рабочих мест в систему каталогов Active Directory при помощи Realmd. В качестве результата приведена последовательность команд для получения рабочего решения.

Ключевые слова: виртуализация, контейнер, Docker, TurboVNC, VirtualGL, Virtual Desktop Infrastructure, VDI, Realmd, Active Directory.

VIRTUALIZATION OF THE WORKSPACE WITH THE ACCELERATION OF 3D APPLICATIONS ON THE SERVER SIDE USING DOCKER Tyazhelnikov D.N.1, Tokarev P.A.2, Petrov I.D.3

'Tyazhelnikov Daniil Nikolaevich — bachelor; 2Tokarev Pavel Andreevich — bachelor; 3Petrov Ivan Dmitrievich — bachelor, COMPUTER SYSTEMS AND NETWORKS DEPARTMENT, BAUMANMOSCOW STATE TECHNICAL UNIVERSITY BMSTU, BAUMANMSTU, MOSCOW

Abstract: this article discusses one of the possible methods of solving the problem of visualization of the workplace with accelerated 3D applications on the server side. Used bundle software: TurboVNC and VirtualGL, which allows to organize a server of remote desktops with the ability to handle the application running in isolated workspace or the Docker container on the server side, as well demonstrated a solution to easily attach to Active Directory using Realmd. As a result, given a sequence of commands to obtain the working solution.

Keywords: virtualization, container, Docker, TurboVNC, VirtualGL, Virtual Desktop Infrastructure, VDI, Realmd, Active Directory.

УДК 004.457+ 004.382.2 DOI: '0.20861/2304-2338-20'7-96-003

1 Настройка сервера

Был скачан и установлен образ CentOS, проведена его тривиальная настройка, например: установлен графический интерфейс, драйвера для видеокарты, произведена настройка сетевых адаптеров и iptables. Затем был установлен сам Docker [1].

2 Virtual Desktop Infrastructure (виртуализация рабочих столов)

docker pull centos Скачивание образа CentOS последней версии

xhost + Открытие доступа к дисплеям виртуальной машины из вне

docker run -it --rm -p 52022:22 -p 52023:5901 -e VGL_DISPLAY=:1 -e DISPLAY=:1 -v /etc/machine-id:/etc/machine-id -v /tmp/.X11-unix:/tmp/.X11-unix centos Запуск CentOS контейнера с помощью Docker, настройка соответствия портов виртуальной машины и контейнера, добавление переменных окружения, проброс дисплея, который будет отвечать за обработку 3d-приложений, а также machine-id, необходимый для запуска VNC сервера

Дальше все действия будут производиться внутри запущенного контейнера.

Таблица 2. Установка и настройка VDI

yum -y install openssh-server openssh-clients Установка ssh-сервера

yum -y install liblCE libSM libXi perl yum -y install xauth xkbcomp xkeyboard-config yum -y install libGL libGLU libXv Библиотеки для работы с TurboVNC и VirtualGL

rpm -ivh https://downloads.sourceforge.net/.../turbovnc.rpm Установка TurboVNC

ln -s /opt/TurboVNC/bin/vncserver /usr/bin/vncserver ln -s /opt/TurboVNC/bin/vncviewer /usr/bin/vncviewer ln -s /opt/TurboVNC/bin/vncpasswd /usr/bin/vncpasswd ln -s /opt/TurboVNC/bin/Xvnc /usr/bin/Xvnc Создание необходимых ссылкок [3]

rpm -ivh https://downloads.sourceforge.net/.../VirtualGL.rpm Установка VirtualGL

mkdir /var/run/sshd Создание необходимой директории для запуска ssh-сервера

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' Генерация ключа для ssh-сервера

yum -y groupinstall "Desktop" "Desktop Platform" "Fonts" "X Window System" kde-workspace Установка графической оболочки, необходимой для работы интерфейса приложений

passwd root Установка пароля для доступа

/usr/sbin/sshd vncserver Запуск ssh-сервера и \inc-сервера

Для запуска приложений внутри окружения с ускорением графики на стороне сервера используются следующие команды:

Таблица 3. Запуск 3П-приложения с ускорением внутри контейнера /ор1/У1г1иаЮЬ/Ып /у§1гип ^ :0 <рго§гатш_паше>

Запуск VirtualGL с указанием использовать дисплей сервера для обработки графики. Вывод будет осуществляться на дисплей, указанный в командах VGL_DISPLAY=:1 и DISPLAY=:1. Изменить дисплей можно командой export DISPLAY=:2 [4].

3 Active Directory (служба каталогов)

Установка Realmd более чем тривиальна, загвоздка заключается лишь в том, что для запуска этой службы требуется запустить систему межпроцессного взаимодействия D-Bus, которая, в свою очередь, требует запустить systemctl, службу, отвечающую за управление службами в CentOS. Для этого необходимо запустить контейнер в особом режиме.

Таблица 4. Запуск контейнера для работы с Active Directory

docker run -it --rm --cap-add=SYS_ADMIN -e "container=docker" -p 52022:22 -p 52023:5901 -v

_/sys/fs/cgroup:/sys/fs/cgroup -v /tmp/.X11-unlx:/tmp/.X11-unix vnc /usr/sbin/inlt_

В данной команде контейнеру разрешено осуществлять определенные административные операции, указывается тип виртуализации, пробрасываются порты, x-сессии или дисплеи. Монтируется директория cgroup, механизма ядра, который отвечает за ограничение и

изолирование вычислительных ресурсов, а также запускается тй, служба, управляющую первоначальным запуском служб.

Затем, уже в контейнере, выполняются следующие команды:

Таблица 5. Установка и настройка Realmd

yum -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common Установка необходимого для службы realmd и ее работы с протоколом sssd [2]

realm join AD.NAME Присоединение к службе каталогов под названием AD.NAME

id AD1234\\AD.NAME Проверка возможности получить информацию о пользователе AD

su - AD1234\\AD.NAME Смена пользователя AD

4. Заключение

В данной научной статье был представлен один из способов реализации задачи создания системы виртуализации рабочего места с возможностью ускорения 3D-приложений на стороне сервера, а также ввода этой системы в службу каталогов Active Directory. Сдержатся команды для создания контейнера готового к работе: с запущенным TurboVNC сервером, SSH сервером, установленным VirtualGL для ускорения графики на стороне кластера, Realmd клиентом, подключенным к Active Directory, а также своим графическим окружением.

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

Список литературы / References

1. Docker Documentation. [Electronic resource]. URL: https://docs.docker.com/ (date of access: 02.04.2017).

2. Realmd Documentation. [Electronic resource]. URL: https://www.freedesktop.org/software/realmd / (date of access: 02.04.2017).

3. TurboVNC Documentation. [Electronic resource]. URL: http://turbovnc.org/Documentation/Ultra VNC/ (date of access: 02.04.2017).

4. VirtualGL Documentation. [Electronic resource]. URL: http://www.virtualgl.org/Documentation/ (date of access: 02.04.2017).

5. Подорожный И.В., Светличный А.Н., Подлеснов А.В. Введение в контейнеры, виртуальные машины и docker // Молодой ученый, 2016. № 19. С. 49-53.

i Надоели баннеры? Вы всегда можете отключить рекламу.