Kvm ошибка нет активных соединений для установки

When I tried to install new virtual machine in virt-manager, virtualization - localhost (QEMU) is not connected. It shows Error: No active connection to installed on. How to fix this problem.

When I tried to install new virtual machine in virt-manager, virtualization — localhost (QEMU) is not connected.

It shows Error: No active connection to installed on.
How to fix this problem.

muru's user avatar

muru

189k52 gold badges460 silver badges711 bronze badges

asked Jul 5, 2017 at 9:38

aditya's user avatar

1

Make sure your username is part of the libvirt group.
Try running sudo adduser <username> libvirt. This fixed the problem for me.

answered Feb 6, 2020 at 18:25

ayeiser's user avatar

ayeiserayeiser

511 silver badge3 bronze badges

  1. Verify you have all packages you need

    $ sudo apt install -y qemu-kvm libvirt0 libvirt-bin virt-manager bridge-utils
    $ sudo systemctl enable libvirt-bin

  2. Verify that libvirtd and libvirt-bin are up and running.

    $ sudo service libvirtd status
    $ sudo service libvirt-bin status

  3. $ sudo systemctl reboot

ralphf123's user avatar

answered Mar 1, 2018 at 18:10

Zeh's user avatar

You are likely going to need to make sure your user owns the libvirt socket, change out the username:username with your actual username

sudo chown username:username /var/run/libvirt/libvirt-sock

answered Feb 28, 2022 at 14:04

dsha256's user avatar

dsha256dsha256

1,2482 gold badges4 silver badges10 bronze badges

Try restarting the libvirtd service:

sudo service libvirtd stop
sudo service libvirtd start

answered Sep 29, 2022 at 5:05

kurdtpage's user avatar

kurdtpagekurdtpage

1551 silver badge8 bronze badges

Содержание

  1. KVM мостовая сеть не работает
  2. 3 ответа
  3. Часто возникающие проблемы
  4. Проблемы с панелью управления
  5. Проблемы с узлами кластера
  6. Установка и настройка KVM в Ubuntu
  7. Что такое KVM?
  8. Установка KVM в Ubuntu
  9. Сетевой Bridge для kvm
  10. Настройка KVM в Ubuntu Server
  11. kvm passthrough
  12. port forwarding
  13. Основные команды KVM
  14. Создание виртуальной машины
  15. Автозапуск виртуальной машины
  16. Удаление виртуальной машины
  17. Увеличение размера диска
  18. KVM Agent
  19. Установка Windows 10 в KVM
  20. Snapshot виртуальной машины KVM
  21. Бэкап виртуальной машины
  22. Web интерфейс (gui) для KVM
  23. Заключение
  24. 4 комментариев к записи « Установка и настройка KVM в Ubuntu »

KVM мостовая сеть не работает

Я только что установил KVM на свой сервер Ubuntu в соответствии с этим руководством: https://help.ubuntu.com/community/KVM/Installation

Затем я создал виртуальную машину с помощью virt-manager. Я пробовал несколько раз, но гость не может подключиться к сети! Любая помощь?

brctl showmacs br0:

*В госте * Мне не удалось скопировать вставить информацию из гостя, потому что не могу ssh к нему. Он не получил IP от DHCP. Не будет работать даже после ручной настройки.

3 ответа

прелиминарии

Это следующее работает для меня для Ubuntu 12.04. Вы должны отключить брандмауэр вашего компьютера во время тестирования, чтобы он не мешал.

Файл /etc/default/qemu-kvm должен быть таким же, как изначально установлен.

Вам нужно будет использовать утилиты-бриджи QEMU-квм и libvirt-bin установлены. Любые пользователи, использующие виртуальные машины, должны быть добавлены в группу libvirtd.

Кажется, больше нет необходимости добавлять возможность CAP_NET_ADMIN.

Настройка сети

Сетевым режимом по умолчанию является режим пользователя, также называемый SLIRP. Он использует предопределенный мост virbr0, который NAT направляется на гостевой компьютер. NAT-маршрутизация использует функцию ядра ip_forwarding и iptables. В режиме моста в гостевой системе используется виртуальный мост, к которому подключается (ненумерованный) интерфейс Ethernet и на котором и у хоста, и у гостя есть свои сетевые интерфейсы.

Следующие диаграммы могут прояснить различия:

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

Я могу настроить мостовой режим с помощью следующих подходов:

В /etc/network/interfaces (из той части поста, которую вы упоминаете в своем вопросе):

Перезагружать; и убедитесь, что беспроводная сеть не активна. Проверьте IP-маршрут по умолчанию с ip route , Это должен быть интерфейс br0.

Примечание: если ваш Ethernet не подключен, когда это изменение будет сделано, вам нужно подключить кабель Ethernet и получить носитель, или загрузка будет зависать в течение двух минут, и у вас не будет возможности сети. Это связано с тем, что интерфейс eth0 Находясь в этом файле, должен подойти, прежде чем загрузка может продолжаться нормально.

