Как установить kvm ubuntu

Установка KVM в Ubuntu

Само по себе программное обеспечение KVM в пространстве пользователя ничего не виртуализирует. Вместо этого, оно использует файл /dev/kvm для настройки виртуальных адресных пространств для гостевой машины в ядре. Каждая гостевая машина будет иметь свою видеокарту, сетевую и звуковую карту, жесткий диск и другое оборудование.

Также у гостевой системы не будет доступа к компонентам реальной операционной системы. Виртуальная машина выполняется в полностью изолированном пространстве. Вы можете использовать KVM как в системе с графическим интерфейсом, так и на серверах. В этой статье мы рассмотрим как выполняется установка KVM в Ubuntu 20.04.

Установка KVM в Ubuntu 20.04

Перед тем как переходить к самой установке KVM нужно проверить поддерживает ли ваш процессор аппаратное ускорение виртуализации от Intel-VT или AMD-V. Для этого выполните такую команду:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Теперь мы можем перейти к установке KVM, набор программ можно получить прямо из официальных репозиториев:

sudo apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

Мы установили не только утилиту kvm, но и библиотеку libvirt, а также менеджер виртуальных машин. После того, как установка будет завершена вам необходимо добавить своего пользователя в группу libvirt, потому что только root и пользователи этой группы могут использовать виртуальные машины KVM:

Затем убедитесь, что сервис libvirt запущен и работает:

sudo systemctl status libvirtd

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

После выполнения этой команды выйдите из системы и войдите снова. Далее, давайте проверим все ли правильно было установлено. Для этого используйте команду kvm-ok:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Если все было сделано правильно, то вы увидите такое же сообщение.

Использование KVM в Ubuntu

Вы справились с задачей установить KVM в Ubuntu, но вы еще не можете использовать эту среду виртуализации но ее нужно еще настроить. Далее, мы рассмотрим как выполняется настройка KVM в Ubuntu. Что удобно, в новых версиях сеть уже настроена и вам не нужно создавать новый сетевой мост. Вы можете убедится в этом выполнив команду:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Интерфейсы virbr0 и virbr-nic созданы KVM по умолчанию и они полностью реализуют все необходимые возможности сети. Ещё вы можете посмотреть доступные мосты с помощью команды:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Создание виртуальных машин KVM

Настройка KVM Ubuntu завершена и теперь мы можем перейти к ее использованию. Сначала давайте просмотрим список уже существующих виртуальных машин:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Он пуст. Создать виртуальную машину можно через терминал или в графическом интерфейсе. Для создания через терминал используйте команду virt-install. Сначала перейдем в папку libvirt:

Для установки CentOS команда будет выглядеть вот так:

sudo virt-install \
—virt-type=kvm \
—name centos8 \
—ram 2048 \
—vcpus=2 \
—os-variant=rhl8.0 \
—hvm \
—cdrom=/var/lib/libvirt/boot/CentOS-8.iso \
—network=bridge:virbr0,model=virtio \
—graphics vnc \
—disk path=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Разберем подробнее что означают параметры этой команды:

После завершения установки виртуальной машины вы можете узнать параметры подключения по VNC с помощью команды:

sudo virsh vncdisplay centos8

Теперь вы можете ввести полученные данные в вашем клиенте VNC и подключится к виртуальной машине даже удаленно. Для Debian команда будет немного отличаться, но все выглядит похожим образом:

Переходим в папку для образов:

Можно скачать установочный образ из интернета если это необходимо:

sudo wget https://mirrors.kernel.org/debian-cd/current/amd64/iso-dvd/debian-8.5.0-amd64-DVD-1.iso

Затем создадим виртуальную машину:

sudo virt-install \
—virt-type=kvm \
—name=debina8 \
—ram=2048 \
—vcpus=2 \
—os-variant=debian8 \
—hvm \
—cdrom=/var/lib/libvirt/boot/debian-8.5.0-amd64-DVD-1.iso \
—network=bridge=bridge0,model=virtio \
—graphics vnc \
—disk path=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

Теперь снова посмотрим список доступных машин:

Для запуска виртуальной машины можно использовать команду:

sudo virsh start имя_машины

sudo virsh shutdown имя_машины

Для перевода в режим сна:

sudo virsh suspend имя_машины

sudo virsh reboot имя_машины

sudo virsh reset имя_машины

Для полного удаления виртуальной машины:

sudo virsh destroy имя_машины

Создание виртуальных машин в GUI

