Вопрос или проблема
На Ubuntu 20.04.1 я пытаюсь запустить виртуальные машины с использованием KVM. После установки необходимых пакетов я все еще получаю эту ошибку:
sudo systemctl status libvirtd
Юнит libvirtd.service не найден.
Вот что я сделал:
a) проверка поддержки kvm
$ sudo kvm-ok
ИНФОРМАЦИЯ: /dev/kvm существует
Можно использовать ускорение KVM
b) установка необходимых пакетов
$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
Теперь, это должно быть всем необходимым, и я должен быть в состоянии открыть графический интерфейс virt-manager и начать работать, а служба libvirtd должна быть уже запущена. Но на моем компьютере нет работающей службы libvirtd, и юнит libvirtd.service не установлен.
Очевидно, что virt-manager не может подключиться к демону, поэтому ниже указана ошибка.
После выполнения $ sudo virt-manager
–> графический интерфейс virt-manager запускается с правами root.
Ясно, что окно говорит:
Служба libvirtd, похоже, не установлена. Установите и запустите
службу libvirtd для управления виртуализацией на этом хосте.
И очевидно, что создание виртуальных машин невозможно, и ниже указана ошибка при попытке этого.
Ссылка – Как установить KVM на Ubuntu 20.04
Примечание: Эта проблема не является дублирующейся с – Ошибка KVM Virt-Manager: Нет активного соединения для установки
(один ответ здесь предлагает установить – libvirt-bin, но этот пакет не существует в репозитории).
$ apt list libvirt-bin
Список... Готово
Аппаратное обеспечение: Эта попытка делается на ноутбуке с четырехъядерным процессором Intel.
Правка – После комментария от ajgringo619, мне удалось решить проблему libvirtd.service. Но другие проблемы все еще сохраняются.
Ниже также опубликован отдельный вопрос @ Предупреждение: Модули ядра KVM не загружены. Ваша виртуальная машина может работать плохо?
Это вывод команды lsmod:
$ sudo lsmod | grep kvm
kvm_intel 282624 0
kvm 663552 1 kvm_intel
Должен ли я игнорировать предупреждение? Будет ли производительность действительно плохой?
sudo apt install libvirt-daemon-system
решило проблему libvirtd.service
, как указал @ajgringo619
Ответ или решение
Создание виртуальных машин с использованием KVM может быть проблематичным из-за отсутствия сервиса libvirtd
. В вашем случае, вы столкнулись с ошибкой: "Unit libvirtd.service could not be found", что значительно ограничивает функциональность, включая управление виртуальными машинами через Virt-Manager.
В этом ответе я опишу, как устранить эту проблему, а также предоставлю дальнейшие рекомендации для успешного использования KVM на Ubuntu 20.04.1.
Устранение проблемы с libvirtd.service
-
Установите необходимые пакеты: Вы уже установили необходимые пакеты, однако, обратите внимание, что для работы
libvirtd
необходимо также установитьlibvirt-daemon-system
. Это можно сделать с помощью следующей команды:sudo apt install libvirt-daemon-system
Эта команда установит системные демоны libvirt, включая
libvirtd.service
, который отвечает за управление виртуальными машинами и их настройками. -
Проверьте статус службы: После успешного установки пакета проверьте, запущен ли сервис:
sudo systemctl status libvirtd
Если сервис запущен, вы должны увидеть статус "active (running)".
-
Запустите и включите сервис: Если сервис не запущен, выполните следующую команду для его старта:
sudo systemctl start libvirtd
Для автоматического запуска сервиса при загрузке системы:
sudo systemctl enable libvirtd
-
Проверка доступа к Virt-Manager: После выполнения вышеприведенных шагов перезапустите Virt-Manager, запустив его как обычный пользователь:
virt-manager
Поддержка виртуализации
Вы упомянули о предупреждении "KVM kernel modules are not loaded". Чтобы все работало корректно, убедитесь, что все модули загружены.
-
Проверьте загруженные модули:
Выполните команду:
sudo lsmod | grep kvm
Вы должны увидеть модули
kvm
иkvm_intel
(илиkvm_amd
, если у вас процессор AMD). -
Загрузка модулей при необходимости:
Если вы не видите необходимые модули, вы можете попытаться загрузить их вручную:
sudo modprobe kvm sudo modprobe kvm_intel
Убедитесь, что у вас загружены нужные модули после выполнения этих команд, повторно запустив
lsmod
.
Заключение
Теперь, когда вы установили libvirt-daemon-system
, запускаете службу libvirtd
, и все соответствующие модули KVM загружены, вы должны легко справляться с созданием и управлением виртуальными машинами через Virt-Manager.
Если проблемы сохраняются, проверьте логи системы для получения более подробной информации о возможных ошибках:
journalctl -xe | grep libvirt
Эти шаги помогут вам создать оптимальные условия для работы с KVM на вашей системе.