Установка kvm на manjaro

Обновлено: 04.07.2024

В этом руководстве мы расскажем, как установить KVM и как его использовать, чтобы создать виртуальные машины с такими дистрибутивами как RHEL , CentOS 7 и Fedora 21 , основанными на RedHat .

Как создавать виртуальные машины на Linux с помощью KVM Как создавать виртуальные машины на Linux с помощью KVM

Что такое KVM?

KVM (Kernel-based Virtual Machine) – это решение для полной виртуализации для Linux на оборудовании Intel 64 и AMD 64, которое включено в основное ядро Linux, начиная с версии 2.6.20. Аппаратные средства работают быстро и стабильно даже при больших нагрузках.

Функции KVM

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

Гипервизор KVM поддерживает следующие функции:

  • Over-committing – с помощью этой функции можно обеспечить направление большего количества средств центрального процессора и памяти, чем доступно в системе.
  • Thin provisioning – функция позволяет выделить гибкое хранилище и оптимизирует доступное пространство для каждой гостевой виртуальной машины.
  • Disk I/O throttling – функция предоставляет возможность установить ограничение на запросы ввода-вывода диска, отправляемые с виртуальных машин на хост.
  • Automatic NUMA balancing – функция улучшает работу приложений на аппаратных решениях NUMA.
  • Virtual CPU hot add capability – данная функция предоставляет возможность увеличить процессорную память настолько, насколько это нужно работающей ВМ без простоев.

Подготовительная работа

Убедитесь, что Ваша система имеет расширение аппаратной виртуализации. Для хостов на базе Intel ЦП должен поддерживать расширение виртуализации [vmx]. Чтобы проверить наличие расширения, используйте следующую команду:

Для хостов на базе AMD ЦП поддерживает расширение виртуализации [svm]:

Если вывод отсутствует, убедитесь, что в BIOS включена опция расширения виртуализации. Убедитесь, что модули KVM загружены в ядро (это должно быть загружено по умолчанию).

Вывод должен содержать kvm_intel для хостов на базе Intel и kvm_amd – на базе AMD.

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

Убедитесь, что Selinux в режиме Permissive .

Шаг 1: Установка KVM

Сначала мы установим пакеты qemu-kvm и qemu-img. Эти пакеты предоставляют KVM и image manager доступ на уровне пользователя.

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

  • virt-manager (менеджер управления виртуальными машинами) предоставляет GUI-конструктор для управления виртуальными машинами.
  • libvirt-client предоставляет инструмент CL для управления вашей виртуальной средой. Такая утилита называется virsh .
  • С помощью команды virt-install, которую предоставляет программа virt-install , Вы можете создать виртуальную машину, используя CLI (интерфейс командной строки).
  • С помощью библиотеки libvirt сервер и хост могут взаимодействовать с гипервизорами и хост-системами.

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

Для пользователей RHEL/CentOS7 также есть дополнительные группы пакетов, которые можно установить, например: Virtualization Client , Virtualization Platform и Virtualization Tools

Демоном виртуализации, который управляет платформой, является libvirtd . Давайте перезапустим его.

После того, как Вы перезапустили демона, проверьте его статус с помощью следующей команды:

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

Надеюсь вы поняли, что это очень крутая штука, которая даёт прикурить как VirtualBox, так и решениям от VMware (плюс ещё и полностью бесплатная, в отличии от некоторых предложений последней). Приступим к делу.

Проверка поддержки виртуализации оборудованием:

Вообще последние лет 10 на рынке практически не было x86-процессоров, которые бы не поддерживали аппаратную виртулизацию, т.ч. с вероятностью в 99% ваш компьютер имеет поддержку всех необходимых технологий. Но всё же стоит проверить это с помощью следующей команды в терминале:

Установка KVM и QEMU:

Итак, команды для уставновки KVM и утилит QEMU:

sudo apt install qemu-kvm qemu-utils libvirt-bin bridge-utils virt-manager cpu-checker

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

sudo gpasswd -a ПОЛЬЗОВАТЕЛЬ libvirtd

Теперь проверяем правильно ли всё было установлено (вводим команду в терминале):

INFO: /dev/kvm exists
KVM acceleration can be used

Всё, KVM установлен, осталось настроить и использовать. Именно этим сейчас и займёмся.

Создание и настройка виртуальных машин KVM в GUI:

sudo apt install qemu-utils

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

Держите ваши напильники в чистоте и до скорого!

PS: для удаления установленного KVM и QEMU из Ubuntu-based систем необходимо выполнить следующие команды в терминале:

sudo apt purge qemu-kvm qemu-utils libvirt-bin bridge-utils virt-manager

Виртуальный менеджер

В одном предыдущая статья мы видели, как установить Qemu-KVM en Debian Wheezy благодаря сотрудничеству Фицо и на этот раз я покажу вам, как это сделать, но в Arch Linux.

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

Установка необходимых пакетов

Мы собираемся установить пакеты, необходимые для работы Qemu-KVM и иметь возможность управлять нашими виртуальными машинами.

