Легкий способ графически подключаться к гостевым ВМ на “беспилотном” гипервизоре

Вопрос или проблема

Я использую гипервизор Fedora Server 28 (QEMU/KVM с инструментами libvirt) с гостевыми ВМ на базе Windows и Fedora. Обычно гипервизор работает в безголовом режиме с минимальным набором установленных пакетов, а доступ к гостевым ВМ осуществляется удаленно.

Иногда требуется локальный доступ к гостевым ВМ с гипервизора через VNC или SPICE (предпочтительно SPICE), но я не хочу устанавливать оконный менеджер (gnome/kde/xfce) на гипервизор. В идеале, не хотелось бы запускать X, но я полагаю, что он нужен как зависимость для инструментов виртуализации.

Хотелось бы найти независимый клиент SPICE (или клиент VNC), графический интерфейс которого был бы привязан к tty гипервизора (или что-то подобное, что работает как можно легче). Еще лучше было бы использовать только инструменты libvirt, но я полагаю, что графические части этих инструментов требуют оконный менеджер (было бы здорово, если бы я ошибался в этом вопросе).

Хотя я видел вопросы о запуске VNC без X, я бы предпочел решение, которое не основывается на проектах, которые не поддерживаются активно.

Заранее спасибо.

У вас есть следующие варианты:

  • установить virt-manager на вашей рабочей станции и использовать SSH-туннель для подключения к удаленному гипервизору;

  • установить virt-manager на сервере, подключиться к нему с рабочей станции через ssh -X и запустить virt-manager (замечание: это будет работать только в локальной сети или по ссылкам с очень низкой задержкой);

  • установить x2go и virt-manager на сервере, получая доступ через клиент x2go, установленный на вашей локальной рабочей станции.

EDIT: поскольку проект cockpit теперь стал зрелым, вы можете установить cockpit + cockpit-machines на своем сервере и войти через TCP-порт 9090, используя ваш локальный веб-браузер. При взаимодействии с сервером на базе RHEL 8+ (и его клонов) это, вероятно, предпочтительный подход.

virt-manager — это, пожалуй, лучший графический интерфейс, который вы найдете для libvirt. Это приложение GTK, установите его с помощью yum, чтобы увидеть его зависимости. Вам потребуется оконный менеджер или необходимо перенаправить X удаленно, например, через ssh.

Альтернативой было бы иметь отдельную рабочую станцию управления или ВМ с рабочим столом Fedora. Затем вы сможете подключить virt-manager через SSH или TLS-транспорт.

Ответ или решение

Для подключения к гостевым виртуальным машинам на "безголовом" гипервизоре, работающем на Fedora Server 28 с использованием QEMU/KVM и инструментов libvirt, действительно можно рассмотреть несколько легковесных вариантов.

  1. Использование Cockpit: один из лучших вариантов – установить cockpit и cockpit-machines на вашем сервере. Cockpit предоставляет интуитивно понятный веб-интерфейс, доступный через веб-браузер по TCP-порту 9090. Это современное решение, поддерживаемое сообществом, и оно особенно эффективно для серверов на базе RHEL 8 и его производных. Установка выполнится следующими командами:

    sudo dnf install cockpit cockpit-machines
    sudo systemctl enable --now cockpit.socket

    После этого можно зайти в систему через браузер, введя адрес http://<IP-сервера>:9090.

  2. Remote Desktop Managers: если вы предпочитаете более традиционные подходы, можно установить virt-manager на рабочей станции и настроить SSH-туннель для подключения к удаленному гипервизору. Этот метод является достаточно простым и не требует установки дополнительных графических интерфейсов на сервере:

    ssh -L 16509:localhost:16509 user@<IP-сервера>
    virt-manager

    Однако обратите внимание, что virt-manager требует наличие графического окружения, поэтому этот метод лучше подходить для использования на локальной машине с полноценной графикой.

  3. X2Go: еще одним вариантом является установка x2go на сервер и использование клиента x2go на вашем локальном оборудовании. Это решение позволяет удаленно подключаться к серверу и запускать virt-manager без необходимости устанавливать полноценный графический интерфейс на сервере. Установите x2go на сервер:

    sudo dnf install x2goserver x2goserver-xsession

    Далее, на рабочей станции сможете воспользоваться клиентом x2go для подключения.

  4. SPICE/VNC клиенты: если вы желаете использовать только SPICE или VNC, можете попробовать установить тонкие клиенты, такие как remote-viewer. Этот клиент может работать в безголовой конфигурации, но тем не менее может потребовать наличия некоторых графических библиотек. Чтобы установить его:
    sudo dnf install virt-viewer

    Используйте команду для подключения к VM:

    remote-viewer spice://localhost:5900

    Не забудьте настроить конфигурацию сетевого доступа для ваших виртуальных машин.

В результате, в зависимости от ваших предпочтений и условий работы, вы можете выбрать подходящее решение. Наиболее рекомендуемым и простым в установке будет использование Cockpit для управления виртуальными машинами через веб-интерфейс, так как он не требует установки полноценного графического окружения на гипервизоре.

Оцените материал
Добавить комментарий

Капча загружается...