KVM: Virt-Manager графическая консоль управления

Thank you for reading this post, don't forget to subscribe!

Virt-Manager – гра­фи­че­ская кон­соль для управ­ле­ния вир­ту­аль­ны­ми маши­на­ми KVM от ком­па­нии Red Hat. С помо­щью Virt-Manager мож­но, созда­вать, редак­ти­ро­вать, запус­кать и оста­нав­ли­вать вир­ту­аль­ные маши­ны на гипер­ви­зо­ре KVM. Мож­но выпол­нять настрой­ку пара­мет­ров вир­ту­аль­ных машин, что зна­чи­тель­но упро­ща­ет рабо­ту по срав­не­нию с управ­ле­ни­ем KVM из интер­фей­са команд­ной строки.

Установка 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:

# nano /etc/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—>SSHX11. Вклю­чи­те опцию “Enable X11 Forwarding“.

Теперь на вклад­ке Session, ука­жи­те адрес KVM сер­ве­ра, имя сес­сии, ука­жи­те порт и сохра­ни­те подключение.

Что­бы из Windows уда­лен­но под­клю­чать­ся к KVM сер­ве­ру через virt-manager, исполь­зу­ет­ся сле­ду­ю­щий порядок:

  1. Сна­ча­ла запус­ка­е­те Xming;
  2. Запус­ка­е­те сохра­нен­ную сес­сию Putty с опци­ей X11 Forwarding;
  3. Под­клю­ча­е­тесь к virt-manager.

После вклю­че­ния Xming у вас в трее дол­жен све­тить­ся зна­чок X:

Далее запу­сти­те Putty, и после авто­ри­за­ции на сер­ве­ре, выполните:

# virt-manager

Через несколь­ко секунд у вас долж­но открыть­ся окно управ­ле­ния 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. Ниже я при­креп­лю ряд скрин­шо­тов, на кото­рых по шагам будет все более-менее понят­но. В кон­це опи­шу весь про­цесс созда­ния машины.

  1. При нажа­тии кноп­ки на пер­вом скрин­шо­те, запус­ка­ет­ся про­цесс созда­ния новой вир­ту­аль­ной маши­ны KVM;
  2. Затем ука­зы­ва­ем, отку­да запус­кать уста­нов­ку ОС на вир­ту­аль­ной машине. Я исполь­зо­вал локаль­ный ISO образ с дис­три­бу­ти­вом CentOS 8;
  3. Далее настра­и­ва­ют­ся ресур­сы вир­ту­аль­ной маши­ны: коли­че­ство памя­ти и vCPU, раз­мер вир­ту­аль­но­го дис­ка (при необ­хо­ди­мо­сти его мож­но будет рас­ши­рить или умень­шить), имя, и ука­зы­ва­ем сеть;
  4. После созда­ния ВМ к ней сра­зу будет при­мон­ти­ро­ван уста­но­воч­ный образ ОС, кото­рый ука­за­ли при создании.

Что­бы изме­нить ресур­сы или какие-то пара­мет­ры уже создан­ной маши­ны, вам нуж­но выде­лить ее и нажать кноп­ку “Open”. В открыв­шем­ся меню нажми­те на лам­поч­ку и у вас откро­ет­ся спи­сок пара­мет­ров вир­ту­аль­ной маши­ны KVM.

Что­бы доба­вить новый сер­вер KVM, выпол­ни­те сле­ду­ю­щее “File -> Add Connection” и запол­ни­те дан­ные в открыв­шем­ся окне:

Red Hat Linux изме­ни­ла ста­тус virt-manager в RHEL 8 на deprecated, и воз­мож­но в сле­ду­ю­щих рели­зах OC этот пакет будет недо­сту­пен. Вме­сто него пред­ла­га­ет­ся исполь­зо­вать веб интер­фейс Cockpit. Одна­ко на дан­ный момент в моду­ле управ­ле­ния KVM в Cockpit пока нет хва­та­ет всех необ­хо­ди­мых функ­ций, доступ­ных в virt-manager.

Типовые проблемы с Virt-Manager

Во вре­мя изу­че­ния интер­фей­са virt-manager, я столк­нул­ся с несколь­ки­ми ошиб­ка­ми и решил опи­сать их в ста­тье. Пер­вая ошиб­ка, с кото­рой я столк­нул­ся, вышла на ста­дии созда­ния новой вир­ту­аль­ной машины:

Систе­ма руга­ет­ся на отсут­ствие фай­ла, кото­рый ско­рее все­го дол­жен быть создан при уста­нов­ке KVM на сер­вер, но в моем слу­чае он отсут­ство­вал. Решил­ся вопрос, созда­ни­ем файла:

# touch /etc/libvirt/hooks/qemu

После это­го нуж­но пере­за­пу­стить сер­вис libvirtd:

# service libvirtd restart

Сле­ду­ю­щая ошиб­ка ожи­да­ла меня сра­зу же на сле­ду­ю­щем шаге установки:

Что­бы решить эту про­бле­му и воз­мож­но после­ду­ю­щие дру­гие, нуж­но уста­но­вить пакет qemu-kvm-tools:

# yum install qemu-kvm-tools -y

После выпол­нен­ных дей­ствий, вир­ту­аль­ная маши­на созда­лась без оши­бок, и я смог выпол­нить уста­нов­ку госте­вой опе­ра­ци­он­ной систе­мы на ней.

Управ­лять KVM через virt-manager очень удоб­но. Вы зна­чи­тель­но сокра­ти­те вре­мя на выпол­не­ние рядо­вых опе­ра­ций с вир­ту­аль­ны­ми маши­на­ми, а так­же смо­же­те под­клю­чить­ся к ним из Windows.