- Ubuntu Documentation
- Local Installation
- Installation for Remote Server
- Launching
- Creating a Virtual Machine
- Working with a Running Virtual Machine
- Console
- Details
- Deleting a Virtual Machine
- Virt-Manager: графическая консоль управления KVM
- Установка Virt-Manager в Linux
- Управление KVM через virt-manager из Windows
- Использование Virt-Manager для управления виртуальными машинами KVM
- Типовые проблемы с Virt-Manager
- Настройка KVM на Ubuntu Server
- Проверка поддержки гипервизора
- Подготовка сервера
- Установка и запуск
- Настройка сети на сервере KVM
- Создание виртуальной машины
- Подключение к виртуальной машине
- Управление виртуальной машиной из командной строки
- Управление дисками
- Добавление диска
- Увеличение размера виртуального диска
- Управление сетевыми настройками виртуальной машины
- Резервирование IP на DHCP
Ubuntu Documentation
You can create, delete, run, stop, and manage your virtual machines graphically. The tool virt-manager allows you to use a graphical interface to interact with KVM.
Local Installation
Install virt-manager on your desktop:
- From a Command Line
- Or from the Ubuntu Software Center:
Applications ->Ubuntu Software Center -> Search for «virt-manager»
Installation for Remote Server
When you install virt-manager, the packages assumes you have a KVM installation to manage on your desktop. While this is not a totally unreasonable assumption, it is often not correct. And if you do not want to manage a local installation, having it install the suggested packages like «libvirt-bin» can add a lot of weight. But going minimal will leave things out.
- From a Command Line
This will give you virt-manager, and the tool to ask for an ssh password to connect to other servers, and that is all.
Launching
To launch KVM/VirtManager:
Applications ->System Tools ->Virtual Machine Manager
To manage virtual machines on the local system:
- Double-click on «localhost (System)»
Or to connect to any other virtual machine host (running libvirt-bin and openssh-server):
File ->Add Connection
Hypervisor: QEMU/KVM
Connection: Remote tunnel over SSH
Hostname: hostname or IP address of the remote host. For a user other than root use the format username@hostname and make sure the user is part of the libvirtd on the remote server.
Creating a Virtual Machine
- First, download an ISO cd image of some OS you want to run. For Ubuntu, you can find these at:
Double click on the name of the host. The Status column should read Active
Right click on the name of the host, and select New
This will start a wizard to guide you through the rest of your VM creation
- Enter your virtual machine details
Name: foo
Choose Local install media (ISO image or CDROM), or you can use another method if you know what you’re doing
Forward
Locate your install media
Use ISO image
Browse to find the ISO you downloaded earlier
Optional: Select the matching OS Type
Optional: Select the matching Version
Forward
Choose Memory and CPU settings
Memory (RAM): 512MB (your choice)
CPUs: 1 (your choice)
Forward
Select Enable storage for this virtual machine
Select Create a disk image on the computer’s hard drive
8 GB is the default
To speed up VM creation, you can unselect Allocate entire disk now
Forward
Ready to begin installation
- Confirm the details
Finish
Working with a Running Virtual Machine
If you double-click on any machine in Virtual Machine Manager, a new window will open, with functions unique to that virtual machine.
From this window, you apply several actions to this VM:
- Run
- Pause
- Shutdown (cleanly shuts down the VM OS)
- Reboot (cleanly reboots the VM OS)
- Force off (equivalent to yanking the power, could yield data loss in the VM)
- Fullscreen
Console
The Console tab in the main window provides access to the VM’s desktop and tty consoles.
- The desktop is accessed over a VNC connection to the guest. When you are «inside» the guest, the keyboard and mouse are «locked» to the guest. To release the keyboard and mouse, press the buttons Ctrl-Alt at the same time.
- The tty console can been accessed by:
Send Key ->Ctrl-Alt-F1
Details
The Details tab provides a view of the resources assigned to this virtual machine. Here, you can see:
- the number of processors allocated
- the amount of memory assigned
- the default boot device (CDROM or Hard Disk)
- a listing of the storage devices attached to the VM and their type (CDROM, IDE, SCSI, Virtio)
- the network adapter and its model
- the emulated mouse, display, serial, and sound hardware
Deleting a Virtual Machine
To delete a virtual machine:
- Shutdown or force off the VM.
- In Virtual Machine Manager, highlight the VM you want to delete
Click Delete at the bottom of the panel
KVM/VirtManager (последним исправлял пользователь leesharp 2016-04-10 01:23:12)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник
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 на Ubuntu Server
Инструкция написана на примере Linux Ubuntu Server 18.04.3 LTS. Она подойдет для большинства дистрибутивов на основе Debian.
Проверка поддержки гипервизора
Проверяем, что сервер поддерживает технологии виртуализации:
cat /proc/cpuinfo | egrep «(vmx|svm)»
В ответ должны получить что-то наподобие:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb tpr_shadow vnmi flexpriority ept vpid dtherm ida arat
В противном случае, заходим в БИОС, находим опцию для включения технологии виртуализации (имеет разные названия, например, Intel Virtualization Technology или Virtualization) и включаем ее — задаем значение Enable.
Также проверить совместимость можно командой:
* если команда вернет ошибку «kvm-ok command not found», установите соответствующий пакет: apt-get install cpu-checker.
INFO: /dev/kvm exists
KVM acceleration can be used
значит поддержка со стороны аппаратной части есть.
Подготовка сервера
Для нашего удобства, создадим каталог, в котором будем хранить данные для KVM:
* будет создано два каталога: /kvm/vhdd (для виртуальных жестких дисков) и /kvm/iso (для iso-образов).
timedatectl set-timezone Europe/Moscow
* данная команда задает зону в соответствии с московским временем.
apt-get install chrony
systemctl enable chrony
* устанавливаем и запускаем утилиту для синхронизации времени.
Установка и запуск
Устанавливаем KVM и необходимые утилиты управления.
а) Ubuntu после версии 18.10
apt-get install qemu qemu-kvm libvirt-daemon-system virtinst libosinfo-bin
б) Ubuntu до 18.10:
apt-get install qemu-kvm libvirt-bin virtinst libosinfo-bin
* где qemu-kvm — гипервизор; libvirt-bin — библиотека управления гипервизором; virtinst — утилита управления виртуальными машинами; libosinfo-bin — утилита для просмотра списка вариантов операционных систем, которые могут быть в качестве гостевых.
Настроим автоматический запуск сервиса:
systemctl enable libvirtd
Настройка сети на сервере KVM
Виртуальные машины могут работать за NAT (в качестве которого выступает сервер KVM) или получать IP-адреса из локальной сети — для этого необходимо настроить сетевой мост. Мы настроим последний.
Используя удаленное подключение, внимательно проверяйте настройки. В случае ошибки соединение будет прервано.
apt-get install bridge-utils
а) настройка сети в старых версиях Ubuntu (/etc/network/interfaces).
Открываем конфигурационный файл для настройки сетевых интерфейсов:
И приведем его к виду:
#iface eth0 inet static
# address 192.168.1.24
# netmask 255.255.255.0
# gateway 192.168.1.1
# dns-nameservers 192.168.1.1 192.168.1.2
auto br0
iface br0 inet static
address 192.168.1.24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1 192.168.1.2
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
* где все, что закомментировано — старые настройки моей сети; br0 — название интерфейса создаваемого моста; eth0 — существующий сетевой интерфейс, через который будет работать мост.
Перезапускаем службу сети:
systemctl restart networking
б) настройка сети в новых версиях Ubuntu (netplan).
* в зависимости от версии системы, конфигурационной файл yaml может иметь другое название.
Приводим его к виду:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
dhcp6: false
wakeonlan: true
bridges:
br0:
macaddress: 2c:6d:45:c3:55:a7
interfaces:
— eth0
addresses:
— 192.168.1.24/24
gateway4: 192.168.1.1
mtu: 1500
nameservers:
addresses:
— 192.168.1.2
— 192.168.1.3
parameters:
stp: true
forward-delay: 4
dhcp4: false
dhcp6: false
* в данном примере мы создаем виртуальный бридж-интерфейс br0; в качестве физического интерфейса используем eth0. 2c:6d:45:c3:55:a7 — физический адрес интерфейса, через который мы будем настраивать бридж; 192.168.1.24 — IP-адрес нашего сервера KVM; 192.168.1.1 — адрес шлюза; 192.168.1.2 и 192.168.1.3 — адреса серверов DNS.
Применяем сетевые настройки:
Настаиваем перенаправления сетевого трафика (чтобы виртуальные машины с сетевым интерфейсом NAT могли выходить в интернет):
sysctl -p /etc/sysctl.d/99-sysctl.conf
Создание виртуальной машины
Для создания первой виртуальной машины вводим следующую команду:
virt-install -n VM1 \
—autostart \
—noautoconsole \
—network=bridge:br0 \
—ram 2048 —arch=x86_64 \
—vcpus=2 —cpu host —check-cpu \
—disk path=/kvm/vhdd/VM1-disk1.img,size=16 \
—cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \
—graphics vnc,listen=0.0.0.0,password=vnc_password \
—os-type linux —os-variant=ubuntu18.04 —boot cdrom,hd,menu=on
- VM1 — имя создаваемой машины;
- autostart — разрешить виртуальной машине автоматически запускаться вместе с сервером KVM;
- noautoconsole — не подключается к консоли виртуальной машины;
- network — тип сети. В данном примере мы создаем виртуальную машину с интерфейсом типа «сетевой мост». Для создания внутреннего интерфейса с типом NAT вводим —network=network:default,model=virtio;
- ram — объем оперативной памяти;
- vcpus — количество виртуальных процессоров;
- disk — виртуальный диск: path — путь до диска; size — его объем;
- cdrom — виртуальный привод с образом системы;
- graphics — параметры подключения к виртуальной машины с помощью графической консоли (в данном примере используем vnc); listen — на какой адресе принимает запросы vnc (в нашем примере на всех); password — пароль для подключения при помощи vnc;
- os-variant — гостевая операционная система (весь список мы получали командой osinfo-query os, в данном примере устанавливаем Ubuntu 18.04).
Подключение к виртуальной машине
На компьютер, с которого планируем работать с виртуальными машинами, скачиваем VNC-клиент, например, TightVNC и устанавливаем его.
На сервере вводим:
virsh vncdisplay VM1
команда покажет, на каком порту работает VNC для машины VM1. У меня было:
* :1 значит, что нужно к 5900 прибавить 1 — 5900 + 1 = 5901.
Запускаем TightVNC Viewer, который мы установили и вводим данные для подключения:
Кликаем по Connect. На запрос пароля вводим тот, что указали при создании ВМ, (vnc_password). Мы подключимся к виртуальной машине удаленной консолью.
Если мы не помним пароль, открываем настройку виртуальной машины командой:
И находим строку:
* в данном примере для доступа к виртуальной машине используется пароль 12345678.
Управление виртуальной машиной из командной строки
Примеры команд, которые могут пригодиться при работе с виртуальными машинами.
1. Получить список созданных машин:
2. Включить виртуальную машину:
virsh start VMname
* где VMname — имя созданной машины.
3. Выключить виртуальную машину:
virsh shutdown VMname
4. Включить автозапуск виртуальной машины:
virsh autostart VMname
5. Редактирование конфигурации виртуальной машины:
virsh edit VMname
6. Работа с сетевыми интерфейсами.
Добавить обычный сетевой интерфейс (default или NAT) виртуальной машине:
virsh attach-interface —domain VMname —type network —source default —model virtio —config —live
Добавить интерфейс типа bridge:
virsh attach-interface —domain VMname —type bridge —source br0 —model rtl8139 —config —live
Удалить сетевой интерфейс:
virsh detach-interface VMname —type bridge —mac 52:54:00:2e:a9:4d
* где bridge — тип сетевого интерфейса (также может быть network); 52:54:00:2e:a9:4d — MAC-адрес сетевого адаптера (узнать данный адрес можно в конфигурации виртуальной машины или в самой гостевой операционной системы).
7. Посмотреть IP-адреса, выданные виртуальным машинам автоматически:
virsh net-dhcp-leases default
* где default — виртуальная сеть, создаваемая по умолчанию при установке KVM.
8. Работа со снапшотами
Теневые копии или снапшоты позволяют нам быстро вернуть определенное состояние системы виртуальной машины. Рассмотрим процесс создания снапшота и управления им.
а) Создать снимок виртуальной машины можно командой:
virsh snapshot-create-as —domain VMname —name VMname_snapshot_2020-03-21
* где VMname — название виртуальной машины; VMname_snapshot_2021-05-03 — название для снапшота.
б) Список снапшотов можно посмотреть командой:
virsh snapshot-list —domain VMname
* данной командой мы просмотрим список всех снапшотов для виртуальной машины VMname.
в) Для применения снапшота, сначала мы должны остановить виртуальную машину. Для этого можно либо выполнить выключение в операционной системе или ввести команду:
virsh shutdown VMname
virsh snapshot-revert —domain VMname —snapshotname VMname_snapshot_2020-03-21 —running
* где VMname — имя виртуальной машины; VMname_snapshot_2021-05-03 — имя созданного снапшота.
г) Удалить снапшот можно так:
virsh snapshot-delete —domain VMname —snapshotname VMname_snapshot_2020-03-21
Управление дисками
Отдельно рассмотрим процесс работы с виртуальными дисками.
Добавление диска
Создаем файл для нового диска:
qemu-img create -f raw /data/kvm/vhdd/VMname-disk2.img 4G
* в данном примере мы создадим файл формата raw по полному пути /data/kvm/vhdd/VMname-disk2.img размером 4 Гб.
Теперь подключим данный диск к виртуальной машине:
virsh attach-disk VMname /data/kvm/vhdd/VMname-disk2.img vdb —cache none
* в данном примере мы подключили его к машине VMname в качестве диска vdb.
Готово. Подключаемся к виртуальной машине и проверяем, что у нас появился новый диск. Например, в Linux можно посмотреть командой:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 24G 0 disk
??vda1 252:1 0 24G 0 part
??ubuntu—vg-root 253:0 0 23G 0 lvm /
??ubuntu—vg-swap_1 253:1 0 980M 0 lvm [SWAP]
vdb 252:16 0 4G 0 disk
Увеличение размера виртуального диска
Получаем список дисков для виртуальной машины:
virsh domblklist VMname
* в данном примере путь до диска — /data/kvm/vhdd/VMname-disk1.img.
Останавливаем виртуальную машину:
virsh shutdown VMname
* или завершаем работу в самой операционной системе.
Увеличиваем размер диска:
qemu-img resize /data/kvm/vhdd/VMname-disk1.img +100G
* данной командой мы расширим дисковое пространство виртуального диска /data/kvm/vhdd/VMname-disk1.img на 100 Гигабайт.
Мы должны увидеть:
Получаем информацию о виртуальном диске:
qemu-img info /data/kvm/vhdd/VMname-disk1.img
Запускаем виртуальную машину:
virsh start VMname
Меняем размер блочного устройства:
virsh blockresize UBU /data/kvm/vhdd/VMname-disk1.img 200G
* где 200G — общий размер виртуального диска после расширения.
После необходимо поменять размер диска в самой операционной системе. Пример того, как это можно сделать можно прочитать в инструкции Добавление дискового пространства виртуальной машине в VMware (раздел «Настройка операционной системы»).
Управление сетевыми настройками виртуальной машины
В данном подразделе рассмотрим примеры работы с сетевыми настройками виртуальных машин.
Резервирование IP на DHCP
Если мы раздаем IP-адреса виртуальным машинам с помощью встроенного в KVM сервера DHCP, мы можем привязать определенный IP по mac-адресу. Для этого смотрим список наших виртуальных сетей:
Мы увидим список сетей, например:
Name State Autostart Persistent
———————————————————-
br0 active yes yes
default active yes yes
В моем случае, необходимо настроить сеть default — вводим:
Источник