Ранее пакет назывался qemu-kvm, для меня больше нет, теперь это только кему. Остальные пакеты необходимы для работы сетевых опций и так далее.

Эль Пакет добродетель больше не находится в репозиториях или переименован. Теперь нужны только пакеты виртуальный менеджер, libvirt-glib, libvirt, vde2 y кему

После установки этих пакетов мы добавляем нашего пользователя в группы квм y Polkitd:

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

Если у вас AMD, вы должны использовать kvm-amd, и я предполагаю, что kvm-nvidia для пользователей NVidia. Честно говоря, насчет последнего я не уверен.

Теперь активируем услугу:

$ sudo systemctl enable libvirtd.service

И если мы хотим его запустить, вы уже знаете:

systemctl start libvirtd.service

Нам нужно только создать или отредактировать правило для Policykit, которое позволяет нам управлять виртуальными машинами с нашим пользователем. Для этого редактируем или создаем файл:

И вставляем внутрь следующие строчки:

Мы должны заменить ваш пользователь нашим пользователем, конечно. Что бы мы оставили? Затем перезагрузите компьютер и попробуйте создать новую виртуальную машину.

В моем конкретном случае при попытке создать новую виртуальную машину с существующим образом я получил ошибку разрешения, когда я закончил работу с мастером. Мне просто нужно было дать права на чтение / запись для файла .img

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Из Linux » Учебники / Руководства / Советы » Установите и настройте Qemu-KVM в Arch Linux [Обновлено]

Вы можете быть заинтересованы

33 комментариев, оставьте свой

Оставьте свой комментарий Отменить ответ

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

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

Вопрос elav: Arch уже использует systemd, нужно ли ставить .service в сервис? Не распознается, например, systemctl 'action' kdm?

Да, Arch использует Systemd. Я не знаю, можно ли это сделать без .service, и, поскольку это есть в Wiki, я сделал 😀

Если узнаешь, ставить не нужно.

очень приятно osx . ОХХ ПОДОЖДИТЕ XD

xDD Я бы хотел, чтобы OSX была моим KDE 😛

Я согласен с @elav, поскольку интерфейс Aqua OSX потребляет 256 МБ видео по сравнению с KDE, который составляет около 96 МБ (минимальный поддерживаемый) и 128 МБ (минимальный рекомендуемый).

В Slackware KDE работает с 96 МБ видео, как если бы у него было 128 МБ. Во всяком случае, между вкусами и цветами .

По расходу плевать, покупаю еще модуль на 4 гб и все XDD

в видео любая карта за последние 4 года поставляется с 1 ГБ ddr2 или ddr3 xD . вплоть до nvidia gt610 за 40 евро.

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

Очевидно, для pandev92 покупательная способность не имеет значения, не говоря уже о XD.

Arch не сложен, вам просто нужно немного больше времени, чтобы прочитать вики.

Сам по себе Arch - это KISS и RTFM одновременно (вы всегда зависите от обновлений вики, чтобы избежать каких-либо изменений, вносимых в процесс обновления).

Не то чтобы это сложно или нет, просто не подходит для конечного пользователя.

Если вы не хотите находиться в этом режиме RTFM (Прочтите Fucking Manual), лучше используйте Mint.

это не для конечного пользователя, мне было бы все равно XD

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

polkit.addRule (функция (действие, тема) если (action.id == "org.libvirt.unix.manage" &&
subject.isInGroup ("libvirt")) вернуть polkit.Result.YES;
>
>);

Я поставил группу libvirt, но вы можете поставить любую группу, в вашем случае kvm или polkitd

Привет, кто-нибудь знает, почему kvm выдает эту ошибку:

Невозможно завершить установку: 'внутренняя ошибка: процесс завершился при подключении к монитору: устройство char перенаправлено на / dev / pts / 0 (метка charserial0)
qemu-system-x86_64: -drive file = / home / zpabuin / Downloads / Fedora-Live-LXDE-x86_64-19-1.iso, if = none, readonly = on, format = raw: не удалось открыть образ диска /home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso: В доступе отказано
"

Traceback (последний последний вызов):
Файл "/usr/share/virt-manager/virtManager/asyncjob.py", строка 100, в cb_wrapper
обратный вызов (asyncjob, * args, ** kwargs)
Файл "/usr/share/virt-manager/virtManager/create.py", строка 1920, в do_install
guest.start_install (Ложь, метр = метр)
Файл "/usr/share/virt-manager/virtinst/Guest.py", строка 1134, в start_install
без загрузки)
Файл "/usr/share/virt-manager/virtinst/Guest.py", строка 1202, в _create_guest
dom = self.conn.createLinux (start_xml или final_xml, 0)
Файл "/usr/lib/python2.7/site-packages/libvirt.py", строка 2892, в createLinux
если ret - None: поднять libvirtError ('virDomainCreateLinux () failed', conn = self)
libvirtError: внутренняя ошибка: процесс завершился при подключении к монитору: устройство char перенаправлено на / dev / pts / 0 (метка charserial0)
qemu-system-x86_64: -drive file = / home / zpabuin / Downloads / Fedora-Live-LXDE-x86_64-19-1.iso, if = none, readonly = on, format = raw: не удалось открыть образ диска /home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso: В доступе отказано

