Организация доступа к консоли виртуальной машины KVM через web-интерфейс

HELP-ME-24.COM (Freelance Team), Черноусов Антон

В предыдущей статье я начал рассказывать о установке и настройке консоли управления виртуальными машинами с использованием web-интерфейса WebVirtmanager и если вы пропустили статью "QEMU KVM - Настройка узла виртуализации на базе libvirt", то рекомендую ознакомиться, так как эта статья является ее логическим продолжением.

Когда я рассказывал про настройку web-интерфейса для управления виртуальными машинами KVM я не рассказал о одном из самых главных моментов управления виртуальными машинами, а именно о доступе к консоли сервера и сегодня я исправлю этот недочет.

Стоит отметить, что web-интерфейс Webvirtmanager для организации доступа к консоли управления не использует Flash или Java, а использует штатные возможности современных браузеров.

Для подключения к консоли виртуальной машины перейдите на вкладку "Access - > Console" и нажмите кнопку console.

Доступ к консоли сервера

Если вы следовали моей предыдущей инструкции, то там этот момент не рассматривается и эта операция вызовет ошибку, но сейчас мы это исправим.

За обработку доступа к web-интерфейсу виртальной машины отвечает файл webvirtmgr-console расположенный в каталоге /webvirtmgr-env/webvirtmgr/console. Если перейти в виртуальное окружение и запустить файл вручную, то доступ к консоли управления будет работать:

# source ./webvirtmgr-env/bin/activate
# cd ./webvirtmgr-env/webvirtmgr/console/
# ./webvirtmgr-console

Консоль управления для работы требует пакет websockify и вам потребуется установить его в виртуальное окружение командой:

# pip install websockify

Естественно, что такой метод запуска недопустим в серьезном рабочем окружении (так как приложение запускается вручную и от имени суперпользователя).

Официальная документация рекомендует использовать демон Supervisor для этих случаев и из за специфики приложения мы не можем использовать его напрямую как UWSGI-скрипт поэтому установим демон supervisord и настроим его:

# aptitude install supervisor

Файл конфигурации /etc/supervisor/conf.d/webvirt-console.conf осуществляющий запуск консоли выглядит следующим образом:

[program:webvirtmgr-console] 
command=/opt/web-projects/webvirtmgr-env/webvirtmgr/console/webvirtmgr-console.sh
directory=/opt/web-projects/webvirtmgr-env/webvirtmgr/console/
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/webvirtmgr-console.log
redirect_stderr=true
user=www-data

Обратите внимание, что мы используем дополнительный скрипт webvirtmgr-console.sh, так как нам потребуется инициализировать виртуальное окружение до запуска скрипта:

#!/bin/bash 
source /opt/web-projects/webvirtmgr-env/bin/activate
cd /opt/web-projects/webvirtmgr-env/webvirtmgr/console/
./webvirtmgr-console

Запуск и перезапуск демона Supervisor соответственно выполняется командами:

# /etc/init.d/supervisor start# /etc/init.d/supervisor restart

На этом настройка завершена и вы можете полноценно пользоваться отличным интерфейсом управления фермой KVM.

Консоль webvirtmgr

Оставьте комментарий

Вы должны быть вошедший в чтобы отправить комментарий