NB. Как правило, вы не можете использовать беспроводную сеть вместо eth0 из-за невозможности использования нескольких MAC-адресов (я полагаю, что им нужен второй для моста).

В качестве альтернативы вы можете отключить использование Ethernet и убедиться, что у него нет IP-адреса и что не существует маршрута по умолчанию, настроенного с помощью ip route , Затем:

Вы также можете указать здесь статический IP-адрес, а также указать маршрут по умолчанию и адрес DNS. Для этого примера dhclient Является ли это.

Вот моя таблица маршрутов:

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

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

-netdev tap параметр делает sudo требованием. При запуске виртуальной машины qemu-kvm выполняет следующие команды:

Это делается с помощью /etc/qemu-ifup

Интерфейс виртуальной машины vnet0 добавлен к мосту br0, потому что маршрут по умолчанию, используемый выше, использует этот интерфейс моста. Если бы этого не было, вместо этого интерфейс крана был бы добавлен к интерфейсу virbr0. Поскольку он не подключен к Интернету, в моих экспериментах NAT использовался для подключения гостя к хосту и Интернету. Вы можете направить vnet0 на конкретный мост в /etc/default/qemu-kvm. Используя virt-manager ниже, вы можете явно указать, к какому мосту подключаться.

Из-за вышеупомянутых команд, выданных qemu-kvm, и -netdev tap,id=tunnel,ifname=vnet0 В этом случае виртуальная машина vm подключена к туннелю vnet0, а туннель — к мосту br0.

Теперь я могу напрямую подключиться к этой гостевой виртуальной машине с другого компьютера в моей сети.

Мой хозяин ifconfig (обратите внимание на интерфейс vnet0, который появляется в моей сети, когда виртуальная машина работает):

Моя конфигурация моста во время работы виртуальной машины:

Обратите внимание, что как интерфейс виртуальной машины vnet0, так и интерфейс eth0 подключены к мосту br0.

И MAC на интерфейсе br0:

Обратите внимание, что интерфейс br0 соединяет мой хост-компьютер с тем же мостом, который используется гостем.

Вы можете проверить, что вы соединены мостом, а не NAT направлен в вашу собственную сеть, используя traceroute 8.8.8.8 , Если первый узел является маршрутизатором вашей сети, а не IP-адресом гостя, ваша сеть должна работать правильно.

вирт-менеджер

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

Определив мост br0, как описано выше, я создал виртуальную машину с помощью virt-manager:

Я был в состоянии пойти непосредственно к остальной части моей домашней сети и к Интернету от этого гостя. Я также смог подключиться к нему с другого (не хостового, не гостевого) компьютера Ubuntu в моей домашней сети.

Вот очень долго kvm команда, запускаемая virt-manager (для сравнения с EApubs или кем-то еще, имеющим проблемы с этим):

Вот сетевая часть описания виртуальной машины в /etc/libvirt/qemu/quantal.xml

Согласно этой ссылке, для производительности и надежности, может быть лучше установить модель сетевого устройства на virtio , вы можете сделать это в virt-viewer, нажав кнопку i, перейдя к настройке NIC и установив «Модель устройства» на virtio , Вы также можете добавить это в XML выше, добавив строку:

В итоге

Все это заняло 12.04 было:

  1. Установка virt-manager, bridge-utils, qemu-kvm и связанных пакетов
  2. Убедитесь, что каждый пользователь, желающий использовать kvm, входит в группу libvirtd.
  3. Определение / etc / network / interfaces, как указано выше (которые соответствуют цитируемой статье)
  4. Перезагрузитесь, убедившись, что Ethernet подключен и беспроводная связь (если есть) отключена.
  5. Либо запустите kvm против изображения напрямую, например, -device e1000,netdev=tunnel -netdev tap,id=tunnel,ifname=vnet0 или создайте виртуальную машину с помощью virt-manager, указав сетевой мост br0 на шаге 4-> панель «Дополнительные параметры».

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

Чтобы выставить услугу вашего нового гостя в Интернете, вам необходимо:

  1. Подготовьте и настройте любую службу брандмауэра, которая вам понадобится.
  2. Либо назначьте статический адрес в вашей гостевой конфигурации или в вашей службе DHCP.
  3. Если вы используете NAT-маршрутизатор, откройте порт для внедряемой вами службы, направив его на IP-адрес гостя.

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

Источник

Часто возникающие проблемы

В статье приведены решения наиболее часто возникающих проблем, связанных с работой VMmanager KVM.

Проблемы с панелью управления

Обновление ПО кластера VMmanager KVM до VMmanager Cloud

Такое обновление не поддерживается.

VMmanager зависает и тормозит, в логе фигурирует ошибка «too many connections»