Если у вас есть доступ к графическому интерфейсу то нет никакой необходимости использовать терминал, вы можете применить полноценный графический интерфейс менеджера виртуальных машин Virtual Manager. Программу можно запустить из главного меню:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Для создания новой машины кликните по иконке со значком монитора. Дальше вам будет необходимо выбрать образ ISO вашей системы. Также можно использовать реальный CD/DVD привод:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Если вы выбрали ISO образ, то надо его открыть из файловой системы:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

На следующем экране выберите количество памяти, которая будет доступна для виртуальной машины, а также количество ядер процессора:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

На этом экране вам нужно выбрать размер жесткого диска, который будет доступен в вашей машине:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

На последнем шаге мастера вам предстоит проверить правильность настроек машины, а также ввести ее имя. Также нужно указать сетевой мост, через который машина будет подключаться к сети:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Затем автоматически запустится установка:

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

После этого машина будет готова к использованию и появится в списке. Вы можете запустить ее с помощью зеленого треугольника на панели инструментов менеджера.

Выводы

В этой статье мы рассмотрели как выполняется установка KVM Ubuntu 20.04, разобрали как полностью подготовить эту среду к работе, а также как создать виртуальные машины и использовать их. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение лекция от яндекса о том что такое виртуализация в Linux:

Источник

Ubuntu Documentation

Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info.

Installation

Pre-installation checklist

Check that your CPU supports hardware virtualization

To run KVM, you need a processor that supports hardware virtualization. Intel and AMD both have developed extensions for their processors, deemed respectively Intel VT-x (code name Vanderpool) and AMD-V (code name Pacifica). To see if your processor supports one of these, you can review the output from this command:

If 0 it means that your CPU doesn’t support hardware virtualization.

By default, if you booted into XEN kernel it will not display svm or vmx flag using the grep command. To see if it is enabled or not from xen, enter:

You must see hvm flags in the output.

Alternatively, you may execute:

which may provide an output like this:

You can still run virtual machines, but it’ll be much slower without the KVM extensions.

NOTE: You may see a message like «KVM acceleration can/can NOT be used». This is misleading and only means if KVM is *currently* available (i.e. «turned on»), *not* if it is supported.

Use a 64 bit kernel (if possible)