Спасибо, кстати, virtinst - это устаревший пакет на Arch с мая, и он не требуется.

когда я пытаюсь поднять модуль ядра kvm-intel (который у меня есть процессор), он сообщает мне:

modprobe: ОШИБКА: не удалось вставить 'kvm_intel': операция не поддерживается

Заглянув в свою систему, я заметил, что модуль kvm-intel существует в
/usr/lib/modules/3.10.10-1-ARCH/kernel/arch/x86/kvm/kvm-intel.ko.gz

(и да, запуск egrep -c "(svm | vmx)" / proc / cpuinfo уверен, что здесь он должен поддерживать виртуализацию)

У меня двоякий вопрос:

-Мне не нужно будет включать / отключать что-то в моем ядре для поддержки этого?
-У меня система 64 бита, и я вижу, что модуль живет в x86, это из-за этого? В таком случае я спрашиваю, есть ли 64-битные модули, которые я могу установить и перестать надоедать мне?

Проблема решена, мне нужно включить виртуализацию в BIOS моей системы . 🙂

Я понимаю, что не может найти этот файл «virtinst»

Я не установил пакет virtinst, потому что его больше нет в репозиториях.

Я получаю ту же ошибку, что и Xorlogs:

Невозможно завершить установку: 'Внутренняя ошибка: процесс завершился при подключении к монитору: qemu-system-x86_64: -drive file = / home / maykel / archlinux-2013.10.01-dual.iso, if = none, -1-0, readonly = on, format = raw: не удалось открыть образ диска /home/maykel/archlinux-2013.10.01-dual.iso: Permission denied
"

Traceback (последний последний вызов):
Файл "/usr/share/virt-manager/virtManager/asyncjob.py", строка 100, в cb_wrapper
обратный вызов (asyncjob, * args, ** kwargs)
Файл "/usr/share/virt-manager/virtManager/create.py", строка 1920, в do_install
guest.start_install (Ложь, метр = метр)
Файл "/usr/share/virt-manager/virtinst/Guest.py", строка 1134, в start_install
без загрузки)
Файл "/usr/share/virt-manager/virtinst/Guest.py", строка 1202, в _create_guest
dom = self.conn.createLinux (start_xml или final_xml, 0)
Файл "/usr/lib/python2.7/site-packages/libvirt.py", строка 2897, в createLinux
если ret - None: поднять libvirtError ('virDomainCreateLinux () failed', conn = self)
libvirtError: внутренняя ошибка: процесс завершился при подключении к монитору: qemu-system-x86_64: -drive file = / home / maykel / archlinux-2013.10.01-dual.iso, if = none, -1 -0, readonly = on, format = raw: не удалось открыть образ диска /home/maykel/archlinux-2013.10.01-dual.iso: В доступе отказано

Прямо сейчас я установил:

- libvirt
- libvirt-glib
- виртуальный менеджер
- virtviewer

25 сен 2016, 02:15

Как Linux-энтузиаст, я тестирую немало приложений и дистрибутивов практически ежедневно. Наряду с известным многим Oracle Virtualbox, есть еще немало интересных продуктов в сфере виртуализации, таких как Vmware, openVZ, KVM, Proxmox и т.д.. Сегодня мы будем говорить про QEMU.

Изображение


Изображение

25 сен 2016, 02:15

QEMU - нативный и открытый машинный эмулятор и виртуализатор. Этот свободный интсрумент с открытым исходным кодом позволяет пользователям создавать и управлять виртуальными машинами внутри операционной системы(т.н. хост-системы). Аппаратные ресурсы хост-системы,такие как дисковое пространство, RAM, ЦПУ, будут отделены и поделены между гостевыми операционными системами(виртуальными машинами).

Когда используется как машинный эмулятор, QEMU сможет запускать ОС и программы созданные для какой либо платформы(например на ARM платах) на вашем ПК. Используя динамическую трансляцию, это происходит с хорошей производительностью.

Использая режим виртуализатора, QEMU получает схожую с нативной производительность путем испольнения кода напрямую на ЦПУ хост-ситемы. QEMU поддерживат виртуализацию с помощью гипервизора Xen или используя KVM модули ядра Linux. Для KVM, QEMU может виртуализировать такие платформы как x86, PowerPC и S390 в качестве гостевых.

В QEMU есть два режима работы:

Полная эмуляция системы: в этом режиме, QEMU эмулирует гостевую систему полностью (для примера PC), включая процессор и разнообразные периферийные устройства. Этот режим может использоваться для запуска других операционных систем или дебага системного кода.

Пользовательский режим эмуляции (только для Linux хостов): В этом режиме, QEMU Может запускать Linux-процессы собранные для одного CPU, на другом. Для примра это может быть облегченная кросс-компиляция.

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