Наиболее частой причиной такой проблемы является зависание libvirt. Проверьте, что libvirt отвечает, попробуйте его перезапустить.

Какие процессы важны для VMmanager? Что можно отслеживать?

Важен процесс ihttpd. Также на серверах должен быть запущен libvirt.

Какие единицы измерения используются в панели управления?

В панели управления используются KiB и MiB:

  • KiB (кибибайт) — 2 в степени 10 = 1024;
  • MiB (мебибайт) — 2 в степени 20 = 1048576.

Что отлично от привычных KB и MB:

  • MB (мегабайт) — 10 в степени 6 = 1000000;
  • KB (килобайт) — 10 в степени 3 = 1000.

Формирование виртуальной машины:

  • если требуется создать виртуальную машину c 2GB оперативной памяти, то в форме редактирования необходимо указать 1907MiB (точное значение 2GB = 1907,35MiB);
  • если требуется создать диск виртуальной машины размером 15GB, то в панели необходимо указать 14305Mib;
  • обратите внимание на калькулятор величин от Google.

Проблемы с узлами кластера

После добавления виртуальной машины один из узлов кластера становится недоступен, а при попытке подключения к нему по SSH происходит подключение к виртуальной машине

При выдаче IP-адресов виртуальным машинам из той же подсети, в которой выделены IP-адреса для узлов кластера, возможна выдача IP-адреса, присвоенного узлу кластера. Вследствие этого узел будет недоступен. Для избежания данной проблемы зарезервируйте адреса узлов кластера в локальной базе IP-адресов или в IPmanager, если настроена интеграция.

Для освобождения занятого адреса виртуальной машиной выделите для неё новый IP-адрес. Перейдите в Управление → Виртуальные машины → IP-адреса. Создайте новый IP-адрес и удалите адрес, который пересекается с адресом узла кластера. Для использования виртуальной машиной нового IP-адреса измените настройки сетевого интерфейса и перезапустите сеть командой:

Ошибка при добавлении узла кластера: «Ошибка установки пакетов ‘vmmanager-kvm-pkg-vmnode’ на удалённом сервере. Дополнительная информация доступна в журнале панели управления»

Причина: пакет libguestfs устанавливается только в интерактивном режиме.

Решение: установите пакет vmmanager-kvm-pkg-vmnode из консоли.

Не добавляется узел с операционной системой CentOS

Возможная проблема — не устанавливаются необходимые пакеты. Причина — отсутствие подключённого репозитория epel. Возможная причина — неверная дата на сервере — репозиторий не находится. Проверьте и исправьте при необходимости время и дату и повторите попытку.

Не добавляется узел. Ошибка: «Невозможно применить правила брандмауэра: ошибка в синтаксисе iptables»

В логах vmmgr.log при этом видно ошибку запуска скрипта /etc/libvirt/hooks/firewall.sh:

Для решения проблемы закомментируйте строки в конфигурационном файле /etc/modprobe.d/ipv6.conf и перезапустите модуль ipv6.

Утилиты управления кластером

Источник

Установка и настройка KVM в Ubuntu

Сложно себе представить в наше время физический сервер без установленной на нем той или иной системы виртуализации. Я расскажу, как установить и настроить популярный гипервизор kvm на сервер под управлением Ubuntu. Это решение является open source, так что можно свободно использовать где угодно.

Что такое KVM?

KVM (Kernel-based Virtual Machine) — гипервизор виртуальных машин для Linux. Не стоит его путать с системами контейнеризации, такими как докер или lxc. Это принципиально разные вещи. Гипервизор дает полную изоляцию рабочего окружения, в том числе и железа. Находясь в виртуальной машине, вы имеете в своем распоряжении полноценную операционную систему, принадлежащую только вам.

Существует несколько популярных гипервизоров, как бесплатных, так и за деньги. KVM является полностью бесплатным решением, которое очень активно используют хостеры, в том числе предоставляющие услуги облачных технологий. Так же есть неплохая реализация полноценного гипервизора kvm с интерфейсом управления — proxmox. Это готовый продукт на базе дистрибутива дебиан.

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

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

Прежде чем начать установку гипервизора KVM в Ubuntu, проверим, поддерживает ли наш процессор виртуализацию. Для этого существует утилита kvm-ok. Если у вас нет ее в системе, установите пакет, который ее содержит.

Если ваш процессор не поддерживает виртуализацию, то получите сообщение:

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

Если же все ОК, то информация будет следующая.

В этом случае можно приступать к установке виртуализации kvm.

Я устанавливаю следующие компоненты kvm:

  1. qemu и qemu-kvm — сам гипервизор
  2. libvirt-daemon-system и virtinst — утилиты для управления гипервизором и виртуальными машинами
  3. libosinfo-bin — пакет с информацией о поддержки гипервизорами различных операционных систем.