Running a 64 bit kernel on the host operating system is recommended but not required.

    To see if your processor is 64-bit, you can run this command:

    If 0 is printed, it means that your CPU is not 64-bit.

    If 1 or higher, it is. Note: lm stands for Long Mode which equates to a 64-bit CPU.

    Now see if your running kernel is 64-bit, just issue the following command:

    x86_64 indicates a running 64-bit kernel. If you use see i386, i486, i586 or i686, you’re running a 32-bit kernel.

    Note: x86_64 is synonymous with amd64.

    Installation of KVM

    Install Necessary Packages

    For the following setup, we will assume that you are deploying KVM on a server, and therefore do not have any X server on the machine.

    You need to install a few packages first:

    Cosmic (18.10) or later

    Lucid (10.04) or later

    Karmic (9.10) or earlier

      libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt

      qemu-kvm (kvm in Karmic and earlier) is the backend

      ubuntu-vm-builder powerful command line tool for building virtual machines

      bridge-utils provides a bridge from your network to the virtual machines

      You might also want to install virt-viewer, for viewing instances.

      Add Users to Groups

      Karmic (9.10) and later (but not 14.04 LTS and 18.10)

      You need to ensure that your username is added to the group libvirtd:

      After this, you need to relogin so that your user becomes an effective member of the libvirtd group. The members of this group can run virtual machines. (You can also ‘newgrp kvm’ in a terminal, but this will affect only that terminal.)

      Bionic (18.04 LTS) and higher

      The group name is changed to libvirt, and you also need to be a member of ‘kvm’:

      Releases prior to Karmic (9.10)

      You need to ensure that your username is added to the groups: kvm and libvirtd.

      To add your to the groups:

      After the installation, you need to relogin so that your user becomes an effective member of kvm and libvirtd user groups. The members of this group can run virtual machines.

      Verify Installation

      You can test if your install has been successful with the following command:

      If on the other hand you get something like this:

      Something is wrong (e.g. you did not relogin) and you probably want to fix this before you move on. The critical point here is whether or not you have write access to /var/run/libvirt/libvirt-sock.

      The sock file should have permissions similar to:

      Also, /dev/kvm needs to be in the right group. If you see:

      You might experience problems when creating a virtual machine. Change the device’s group to kvm/libvirtd instead:

      Now you need to either relogin or restart the kernel modules:

      Optional: Install virt-manager (graphical user interface)

      If you are working on a desktop computer you might want to install a GUI tool to manage virtual machines.

      Create a new virtual machine by pressing the top left Create a new virtual machine toolbar button.

      Version-specific Notes

      8.10 (Intrepid) Notes

      Two meta packages have been added: ubuntu-virt-server and ubuntu-virt-mgmt. Ubuntu-virt-server installs the packages needed to setup a base virtulization host (kvm, libvirt-bin and openssh-server) and ubuntu-virt-mgmt installs what you need to administer it from a management station (virt-manager, python-vm-builder and virt-viewer).

      ubuntu-vm-builder has been replaced by python-vm-builder (tutorial).

      or reboot your system before being able to use it.

      11.10 (Oneric) Notes

      Switching to the server kernel might be helpful if there are start problems with virtual machines (i.e. Windows XP freezes approximately once every 5 starts )

      KVM/Installation (последним исправлял пользователь hamishmb 2020-03-23 20:00:34)

      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

      Источник

      Настройка 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

      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 могли выходить в интернет):

      Создание виртуальной машины

      Для создания первой виртуальной машины вводим следующую команду:

      Подключение к виртуальной машине

      На компьютер, с которого планируем работать с виртуальными машинами, скачиваем VNC-клиент, например, TightVNC и устанавливаем его.

      virsh vncdisplay VM1

      команда покажет, на каком порту работает VNC для машины VM1. У меня было:

      * :1 значит, что нужно к 5900 прибавить 1 — 5900 + 1 = 5901.

      Запускаем TightVNC Viewer, который мы установили и вводим данные для подключения:

      Как установить kvm ubuntu. Смотреть фото Как установить kvm ubuntu. Смотреть картинку Как установить kvm ubuntu. Картинка про Как установить kvm ubuntu. Фото Как установить kvm ubuntu

      Кликаем по Connect. На запрос пароля вводим тот, что указали при создании ВМ, (vnc_password). Мы подключимся к виртуальной машине удаленной консолью.

      Если мы не помним пароль, открываем настройку виртуальной машины командой:

      * в данном примере для доступа к виртуальной машине используется пароль 12345678.

      Управление виртуальной машиной из командной строки

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

      1. Получить список созданных машин:

      2. Включить виртуальную машину:

      virsh start VMname

      * где VMname — имя созданной машины.

      3. Выключить виртуальную машину:

      virsh shutdown VMname

      4. Включить автозапуск виртуальной машины:

      virsh autostart VMname

      5. Редактирование конфигурации виртуальной машины:

      6. Работа с сетевыми интерфейсами.

      Добавить обычный сетевой интерфейс (default или NAT) виртуальной машине:

      Добавить интерфейс типа bridge:

      Удалить сетевой интерфейс:

      * где bridge — тип сетевого интерфейса (также может быть network); 52:54:00:2e:a9:4d — MAC-адрес сетевого адаптера (узнать данный адрес можно в конфигурации виртуальной машины или в самой гостевой операционной системы).

      7. Посмотреть IP-адреса, выданные виртуальным машинам автоматически:

      virsh net-dhcp-leases default

      * где default — виртуальная сеть, создаваемая по умолчанию при установке KVM.

      8. Работа со снапшотами

      Теневые копии или снапшоты позволяют нам быстро вернуть определенное состояние системы виртуальной машины. Рассмотрим процесс создания снапшота и управления им.

      а) Создать снимок виртуальной машины можно командой:

      * где VMname — название виртуальной машины; VMname_snapshot_2021-05-03 — название для снапшота.

      б) Список снапшотов можно посмотреть командой:

      * данной командой мы просмотрим список всех снапшотов для виртуальной машины VMname.

      в) Для применения снапшота, сначала мы должны остановить виртуальную машину. Для этого можно либо выполнить выключение в операционной системе или ввести команду:

      virsh shutdown VMname

      * где VMname — имя виртуальной машины; VMname_snapshot_2021-05-03 — имя созданного снапшота.

      г) Удалить снапшот можно так:

      Управление дисками

      Отдельно рассмотрим процесс работы с виртуальными дисками.

      Добавление диска

      Создаем файл для нового диска:

      * в данном примере мы создадим файл формата raw по полному пути /data/kvm/vhdd/VMname-disk2.img размером 4 Гб.

      Теперь подключим данный диск к виртуальной машине:

      * в данном примере мы подключили его к машине 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 — вводим:

      Источник

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

      Ваш адрес email не будет опубликован. Обязательные поля помечены *