Установка и настройка 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. Если у вас нет ее в системе, установите пакет, который ее содержит.
sudo apt install cpu-checker sudo kmv-ok
Если ваш процессор не поддерживает виртуализацию, то получите сообщение:
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
Если же все ОК, то информация будет следующая.
В этом случае можно приступать к установке виртуализации kvm.
sudo apt install qemu qemu-kvm libvirt-daemon-system virtinst libosinfo-bin
Я устанавливаю следующие компоненты kvm:
- qemu и qemu-kvm — сам гипервизор
- libvirt-daemon-system и virtinst — утилиты для управления гипервизором и виртуальными машинами
- libosinfo-bin — пакет с информацией о поддержки гипервизорами различных операционных систем.
Запустим и добавим в автозагрузку сервис управления kvm:
sudo systemctl enable --now libvirtd
В целом, все. Установка KVM на Ubuntu на этом и заканчивается. Можно проверить, загрузились ли у вас модули ядра kvm.
sudo lsmod | grep -i kvm kvm_intel 282624 0 kvm 663552 1 kvm_intel
Все в порядке, гипервизор kvm готов к работе.
Сетевой Bridge для kvm
Настройка сети для виртуальных машин kvm может быть настроена различными способами. Я как минимум 3 наиболее популярных знаю:
- Виртуальные машины выходят во внешний мир через сам хост kvm, на котором настроен NAT. Этот вариант вам будет доступен сразу после установки kvm. Ничего дополнительно настраивать не надо, так как сетевой бридж для этого virbr0 уже будет добавлен в систему. А в правилах iptables будет добавлен MASQUERADE для NAT.
- Одна из виртуальных машин превращается в шлюз и через нее осуществляется доступ во внешний мир для всех виртуальных машин. Наиболее гибкий способ управления сетью для vm, но в то же время требует больше времени на настройку и набор знаний по работе с сетями.
- Для виртуальных машин kvm создается отдельный сетевой бридж во внешнюю сеть. Они напрямую получают в нее сетевой доступ.
Последний вариант наиболее простой и удобный, поэтому настроим сеть для виртуальных машин таким образом. Для этого нам нужно установить дополнительный пакет на host.
sudo apt install bridge-utils
Теперь на хосте приводим сетевые настройки в /etc/netplan к следующему виду.
network: ethernets: ens18: dhcp4: false dhcp6: false version: 2 bridges: br0: macaddress: 16:76:1a:3b:be:03 interfaces: - ens18 dhcp4: true dhcp6: false parameters: stp: true forward-delay: 4
Здесь будьте очень внимательны. Не выполняйте изменения сетевых настроек, не имея прямого доступа к консоли сервера. Очень высок шанс того, что что-то пойдет не так и вы потеряете удаленный доступ к серверу.
В предложенном наборе правил netplan у меня один сетевой интерфейс на хосте гипервизора — ens18. Он изначально получал настройки по dhcp. Мы добавили новый сетевой бридж br0, в него добавили интерфейс ens18. Так же мы указали, что br0 будет получать сетевые настройки по dhcp. Я указал mac адрес для того, чтобы он не менялся после перезагрузки. Такое может происходить. Адрес можно указать любой, не принципиально. Я сделал похожий на адрес физического сетевого интерфейса.
Теперь надо применить новые настройки.
sudo netplan apply
Сразу после этого вы потеряете доступ к серверу по старому адресу. Интерфейс ens18 перейдет в состав bridge br0 и потеряет свои настройки. А в это время бридж br0 получит новые сетевые настройки по dhcp. IP адрес будет отличаться от того, что был перед этим на интерфейсе ens18. Чтобы снова подключиться удаленно к гипервизору kvm, вам надо будет пойти на dhcp сервер и посмотреть, какой новый ip адрес ему назначен.
Если у вас нет dhcp сервера или вы просто желаете вручную указать сетевые настройки, то сделать это можно следующим образом.
network: ethernets: ens18: dhcp4: false dhcp6: false version: 2 bridges: br0: macaddress: 16:76:1a:3b:be:03 interfaces: - ens18 addresses: - 192.168.25.2/24 gateway4: 192.168.25.1 nameservers: addresses: - 192.168.25.1 - 77.88.8.1 dhcp4: false dhcp6: false parameters: stp: true forward-delay: 4
В этом случае после применения новых настроек, гипервизор kvm будет доступен по адресу 192.168.25.2.
Обращайте внимание на все отступы в конфигурационном файле netplan. Они важны. В случае ошибок, настройки сети применены не будут. Иногда эта тема очень напрягает, так как не получается сразу понять, где именно в отступах ошибка. В этом плане yaml файл для настроек сети гипервизора как-то не очень удобен.
Далее еще один важный момент. Чтобы наш kvm хост мог осуществлять транзит пакетов через себя, надо это явно разрешить в sysctl. Добавляем в /etc/sysctl.d/99-sysctl.conf новый параметр. Он там уже есть, надо только снять пометку комментария.
net.ipv4.ip_forward=1
Применяем новую настройку ядра.
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf net.ipv4.ip_forward = 1
С настройкой сети гипервизора мы закончили. На данном этапе я рекомендую перезагрузить сервер и убедиться, что все настройки корректно восстанавливаются после перезагрузки.
Настройка KVM в Ubuntu Server
В целом, какой-то особенной настройки для гипервизора kvm после установки делать не нужно. Я обычно выношу в отдельные директории диски виртуальных машин и iso образы. Например, в /mnt/kvm. Это позволяет подмонтировать туда любые внешние хранилища, если будет такая необходимость.
# mkdir -p /mnt/kvm/{disk,iso}
Теперь при создании виртуальных машин можно указывать эти директории.
В рамках настройки kvm сервера, рекомендую сразу же указать нужный часовой пояс и установить софт для автоматического обновления времени сервера. Это важно, так как гостевые виртуальные системы будут синхронизировать время с хостом.
sudo timedatectl set-timezone Europe/Moscow sudo apt install chrony sudo systemctl enable --now chrony
kvm passthrough
Гипервизор KVM поддерживает так называемый проброс оборудования в виртуальную машину. Называется эта технология passthrough. Для того, чтобы это было возможно, ваше железо должно поддерживать технологию IOMMU. С ее помощью можно, к примеру, пробросить в виртуальную машину видеокарту.
У этой технологии очень много нюансов, так что в рамках данной статьи я не буду ее рассматривать и приводить примеры. У меня под рукой нет подходящего железа, а показывать непроверенные конфиги мне не хочется. Рассказываю об этом, просто чтобы вы знали о существовании такой возможности.
port forwarding
Если вы не создаете свой отдельный сетевой бридж для виртуальных машин, с помощью которого они будут автоматически попадать во внешнюю сеть, вам необходимо будет пробрасывать порты внутрь виртуалок. Я считаю это не очень удобным, поэтому выше и описал способ сразу вывести виртуальную машину во внешнюю сеть. Но если вам по каким-то причинам не хочется это делать и вы остаетесь на дефолтной настройке сети в kvm, то вам придется с помощью iptables делать проброс портов. Это не очень сложно, если вы умеете работать с iptables. Если же нет, то это может стать проблемой.
В рамках данной статьи я тоже не буду рассматривать этот вопрос, так как iptables отдельная большая тема. Просто знайте, что проброс портов в виртуальную машину это обычная настройка iptables. Приведу только один пример, как с помощью iptables пробросить порт ssh для одной из виртуальных машин.
iptables -I FORWARD -o virbr0 -d 192.168.122.11 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 22122 -j DNAT --to 192.168.122.11:22
В этом примере я пробросил внешний tcp порт 22122 хоста в виртуальную машину 192.168.122.11, порт 22. В данном случае virbr0 дефолтный бридж, который был автоматически создан при установке kvm на хост.
Основные команды KVM
Для дальнейшей работы с гипервизором kvm нам необходимо познакомиться с основными командами управления.
Просмотр всех виртуальных машин:
virsh list --all
Запустить неактивную виртуальную машину:
virsh start vm
Выключить vm штатно через возможности ОС:
virsh shutdown vm
Мгновенная остановка виртуальной машины. Например, если она зависла.
virsh destroy vm
Информация о дисках vm:
virsh domblklist vm
Посмотреть информацию о vm:
virsh dominfo vm
Краткая информация о хосте гипервизора kvm:
virsh nodeinfo
Информация о файле образа диска vm:
qemu-img info disk1.qcow2
Создание виртуальной машины
Давайте теперь создадим и запустим нашу первую виртуальную машину на гипервизоре kvm. Для этого нам достаточно только консоли системы ubuntu и команды virt-install. Но перед тем, как создать саму машину, сделаем для нее диск в формате qcow2.
sudo qemu-img create -f qcow2 -o preallocation=metadata /mnt/kvm/disk/vmserver01-disk1.qcow2 10G Formatting '/mnt/kvm/disk/vmserver01-disk1.qcow2', fmt=qcow2 size=3221225472 cluster_size=65536 preallocation=metadata lazy_refcounts=off refcount_bits=16
Отлично, теперь создаем виртуальную машину для гипервизора kvm:
sudo virt-install -n vmserver01 \ --noautoconsole \ --vcpus=1 --cpu host --check-cpu \ --ram 1024 --arch=x86_64 \ --network=bridge:br0 \ --cdrom /mnt/kvm/iso/ubuntu-20.04.1-live-server-amd64.iso \ --disk path=/mnt/kvm/disk/vmserver01-disk1.qcow2 \ --graphics vnc,listen=0.0.0.0,password=parol \ --os-type linux --os-variant=ubuntu20.04 --boot cdrom,hd,menu=on
Я получил предупреждение о том, что слишком мало выделил оперативной памяти для виртуальной машины 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 осуществлять подключение. Запускаем в консоли гипервизора команду:
virsh vncdisplay vmserver01 :0
Вывод :0 означает, что нет отступа от дефолтного порта vnc 5900. Если бы в выводе было :1, значит подключаться нужно было бы к порту 5901. В нашем случае подключаемся через любой vnc клиент к ip адресу гипервизора по порту 5900.
Вводим пароль, который указали при создании VM. Если вы его забыли, то можно подсмотреть в конфигурационном файле виртуальной машины. Он находится тут — /etc/libvirt/qemu/vmserver01.xml.
После подключения к консоли виртуальной машины, увидим традиционный установщик Ubuntu.
Можно продолжать установку непосредственно системы внутри vm. На этом установку новой виртуальной машины в kvm закончим. Рассмотрим дополнительно некоторые важные параметры, касающиеся управления.
Автозапуск виртуальной машины
Для того, что виртуальная машина kvm автоматически запускалась при старте гипервизора, можно явно это указать в самом начале. Во время создания vm надо добавить параметр autostart примерно так:
sudo virt-install -n vmserver01 --autostart --noautoconsole --vcpus=1...........
Если не сделали это сразу, не беда. За автозапуск виртуальных машин в kvm отвечает наличие символьной ссылки на конфигурацию vm в соответствующей директории — /etc/libvirt/qemu/autostart. Так что просто создайте ее.
sudo ln -s /etc/libvirt/qemu/vmserver01.xml /etc/libvirt/qemu/autostart
Либо воспользуйтесь встроенной командой:
sudo virsh autostart vmserver01
После этого виртуальная машина vmserver01 будет автоматически запускаться после перезагрузки хоста kvm.
Удаление виртуальной машины
Теперь рассмотрим ситуацию, когда вам надо удалить виртуальную машину в kvm, используя только консоль. Сделать это не сложно. Для начала посмотрим на список всех виртуальных машин хоста:
sudo virsh list --all Id Name State ---------------------------- 2 vmserver01 running
Останавливаем виртуальную машину vmserver01:
sudo virsh shutdown vmserver01
Это команда для штатного выключения через операционную систему виртуальной машины. Если в ней не установлены средства интеграции с гипервизором, то она не сработает. В этом случае нужно либо через саму виртуальную машину сделать завершение работы, либо остановить ее принудительно в гипервизоре:
sudo virsh destroy vmserver01
Теперь уже виртуальную машину можно удалить:
sudo virsh undefine vmserver01
Эта команда по сути просто удаляет конфигурацию vm из директории /etc/libvirt/qemu. Для полного удаления виртуальной машины вам необходимо отдельно удалить ее диск. Сделайте это вручную сами в зависимости от того, где располагался диск. Если это был обычный qcow2 или raw файл, то удалите его командой rm.
sudo rm /mnt/kvm/disk/vmserver01-disk1.qcow2
Будьте внимательны с именем файла. Не удалите случайно диск от другой виртуальной машины.
Увеличение размера диска
Для увеличения диска виртуальной машины в kvm достаточно воспользоваться консольной утилитой qemu-img. Если вы не знаете, где располагается диск виртуальной машины, посмотреть можно так:
sudo virsh domblklist vmserver01
Далее нам нужно завершить работу виртуальной машины. После этого увеличиваем размер диска:
sudo qemu-img resize /mnt/kvm/disk/vmserver01-disk1.qcow2 +1G Image resized.
Увеличил размер диска на 1G. Посмотрим информацию о диске:
sudo qemu-img info /mnt/kvm/disk/vmserver01-disk1.qcow2
В моем примере размер диска vm был изначально 2G, я увеличил его до 3-х.
KVM Agent
Для того, чтобы гипервизор мог получать информацию о виртуальной машине и взаимодействовать с ней, на нее необходимо установить qemu-guest-agent. Он нужен, например, для корректного завершения работы системы командой от гипервизора. Или для создания снепшота диска виртуалки без ее остановки. Для этого в свойствах виртуальной машины его нужно включить.
Сделать это можно отредактировав конфиг виртуальной машины. В него нужно добавить дополнительный channel. Сделаем это.
sudo virsh shutdown vmserver01 sudo virsh edit vmserver01
Добавляем в конфиг:
<channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel>
Прежде чем добавлять, посмотрите, нет ли у вас уже этой секции в конфигурации.
После этого в самой виртуальной машине нужно установить пакет qemu-guest-agent. Обычно он присутствует в стандартных репозиториях всех популярных систем. Для windows нужно отдельно скачать образ диска virtio-win и установить агента оттуда. Скачать образ можно тут, ссылки для windows в конце.
Установка Windows 10 в KVM
Для того, чтобы установить виртуальную машину с Windows 10 в KVM ничего особенного делать не надо. Кладем iso образы системы и virtio драйверов на kvm хост и запускаем виртуальную машину.
sudo virt-install -n vm-win10 \ --noautoconsole \ --vcpus=2 --cpu host --check-cpu \ --ram 4096 --arch=x86_64 \ --network=bridge:br0 \ --cdrom /mnt/kvm/iso/windows10.iso \ --cdrom /mnt/kvm/iso/virtio-win.iso \ --disk path=/mnt/kvm/disk/vm-win10-disk1.qcow2,format=qcow2,bus=virtio \ --graphics vnc,listen=0.0.0.0,password=parol \ --os-type windows --os-variant=win10 --boot cdrom,hd,menu=on
Дальше подключаемся по vnc и выполняем установку Windows 10. Узнать порт vnc для подключения можно командой:
virsh vncdisplay vm-win10 :0
В данном случае порт будет 5900. Число после двоеточия добавляется к стандартному порту 5900. Если бы там было :5, то подключаться нужно было бы по порту 5905. Если во время установки в списке дисков будет пусто, необходимо загрузить драйвер с образа virtio-win.iso. Сам драйвер находится в папке E:\viostor\w10\amd64.
После установки 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, посмотрим на имя диска виртуальной машины:
sudo virsh domblklist vmserver01 Target Source ------------------------------------------------ vda /mnt/kvm/disk/vmserver01-disk1.qcow2 sda -
Отлично, имя диска vda. Теперь делаем его snapshot:
sudo virsh snapshot-create-as --domain vmserver01 snapshot-name -diskspec vda,file=/mnt/kvm/disk/vmserver01-disk1-snapshot.qcow2 --disk-only --atomic --quiesce --no-metadata Domain snapshot snapshot-name created
vmserver01 | имя виртуальной машины, для которой делаем снэпшот |
snapshot-name | название самого снепшота, актуально, когда их несколько |
vda | имя диска виртуальной машины |
vmserver01-disk1-snapshot.qcow2 | имя и путь для снепшота |
После этого в директории /mnt/kvm/disk появится файл vmserver01-disk1-snapshot.qcow2, куда будут писаться все изменения диска. Сам же диск останется в неизменном виде. В этой ситуации его удобно забэкапить. Рассмотрим это позже. Если сейчас посмотреть список дисков виртуальной машины, то в качестве диска там будет указан снэпшот.
sudo virsh domblklist vmserver01 Target Source --------------------------------------------------------- vda /mnt/kvm/disk/vmserver01-disk1-snapshot.qcow2
Для того, чтобы удалить снепшот и объединить изменения с основным файлом виртуальной машины, используйте команду:
sudo virsh blockcommit vmserver01 vda --active --verbose --pivot Block commit: [100 %] Successfully pivoted
Проверьте список дисков. У вас должен исчезнуть snapshot, а основной диск вернется на прежнее место.
Бэкап виртуальной машины
Бэкап виртуальной машины kvm может быть выполнен по-разному. По своей сути это просто копия диска и экспорт настроек vm. Если вы хотите делать backup без остановки виртуальной машины, то необходимо воспользоваться снепшотом. Как его сделать, я показал выше. После того, как снэпшот сделан, вам достаточно просто скопировать основной диск vm. Сделать это можно любым доступным способом. Например, можно его сразу же сжать и положить в директорию с бэкапами.
sudo tar -czvf /mnt/backup/vmserver01-disk1.qcow2.tar.gz /mnt/kvm/disk/vmserver01-disk1.qcow2
Мы сжали диск виртуальной машины с помощью tar и gz и положили его в директорию с бэкапами /mnt/backup/. Для полноты бэкапа, положим туда же и настройки виртуальной машины.
sudo virsh dumpxml vmserver01 > /mnt/backup/vmserver01.xml
После того, как сделаете backup виртуальной машины, не забудьте объединить снэпшот с основными диском. Не допускайте роста числа снэпшотов. Это приводит к сильному снижению производительности, а когда снимков станет слишком много, могут быть ошибки работы с диском.
Если у вас есть возможность остановить виртуальную машину для создания архива, то снимки вам не нужны. Просто останавливайте виртуалку и копируйте ее диски. А потом запускайте снова. Можно все эти действия объединить в скрипт. Примерно так:
#/bin/bash virsh shutdown vmserver01 tar -czvf /mnt/backup/vmserver01-disk1.qcow2.tar.gz /mnt/kvm/disk/vmserver01-disk1.qcow2 virsh dumpxml vmserver01 > /mnt/backup/vmserver01.xml virsh start vmserver01
Это просто набросок. По хорошему, сюда нужно добавлять проверки, отправку отчета на почту и т.д.
Web интерфейс (gui) для KVM
Выше я показал, как управлять виртуальными машинами через консоль. В целом, весь необходимый функционал доступен. Но если вам хочется управлять виртуальными машинами kvm через браузер, то можно поставить простую панель управления для этого. В качестве KVM Web Interface я предлагаю использовать VMDashboard. Это обычное веб приложение, написанное на php. В работе использует базу данных MySQL.
Устанавливаем необходимые компоненты сервера для работы Web Interface.
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-xml php-libvirt-php python
Для того, чтобы работало подключение к консолям виртуальных машин через web интерфейс, необходимо раскомментировать один параметр в /etc/libvirt/qemu.conf.
sudo nano /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
Продолжаем настройку web панели для kvm. Добавляем пользователя www-data в группу libvirt:
sudo adduser www-data libvirt
Переходим в директорию www и загружаем исходники панели:
cd /var/www/html sudo wget https://github.com/VMDashboard/vmdashboard/archive/v19.01.03.tar.gz
Распаковываем их и готовим к запуску:
sudo tar -xzf v19.01.03.tar.gz sudo mv vmdashboard-19.01.03 vmdashboard sudo chown -R www-data:www-data /var/www/html/vmdashboard
Теперь нам нужно создать mysql базу для веб панели.
sudo mysql -u root
CREATE DATABASE vmdashboard; CREATE USER 'vmdashboard'@'localhost' IDENTIFIED BY 'parol'; GRANT ALL PRIVILEGES ON vmdashboard.* to 'vmdashboard'@'localhost'; FLUSH PRIVILEGES; EXIT;
Далее нужно перезагрузить kvm сервер:
sudo reboot
После перезагрузки идем в web интерфейс по адресу http://10.20.1.40/vmdashboard/ и настраиваем подключение к панели управления виртуальными машинами. Используем данные о созданной ранее базе данных и пользователе.
На этом установка и настройка веб панели управления для kvm закончена. Можно переходить в интерфейс и управлять виртуалками.
Заключение
Постарался всесторонне рассмотреть вопрос установки и настройки гипервизора kvm на ubuntu server. Если забыл что-то важное, напомните в комментариях. Я дополню статью.
Отличная статья. Всё получилось. Первый раз 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’.
Что делать?
После создания моста падает интернет.
Я просто меняю yaml ставлю первый, а потом назад возвращаю который с мостом…
На хосте я должен использовать ип br0?
Приветствую!
Веб-интерфейс не пашет.
Указал правильные данные для подключения, даже перепроверил в ./config/config.php…
Пишет:
This page isn’t working
HOST is currently unable to handle this request.
HTTP ERROR 500.
Что-то не пойму, что ему нужно.
Поскольку это вложенная в HTML директория, то конфиг для нее нее не нужен.
Такая же ошибка, как починил?
В целом, я уже приноровился в шеле, но очень не удобно что-то менять в уже созданных ВМ…