Запустим и добавим в автозагрузку сервис управления kvm:

В целом, все. Установка KVM на Ubuntu на этом и заканчивается. Можно проверить, загрузились ли у вас модули ядра kvm.

Все в порядке, гипервизор kvm готов к работе.

Сетевой Bridge для kvm

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

  1. Виртуальные машины выходят во внешний мир через сам хост kvm, на котором настроен NAT. Этот вариант вам будет доступен сразу после установки kvm. Ничего дополнительно настраивать не надо, так как сетевой бридж для этого virbr0 уже будет добавлен в систему. А в правилах iptables будет добавлен MASQUERADE для NAT.
  2. Одна из виртуальных машин превращается в шлюз и через нее осуществляется доступ во внешний мир для всех виртуальных машин. Наиболее гибкий способ управления сетью для vm, но в то же время требует больше времени на настройку и набор знаний по работе с сетями.
  3. Для виртуальных машин kvm создается отдельный сетевой бридж во внешнюю сеть. Они напрямую получают в нее сетевой доступ.

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

Теперь на хосте приводим сетевые настройки в /etc/netplan к следующему виду.

Здесь будьте очень внимательны. Не выполняйте изменения сетевых настроек, не имея прямого доступа к консоли сервера. Очень высок шанс того, что что-то пойдет не так и вы потеряете удаленный доступ к серверу.

В предложенном наборе правил netplan у меня один сетевой интерфейс на хосте гипервизора — ens18. Он изначально получал настройки по dhcp. Мы добавили новый сетевой бридж br0, в него добавили интерфейс ens18. Так же мы указали, что br0 будет получать сетевые настройки по dhcp. Я указал mac адрес для того, чтобы он не менялся после перезагрузки. Такое может происходить. Адрес можно указать любой, не принципиально. Я сделал похожий на адрес физического сетевого интерфейса.

Теперь надо применить новые настройки.

Сразу после этого вы потеряете доступ к серверу по старому адресу. Интерфейс ens18 перейдет в состав bridge br0 и потеряет свои настройки. А в это время бридж br0 получит новые сетевые настройки по dhcp. IP адрес будет отличаться от того, что был перед этим на интерфейсе ens18. Чтобы снова подключиться удаленно к гипервизору kvm, вам надо будет пойти на dhcp сервер и посмотреть, какой новый ip адрес ему назначен.

Если у вас нет dhcp сервера или вы просто желаете вручную указать сетевые настройки, то сделать это можно следующим образом.

В этом случае после применения новых настроек, гипервизор kvm будет доступен по адресу 192.168.25.2.

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

Далее еще один важный момент. Чтобы наш kvm хост мог осуществлять транзит пакетов через себя, надо это явно разрешить в sysctl. Добавляем в /etc/sysctl.d/99-sysctl.conf новый параметр. Он там уже есть, надо только снять пометку комментария.

Применяем новую настройку ядра.

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

Настройка KVM в Ubuntu Server

В целом, какой-то особенной настройки для гипервизора kvm после установки делать не нужно. Я обычно выношу в отдельные директории диски виртуальных машин и iso образы. Например, в /mnt/kvm . Это позволяет подмонтировать туда любые внешние хранилища, если будет такая необходимость.

Теперь при создании виртуальных машин можно указывать эти директории.

В рамках настройки kvm сервера, рекомендую сразу же указать нужный часовой пояс и установить софт для автоматического обновления времени сервера. Это важно, так как гостевые виртуальные системы будут синхронизировать время с хостом.

kvm passthrough

Гипервизор KVM поддерживает так называемый проброс оборудования в виртуальную машину. Называется эта технология passthrough. Для того, чтобы это было возможно, ваше железо должно поддерживать технологию IOMMU. С ее помощью можно, к примеру, пробросить в виртуальную машину видеокарту.

У этой технологии очень много нюансов, так что в рамках данной статьи я не буду ее рассматривать и приводить примеры. У меня под рукой нет подходящего железа, а показывать непроверенные конфиги мне не хочется. Рассказываю об этом, просто чтобы вы знали о существовании такой возможности.

port forwarding

Если вы не создаете свой отдельный сетевой бридж для виртуальных машин, с помощью которого они будут автоматически попадать во внешнюю сеть, вам необходимо будет пробрасывать порты внутрь виртуалок. Я считаю это не очень удобным, поэтому выше и описал способ сразу вывести виртуальную машину во внешнюю сеть. Но если вам по каким-то причинам не хочется это делать и вы остаетесь на дефолтной настройке сети в kvm, то вам придется с помощью iptables делать проброс портов. Это не очень сложно, если вы умеете работать с iptables. Если же нет, то это может стать проблемой.

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

