- Управление KVM с помощью Virt-Manager на Windows
- Virt-Manager: графическая консоль управления KVM
- Установка Virt-Manager в Linux
- Управление KVM через virt-manager из Windows
- Использование Virt-Manager для управления виртуальными машинами KVM
- Типовые проблемы с Virt-Manager
- Одминский блог
- Управление виртуальными машинами KVM из Windows
Управление KVM с помощью Virt-Manager на Windows
Гипервизор KVM идет с отличными утилитами управления для командной строки. Что касается графических программ для управления виртуальными машинами на сервер KVM, то здесь дело обстоит хуже. Под Linux стандартным средством является Virt-Manager. Давайте посмотрим, как можно использовать его под Windows.
Стандартная утилита для графического управления гостевыми системами в KVM это virt-manager, который по функционалу сравним с другими управляющими утилитами, например Hyper-V Manager, в части управления виртуальными машины на локальном или удаленном гипервизоре.
Нормальной работоспособной версии Virt-Manager или его аналога под операционную систему Windows я пока не встречал. В связи с этим в Windows необходимо использовать для графического управления KVM утилиты, обеспечивающие X11 Forwarding через протокол SSH.
В операционной системе Windows необходимо выполнить установку X Window Server, например бесплатный XMing и SSH клиент, например PuTTy .
При установке XMing оставляем все параметры по умолчанию и просто нажимаем далее. В конце установке XMing уведомит о возможности запуска в фоновом режиме. Мы с этим соглашаемся. После чего в системном трее появится значок X Window server (XMing) со следующим контекстным меню (скриншот ниже).
Далее потребуется выполнить настройку подключения по SSH через PuTTy.
В настройках PuTTy переходим в раздел Connection – SSH – X11. Далее необходимо разрешить X11 Forwarding. Скриншот ниже.
Далее можно вернуться в раздел Connection – SSH и в строке “Remote Command” указать команду автоматического запуска:
Далее можно выполнить подключение к серверу нажав кнопку “Open” и запуск virt-manager.
Если не выполнять последнюю настройку выше, то при запуске PuTTy можно ввести название нужной утилиты и нажать Enter (скриншот ниже).
Ниже представлена консоль virt-manager , подключенная к гипервизору KVM на которой развернуты две виртуальные машины на плтавформе Windows и Linux.
Если щелкнуть правой кнопкой мыши по надписи localhost (QEMU) и выбрать пункт Details , то будет отображен информация о гипервизоре. Скриншот ниже.
Если выбрать и дважды кликнуть по виртуально машине , то можно перейти к настройкам выбранной виртуальной машины (VM). Скриншот ниже.
Необходимо учитывать, что при закрытии окна Putty, сессия будет разорвана.
Virt-Manager: графическая консоль управления KVM
Virt-Manager – графическая консоль для управления виртуальными машинами KVM от компании Red Hat. С помощью Virt-Manager можно, создавать, редактировать, запускать и останавливать виртуальные машины на гипервизоре KVM. Можно выполнять настройку параметров виртуальных машин, что значительно упрощает работу по сравнению с управлением KVM из интерфейса командной строки.
В статье мы рассмотрим установку Virt-Manager на сервер с KVM, типовые задачи управления виртуальными машинами в графической консоли и покажем, как использовать virt-manager из Windows-клиента.
Установка Virt-Manager в Linux
Прежде всего нужно установить необходимые пакеты из базового репозитория на сервере с KVM (в нашем примере сервер KVM установлен на Linux CentOS). Выполните следующую команду yum (или dnf):
# yum install -y virt-manager xorg-x11-xauth liberation-sans-fonts
Чтобы удаленно подключаться к virt-manager с Windows-компьютера, нужно дополнительно настроить SSH. Откройте файл sshd_config:
Включите следующие параметры:
Перезапустите сервис sshd:
# service sshd restart
Управление KVM через virt-manager из Windows
Для удалённого подключения к virt-manager с Windows компьютера, вам понадобится следующее ПО:
- Putty – ssh клиент
- Xming – порт сервера для ОС Windows.
Скачать putty можно с официального сайта https://www.putty.org/, а Xming по ссылке https://sourceforge.net/projects/xming/
Откройте Putty, перейдите в Connection—>SSH—X11. Включите опцию “Enable X11 Forwarding“.
Теперь на вкладке Session, укажите адрес KVM сервера, имя сессии, укажите порт и сохраните подключение.
Чтобы из Windows удаленно подключаться к KVM серверу через virt-manager, используется следующий порядок:
- Сначала запускаете Xming;
- Запускаете сохраненную сессию Putty с опцией X11 Forwarding;
- Подключаетесь к virt-manager.
После включения Xming у вас в трее должен светиться значок X:
Далее запустите Putty, и после авторизации на сервере, выполните:
Через несколько секунд у вас должно открыться окно управления virt-manager и окно дополнительной авторизации, где нужно ввести данные для подключения к серверу:
После авторизации вы должны увидеть список виртуальных машин.
Использование Virt-Manager для управления виртуальными машинами KVM
Щелкнув ПКМ по виртуальной машине, вы можете выключить, перезагрузить, включить ВМ.
Далее я хочу изменить директорию для хранения файлов виртуальных машин, так как основное место на диске при установке операционной системы на сервере с KVM, я отдал под директорию VZ. Чтобы поменять стандартную директорию, перейдите в меню “Edit -> Connection Details”.
В открывшемся окне, нужно перейти во вкладку “Storage”. Для создания нового пула, нужно остановить работу текущего и после чего удалить его:
После установки пула, кнопка удаления станет активна:
Теперь можно создать пул в нужной вам директории или разделе:
После этого, у меня стал активным мой основной раздел для файлов ВМ:
Либо просто удалить первоначальную директорию и создал симлинк на нужный раздел:
# rm -rf /var/lib/libvirt/images/
# ln -s /vz/disk/ /var/lib/libvirt/images
Теперь можно попробовать создать новую виртуальную машину KVM. Ниже я прикреплю ряд скриншотов, на которых по шагам будет все более-менее понятно. В конце опишу весь процесс создания машины.
- При нажатии кнопки на первом скриншоте, запускается процесс создания новой виртуальной машины KVM;
- Затем указываем, откуда запускать установку ОС на виртуальной машине. Я использовал локальный ISO образ с дистрибутивом CentOS 8;
- Далее настраиваются ресурсы виртуальной машины: количество памяти и vCPU, размер виртуального диска (при необходимости его можно будет расширить или уменьшить), имя, и указываем сеть;
- После создания ВМ к ней сразу будет примонтирован установочный образ ОС, который указали при создании.
Чтобы изменить ресурсы или какие-то параметры уже созданной машины, вам нужно выделить ее и нажать кнопку “Open”. В открывшемся меню нажмите на лампочку и у вас откроется список параметров виртуальной машины KVM.
Чтобы добавить новый сервер KVM, выполните следующее “File -> Add Connection” и заполните данные в открывшемся окне:
Типовые проблемы с Virt-Manager
Во время изучения интерфейса virt-manager, я столкнулся с несколькими ошибками и решил описать их в статье. Первая ошибка, с которой я столкнулся, вышла на стадии создания новой виртуальной машины:
Система ругается на отсутствие файла, который скорее всего должен быть создан при установке KVM на сервер, но в моем случае он отсутствовал. Решился вопрос, созданием файла:
После этого нужно перезапустить сервис libvirtd:
# service libvirtd restart
Следующая ошибка ожидала меня сразу же на следующем шаге установки:
Чтобы решить эту проблему и возможно последующие другие, нужно установить пакет qemu-kvm-tools:
# yum install qemu-kvm-tools -y
После выполненных действий, виртуальная машина создалась без ошибок, и я смог выполнить установку гостевой операционной системы на ней.
Управлять KVM через virt-manager очень удобно. Вы значительно сократите время на выполнение рядовых операций с виртуальными машинами, а также сможете подключиться к ним из Windows.
Одминский блог
Блог о технологиях, технократии и методиках борьбы с граблями
Управление виртуальными машинами KVM из Windows
Как я писал ранее, на стадии установки и создания сервера виртуальных машин KVM, основной проблемой управления виртуалкой, является полное отсутствие каких либо вменяемых решений для управления виртуальной структурой в случае если сервер KVM установлен на *nix без GUI, а администраторская машина работает под Windows.
Если на сервере установлен X Windows, то можно стартовать встроенную управлялку в линь, на основе Xming инкапсулированного в ssh. Но вот без гуя, такой экзерсис не проходит и все что я смог найти из доступных тулзятин под Windows – это KVM Remote Viewer, который стучится по указанному протоколу, и через адрес vnc://VNC_IP:port можно залогиниться на виртуальную на машину KVM
Собственно к самой машине можно получить доступ через VNС, который по дефолту запускается для каждой новой виртуальной машины на локальной IP 127.0.0.1 на портах начиная с 5900. То есть можно играться с инкапсулированием VNC в ssh сессию, но проще запаролить доступ к VNC сессии на момент установки и задать серверу слушать подключение на внешнем IP.
Делается это следующим образом.
Изначально при создании виртуальной машины можно было прописать в параметры её создания —graphics vnc,listen=0.0.0.0 —noautoconsole что открывало бы VNС для подключения с любого хоста.
Но предположим, что у нас была создана дефолтная машина, к которой нам необходимо подключиться.
Для начала нам необходимо изменить профиль этой машины, добавив в него VNC. Файлы профилей хранятся в папке /etc/libvirt/qemu/ но у KVM есть специальная прилада для редактирования файлов машин:
# virsh edit %vm-name%
открываем нужную нам машину и ищем строки graphics
куда добавляем несколько строк с паролем и прослушиванием всех внешних подключений:
сохраняем файл как в обычном vi и перегружаем libvirtd и нашу машину
# /etc/init.d/libvirtd restart
# virsh shutdown %vm-name%
# virsh start %vm-name%
После этого можем конеектится к нашей машине по внешнему IP и с заданным паролем. Порт при этом берем либо по порядковому номеру виртуальной машины исходя из того что у первой он 5900, т.е если это первая машина в системе, то 5900; если вторая то 5901 и т.д. Либо же, если машин в нашей системе много, то смотрим через утилиты:
# virsh list
Id Name State
—————————————————-
2 win7 running
4 win7N2 running
# virsh vncdisplay win7N2
:1
полученное число прибавляем к 5900 и получаем порт к которому нам необходимо подключаться.
Единственно, что для подключения нам необходимо или отключить фаервол или открыть порты для VNC доступа, для чего в файл /etc/sysconfig/iptables добавляем следующие строки
-A INPUT -m state –state NEW -m tcp -p tcp –dport 5901 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 5900 -j ACCEPT
и перегружаем фаервол
# service iptables restart
Все это конечно здорово, но подразумевает копание в консоли, а хотелось бы более вменяемую управлялку машинами, виртуальными сетями, резервированием и прочее.
Под винду для этого можно использовать веб-клиенты:
Первый – это внешний сервис webvirtmgr.net, куда вы можете подключить свой KVM сервер и через их утилиту управления рулить своей виртуальной инфраструктурой. Функционал, не смотря на минимализм, достаточно богатый и позволяет создавать новые машины, управлять имеющимися, настраивать виртуальную сеть, делать снапшоты, рулить виртуалкой через webbased-VNC. Но, это сторонний сервис и не известно как в нем обстоит дело с сохранностью данных, тем более что при подключении через виртуальную VNC, которая работает через Java (т.ч для корректной работы плагина, адрес сайта придется добавлять в исключения безопасности) запрашивается пароль доступа к серверу, который естественно может быть перехвачен третьими лицами. Вообщем, не смотря на хорошую работу, сервис вызывает легкую такую ночную паранойю. Но можно взять исходники у разраба и поставить их на свой сервер, хотя обновление оных – вопрос отдельный, т.к актуальная версия от середины прошлого года.
Поэтому есть второй вариант управлялки через надстройку к консоли управления Webmin, которая называется Cloudmin GPL. Ставится она элементарно (как обычно прикручиваю к центосине):
#wget http://cloudmin.virtualmin.com/gpl/scripts/cloudmin-kvm-redhat-install.sh
# chmod +x cloudmin-kvm-redhat-install.sh
# ./cloudmin-kvm-redhat-install.sh
Скрипт ставится довольно пневматично, после чего система автоматом гасит виртуалки, что для меня было небольшим сюрпризом, т.к у меня на одной из машин был запущен процесс.
После подъема к панели управления можно будет подключиться через https на порт 10000, по адресу https://SERVER_IP:10000
Если вы ставили Cloudmin на голую машину, то просто начинаете создавать с нуля систему. Если же у вас были работающие машины, то их придется проинициализировать, после перезагрузки системы: System Operations -> Find KVM Instances где ввести параметры доступа к серверу.
После инициализации машины появятся в консоли управления, но функционал их управления, надо заметить, будет сильно хуже чем у webvirtmgr. Тем более, что в моем случае, машинки почему то начали дурковать после установки Cloudmin и оказалось проще снести управлялку, чем разбираться из-за чего возникли конфликты.