В этом примере я пробросил внешний tcp порт 22122 хоста в виртуальную машину 192.168.122.11, порт 22. В данном случае virbr0 дефолтный бридж, который был автоматически создан при установке kvm на хост.

Основные команды KVM

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

Просмотр всех виртуальных машин:

Запустить неактивную виртуальную машину:

Выключить vm штатно через возможности ОС:

Мгновенная остановка виртуальной машины. Например, если она зависла.

Информация о дисках vm:

Посмотреть информацию о vm:

Краткая информация о хосте гипервизора kvm:

Информация о файле образа диска vm:

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

Давайте теперь создадим и запустим нашу первую виртуальную машину на гипервизоре kvm. Для этого нам достаточно только консоли системы ubuntu и команды virt-install. Но перед тем, как создать саму машину, сделаем для нее диск в формате qcow2.

Отлично, теперь создаем виртуальную машину для гипервизора kvm:

Я получил предупреждение о том, что слишком мало выделил оперативной памяти для виртуальной машины Ubuntu20.04

WARNING Requested memory 1024 MiB is less than the recommended 2048 MiB for OS ubuntu20.04

На самом деле это не страшно. Для минимальной конфигурации хватит и таких ресурсов. Рассмотрим теперь подробно параметры, которые я указал при создании vm.

noautoconsole параметр указывает на то, что не надо подключаться к консоли vm. Мы и не сможем это сделать, так как на сервере не установлено графическое окружение
vcpus, cpu, check-cpu параметры cpu — количество виртуальных процессоров и их описание. В моем примере один процессор, а описание берется с хоста.
ram объем оперативной памяти для новой виртуальной машины
arch тип архитектуры
network параметры сети. В данном случае подключаем к виртуальной машине созданный ранее сетевой бридж в локальную сеть.
cdrom указываем образ диска, с которого будет выполняться установка системы
disk путь к диску, который мы создали ранее для виртуальной машины
graphics параметры подключения к консоли виртуальной машины. В данном случае подключение будет возможно по vnc с паролем parol.
os-type, os-variant тип операционной системы на новосозданной виртуальной машине
boot параметры загрузки системы. Сначала грузимся с cd, потом с диска.

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

Вывод :0 означает, что нет отступа от дефолтного порта vnc 5900. Если бы в выводе было :1, значит подключаться нужно было бы к порту 5901. В нашем случае подключаемся через любой vnc клиент к ip адресу гипервизора по порту 5900.

Вводим пароль, который указали при создании VM. Если вы его забыли, то можно подсмотреть в конфигурационном файле виртуальной машины. Он находится тут — /etc/libvirt/qemu/vmserver01.xml .

После подключения к консоли виртуальной машины, увидим традиционный установщик Ubuntu.

Можно продолжать установку непосредственно системы внутри vm. На этом установку новой виртуальной машины в kvm закончим. Рассмотрим дополнительно некоторые важные параметры, касающиеся управления.

Автозапуск виртуальной машины

Для того, что виртуальная машина kvm автоматически запускалась при старте гипервизора, можно явно это указать в самом начале. Во время создания vm надо добавить параметр autostart примерно так:

Если не сделали это сразу, не беда. За автозапуск виртуальных машин в kvm отвечает наличие символьной ссылки на конфигурацию vm в соответствующей директории — /etc/libvirt/qemu/autostart . Так что просто создайте ее.

Либо воспользуйтесь встроенной командой:

После этого виртуальная машина vmserver01 будет автоматически запускаться после перезагрузки хоста kvm.

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

Теперь рассмотрим ситуацию, когда вам надо удалить виртуальную машину в kvm, используя только консоль. Сделать это не сложно. Для начала посмотрим на список всех виртуальных машин хоста:

Останавливаем виртуальную машину vmserver01:

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

Теперь уже виртуальную машину можно удалить:

Эта команда по сути просто удаляет конфигурацию vm из директории /etc/libvirt/qemu . Для полного удаления виртуальной машины вам необходимо отдельно удалить ее диск. Сделайте это вручную сами в зависимости от того, где располагался диск. Если это был обычный qcow2 или raw файл, то удалите его командой rm.

Будьте внимательны с именем файла. Не удалите случайно диск от другой виртуальной машины.

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

Для увеличения диска виртуальной машины в kvm достаточно воспользоваться консольной утилитой qemu-img. Если вы не знаете, где располагается диск виртуальной машины, посмотреть можно так:

Далее нам нужно завершить работу виртуальной машины. После этого увеличиваем размер диска:

Увеличил размер диска на 1G. Посмотрим информацию о диске:

В моем примере размер диска vm был изначально 2G, я увеличил его до 3-х.

KVM Agent

Для того, чтобы гипервизор мог получать информацию о виртуальной машине и взаимодействовать с ней, на нее необходимо установить qemu-guest-agent. Он нужен, например, для корректного завершения работы системы командой от гипервизора. Или для создания снепшота диска виртуалки без ее остановки. Для этого в свойствах виртуальной машины его нужно включить.

Сделать это можно отредактировав конфиг виртуальной машины. В него нужно добавить дополнительный channel. Сделаем это.

Добавляем в конфиг:

Прежде чем добавлять, посмотрите, нет ли у вас уже этой секции в конфигурации.

После этого в самой виртуальной машине нужно установить пакет qemu-guest-agent. Обычно он присутствует в стандартных репозиториях всех популярных систем. Для windows нужно отдельно скачать образ диска virtio-win и установить агента оттуда. Скачать образ можно тут, ссылки для windows в конце.

Установка Windows 10 в KVM

Для того, чтобы установить виртуальную машину с Windows 10 в KVM ничего особенного делать не надо. Кладем iso образы системы и virtio драйверов на kvm хост и запускаем виртуальную машину.

Дальше подключаемся по vnc и выполняем установку Windows 10. Узнать порт vnc для подключения можно командой:

В данном случае порт будет 5900. Число после двоеточия добавляется к стандартному порту 5900. Если бы там было :5, то подключаться нужно было бы по порту 5905. Если во время установки в списке дисков будет пусто, необходимо загрузить драйвер с образа virtio-win.iso. Сам драйвер находится в папке E:viostorw10amd64.

После установки Windows 10 на KVM, зайдите в систему и установите драйвера для всего неопознанного оборудования. Драйвер можно поставить автопоиском с диска virtio-win. В самом конце с этого же диска установите Qemu Guest Agent. Он там в отдельной директории лежит в виде приложения.

На этом все, система с Windows 10 готова работать на гипервизоре KVM. Установка немного посложнее, чем в других гипервизорах из-за того, что в стандартном образе виндовс нет драйверов для дисков kvm.

Snapshot виртуальной машины KVM

Отдельно расскажу, как сделать snapshot виртуальной машины в kvm. Для того, чтобы функционал снимков был доступен, ваши диски должны быть в формате qcow2. Именно он поддерживает снэпшоты. Если диски raw, то сделать снимок не получится. Так же необходимо, чтобы в системе был установлен qemu-guest-agent. Если его не будет, то при создании снимка работающей vm получите ошибку:

error: Guest agent is not responding: QEMU guest agent is not connected

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

Отлично, имя диска vda. Теперь делаем его snapshot:

vmserver01 имя виртуальной машины, для которой делаем снэпшот
snapshot-name название самого снепшота, актуально, когда их несколько
vda имя диска виртуальной машины
vmserver01-disk1-snapshot.qcow2 имя и путь для снепшота

После этого в директории /mnt/kvm/disk появится файл vmserver01-disk1-snapshot.qcow2 , куда будут писаться все изменения диска. Сам же диск останется в неизменном виде. В этой ситуации его удобно забэкапить. Рассмотрим это позже. Если сейчас посмотреть список дисков виртуальной машины, то в качестве диска там будет указан снэпшот.

Для того, чтобы удалить снепшот и объединить изменения с основным файлом виртуальной машины, используйте команду:

Проверьте список дисков. У вас должен исчезнуть snapshot, а основной диск вернется на прежнее место.

Бэкап виртуальной машины

Бэкап виртуальной машины kvm может быть выполнен по-разному. По своей сути это просто копия диска и экспорт настроек vm. Если вы хотите делать backup без остановки виртуальной машины, то необходимо воспользоваться снепшотом. Как его сделать, я показал выше. После того, как снэпшот сделан, вам достаточно просто скопировать основной диск vm. Сделать это можно любым доступным способом. Например, можно его сразу же сжать и положить в директорию с бэкапами.

Мы сжали диск виртуальной машины с помощью tar и gz и положили его в директорию с бэкапами /mnt/backup/ . Для полноты бэкапа, положим туда же и настройки виртуальной машины.

После того, как сделаете backup виртуальной машины, не забудьте объединить снэпшот с основными диском. Не допускайте роста числа снэпшотов. Это приводит к сильному снижению производительности, а когда снимков станет слишком много, могут быть ошибки работы с диском.

Если у вас есть возможность остановить виртуальную машину для создания архива, то снимки вам не нужны. Просто останавливайте виртуалку и копируйте ее диски. А потом запускайте снова. Можно все эти действия объединить в скрипт. Примерно так:

Это просто набросок. По хорошему, сюда нужно добавлять проверки, отправку отчета на почту и т.д.

Web интерфейс (gui) для KVM

Выше я показал, как управлять виртуальными машинами через консоль. В целом, весь необходимый функционал доступен. Но если вам хочется управлять виртуальными машинами kvm через браузер, то можно поставить простую панель управления для этого. В качестве KVM Web Interface я предлагаю использовать VMDashboard. Это обычное веб приложение, написанное на php. В работе использует базу данных MySQL.

Устанавливаем необходимые компоненты сервера для работы Web Interface.

Для того, чтобы работало подключение к консолям виртуальных машин через web интерфейс, необходимо раскомментировать один параметр в /etc/libvirt/qemu.conf .

Продолжаем настройку web панели для kvm. Добавляем пользователя www-data в группу libvirt:

Переходим в директорию www и загружаем исходники панели:

Распаковываем их и готовим к запуску:

Теперь нам нужно создать mysql базу для веб панели.

Далее нужно перезагрузить kvm сервер:

После перезагрузки идем в web интерфейс по адресу http://10.20.1.40/vmdashboard/ и настраиваем подключение к панели управления виртуальными машинами. Используем данные о созданной ранее базе данных и пользователе.

На этом установка и настройка веб панели управления для kvm закончена. Можно переходить в интерфейс и управлять виртуалками.

Заключение

Постарался всесторонне рассмотреть вопрос установки и настройки гипервизора kvm на ubuntu server. Если забыл что-то важное, напомните в комментариях. Я дополню статью.

4 комментариев к записи « Установка и настройка KVM в Ubuntu »

Отличная статья. Всё получилось. Первый раз KVM разворачиваю. Чего пришлось искать:
1. Пришлось искать дополнительно команду отсоединения cdrom (vm не хотела перегружаться).
2. http://192.168.89.37/vmdashboard/index.php выдает:
Cannot open connection to hypervisor. Please check to make sure that the Qemu service is running.
При этом qemu-kvm.service запущен.

Спасибо за обратную связь. Странно, что vmdashboard не заработал. У меня обычно нет проблем с его настройкой. Ничего особенного настраивать не надо. Сходу все запускается.

Статья очень полезная! Учился разворачивать линукс гипервизор и гостевые ос — ваша подробная инструкция очень помогла. Конечно приходилось искать ответы на некоторые вопросы самостоятельно, но это нормальный рабочий (учебный) процесс. Жду еще больше материалов и желаю развития вашему сайту. Спасибо за ваш труд!

Пишет на этапе создания виртуальной машины:
ERROR Validating install media ‘/mnt/kvm/iso/ubuntu-20.04.1-live-server-amd64.iso’ failed: Must specify storage creation parameters for non-existent path ‘/mnt/kvm/iso/ubuntu-20.04.1-live-server-amd64.iso’.
Что делать?

Источник

Многие пользователи Linux-систем для эмуляции той или иной операционной системы (далее ОС), в том числе и отличных от Linux ОС, в среде Linux, использоуют различные программы эмуляции.
Одна из таких, наиболее популярных программ — это VirtualBox (Oracle VM VirtualBox).
Но в этой статье мы с Вами рассмотрим и выполним Правильную установку другой, незаслуженно недооценённой, аналогичной программы, на мой взгляд, самой лучшей таковой программы — QEMU и в связке с ней гипервизор KVM (далее QEMU/KVM).


Для начала, давайте мы с вами вкратце разберёмся, а что же это такое — программа эмуляции аппаратного обеспечения различных платформ и гипервизор для неё.

Программа эмуляции аппаратного обеспечения различных платформ QEMU (далее ВМ) включает в себя эмуляцию процессоров Intel x86 и устройств ввода/вывода. Может эмулировать 80386, 80486, Pentium, Pentium Pro, AMD64 и другие x86-совместимые процессоры; ARM, MIPS, RISC-V, PowerPC, SPARC, SPARC64 и частично m68k.

Гипервизор KVM, в связке с QEMU, которая может использовать аппаратные возможности по виртуализации современных процессоров, применяется для достижения скорости работы виртуализованной системы, сравнимой с работой на настоящем аппаратном обеспечении.

Пакет qemu-kvm присутствует в оффициальном репозитории Ubuntu, но простая его установка на обеспечит нас всеми возможностями данного эмулятора и гепервизора, а также будет доступна только в консольном режиме.
И, чтобы обычным пользователям, как правило пользующих программы с графическим интерфейсом (GUI), а статья именно для таких, мы с вами доустановим дополнительные, вспомогательные пакеты и получим полно-функциональную ВМ, управляемую в графическом интерфейсе/режиме (GUI).

Итак, приступим у установке QEMU/KVM и для этого мы с вами воспользуемся Терминалом (Ctrl+Alt+T).

Открываем Терминал (Ctrl+Alt+T) и вводим следующий код/команду на установку:
sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system libvirt-dev bridge-utils virt-manager

После установки, в Программы мы легко находим Менеджер виртуальных машин (для управления QEMU/KVM в графическом режиме мы с вами установили пакет virt-manager — это и есть Менеджер виртуальных машин)
Или, можно нажать на: Обзор… и, введя: Менеджер виртуальных машин (МВМ), мы увидим его ярлык/иконку:
(в боковой панели справа также появится иконка (ярлык) Менеджер виртуальных машин и если нажать на неё ПКМ, то в выпавшем меню можно нажатием ЛКМ на Добавить в избранное…, закрепить ярлык/иконку в боковой панели и в любое, удобное время запустить МВМ без дополнительного поиска)

и, нажав на него/её, мы с вами попадаем в интерфейс Менеджера виртаульных машин, где в верхнем, левом углу жмём на иконку Монитора (Создать виртуальную машину):

В появившемся окне-меню: Новая виртуальная машина, в Выберите метод установки операционной системы отметьте нужный вам метод (здесь мы с вами, для пробы, оставляем Локальный ISO или CDROM, т.к. будем пробовать установить ОС из её ISO-файла) и жмём в правом, нижнем углу на кнопку Вперёд:

В следующем окне-меню, в Choose ISO or SDROM install media: (Выберите ISO или CDROM источник для установки) жмём на кнопку Обзор…:

и в октрывшемся меню-выбора Выбор тома хранилища, в нижней его части нажать на кнопку Выбрать файл:

В выпавшем окне Расположение ISO-носителя выбираем нужный нам, заранее скачанный нами в определённый каталог (здесь Загрузки) ISO-файл дистрибутива/ОС, например Windows XP кликнув два раза по нему ЛКМ или выбираем его нажатием на него ЛКМ и после этого нажимаем в правом нижнему углу окна на Открыть:

В открывшемся окне, если, как на скрине, в нижней его части, в Choose the operating system you are installing: (Выберите устанавливаемую операционную систему) версия ОС определилась, в данном случае Microsoft Windows XP, жмёте на кнопку Вперёд:

Если версия ОС автоматически не определилась, то снимаете галочку с Automatically detect from the installation media/source (Автоматическое определение из источника установки) и в поле поиска Choose the operating system you are installing: (Выберите устанавливаемую операционную систему) вписываете вручную Microsoft и в выпавшем подменю-списке, в его нижней части вешаете галочку на Include end of life operating systems (Включая старые операционные системы) и в появившемся списке выбираете Microsoft Windows XP (winxp) и жмёте на кнопку Вперёд:

Далее, в окне Choose Memory and CPU settings: (Выберите настройки Памяти и Процессора), или оставляете всё, как есть, как на скрине, или меняете значения, в зависимости от возомжностей вашей основной системы и жмёте на кнопку Вперёд:

В следующем окне Настроить пространство хранения данных, также, или оставляете всё, как есть, как на скрине, или меняете значения, в зависимости от возомжностей вашей основной системы и жмёте на кнопку Вперёд:

В следующем окне Можно начинать установку, также, или оставляете всё, как есть, как на скрине, или меняете значения, например Название: и жмёте на кнопку Готово:

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

После чего появятся два окна:
— окно Менеджер виртуальных машин (на скрине слева) с созданной ВМ: winxp — работает
— окно самой ВМ (на скрине справа): winxp на QEMUKVM в котором и будет отображаться процесс установки Windows XP, как-будто бы вы устанавливаете данную ОС на отдельный РС:

Далее, всё, как при обычной установке Windows XP, следуете указаниям установщика до полной её Установки:

Поздравляю!
Вы успешно сэмулировали/установили операционную систему Windows XP в Программу эмуляции аппаратного обеспечения различных платформ QEMU/KVM и можете использовать её, как на обычном РС.

Чтобы выключить ВМ, просто в запущенной виртуальной Windows XP стандартно завершите её работу нажатием на Пуск -> Выключение, после чего у вас останется окно ВМ без запущенной Windows XP, которое просто закройте, нажав на крестик закрытия в панели управления этого окна:

Теперь вам останется только закрыть оставшееся окно Менеджер виртуальных машин, также нажав на крестик закрытия в панели управления этого окна:

Чтобы включить ВМ, жмёте в боковой панели на ярлык/иконку Менеджер виртуальных машин и в октрывшемся его окне выбираете ЛКМ winxp — Выключена и в его верхней панели жмёте на кнопку Включить виртуальную машину или просто 2 (два) раза кликаете ЛКМ по winxp — Выключена:

В открывшемся окне самой ВМ: winxp на QEMUKVM также в его верхней панели жмёте на кнопку Включить виртуальную машину:

После чего у вас вновь успешно запустится виртуальная Windows XP:

Таким методом/способом можно эммулировать/устанавливать в среде ОС Ubuntu/Linux Mint, как впрочем и в других Linux-дистрибутивах, любую, другую ОС, любого семейства операционных систем!

P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме:

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Kurtosis standard error
  • Kuppersbusch стиральная машина ошибка f15
  • Kuppersberg посудомоечная машина ошибка е2 как исправить
  • Kui1 dll ошибка компас 15
  • Kugoo коды ошибок

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии