- Совместное использование KVM и VirtualBox
- Симптом — VirtualBox не работает
- Описание проблемы
- Удаление модулей
- Загрузка модулей
- Скрипты
- Заключение
- Qemu-kvm vs Virtualbox
- kvm или virtualbox ?
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как создавать виртуальные машины на Linux с помощью KVM
- Что такое KVM?
- Функции KVM
- Подготовительная работа
- Шаг 1: Установка KVM
- Шаг 2: Создание ВМ с помощью KVM
- Заключение
Совместное использование KVM и VirtualBox
По общему мнению KVM и VirtualBox не могут сосуществовать на одной операционной системе. Точнее VirtualBox не сможет запуститься, если модули KVM загружены в оперативную память. В то же время KVM прекрасно работает при наличии установленного VirtualBox, поэтому проблема эта односторонняя. Решение ее также довольно простое. К сожалению, имеется огромное количество руководств, рекомендующих удалить одну из программ. Некоторые другие предлагают воспользоваться rmmod, однако они ничего не говорят о том, как потом вернуть все обратно.
Я покажу вам, как совместно использовать KVM и VirtualBox без удаления одной из программ, или перезагрузки для переключения между ними. Вы узнаете, как дезактивировать или активировать одну из программ без перезагрузки, чтобы другая могла работать.
Симптом — VirtualBox не работает
При попытке запуска VirtualBox вы можете увидеть следующее сообщение об ошибке:
В нем говорится следующее: «VirtualBox не может работать в режиме VMX root. Пожалуйста, деактивируйте KVM kernel extension, перекомпилируйте ваше ядро и перезагрузитесь». Пугающее сообщение. Однако ничего не нужно перекомпилировать. Решение проблемы займет пять секунд и будет абсолютно безболезненным.
Описание проблемы
Как уже говорилось, VirtualBox and KVM не могут работать вместе. Это означает, что необходимо деактивировать KVM перед запуском VirtualBox. Вопрос в том, как это сделать. Ответ — путем загрузки и удаления модулей ядра. Операционная система Linux поддерживает загрузку и удаление модулей ядра из оперативной памяти на лету, без перезагрузки. Для этого мы будем использовать команды insmod и rmmod.
Удаление модулей
Сначала воспользуемся командой lsmod, чтобы посмотреть, какие модули загружены в память:
Как вы можете видеть, VirtualBox использует драйверы vboxdrv и vboxnetflt, в то время как KVM использует драйверы kvm и kvm_intel. Обратите внимание: kvm_intel предназначен специально для архитектуры Intel. Для AMD имеется kvm_amd.
Нам необходимо выгрузить из памяти модули KVM.
Возникает большой вопрос — теперь KVM деактивирована, как заставить ее снова работать?
Этим мы сейчас и займемся.
Загрузка модулей
Мы можем загрузить модули так же легко, как выгрузили их. Для этого необходимо определить, где они находятся на жестком диске (можно также попробовать команду modprobe).
Для поиска модулей используем следующие команды (updatedb нужно запускать с помощью sudo, или из-под root):
Как правило, находится очень много файлов, поэтому поиск можно ограничить kvm.ko и kvm-intel.ko.
А теперь загрузим модули, соответствующие вашей версии ядра. Ее можно проверить с помощью команды uname -r.
Скриншот представлен ниже. Во-первых, проверяем наличие модуля kvm. Команда lsmod показала, что он не загружен. Теперь мы загружаем модули kvm и снова проверяем их наличие с помощью команды lsmod.
Обратите внимание, что команды на скриншоте несколько отличаются от команд, представленных выше. Я предположил, что /sbin имеется в переменной PATH, поэтому использовал более краткую форму команды. В то же время я использовал полный путь к модулю, чтобы показать, как это может выглядеть. Если вы намереваетесь написать скрипт для автоматизации этих действий, то необходимо использовать полные пути, а для подстановки команд рекомендуется использовать обратный штрих.
Скрипты
Пришло время автоматизировать все наши действия. Для этого нам нужны два скрипта. Один выгружает модули KVM, другой загружает их. Если подходить к делу основательно, то нужны также скрипты для остановки служб VirtualBox при запуске KVM и для их последующего запуска.
Пример работы с драйверами VirtualBox:
Таким образом, скрипт для активации VirtualBox и отключения KVM выглядит следующим образом:
И скрипт для запуска KVM и отключения VirtualBox:
Для машин AMD замените kvm-intel.ko на kvm-amd.ko. Обратите внимание, что неплохо было бы предусмотреть в скрипте проверку попытки запуска уже запущенной службы. Я этого не стал сделал, пусть это будет вашим домашним заданием.
Кроме всего прочего, необходимо также обратить внимание на архитектуру процессора. У большинства пользователей, использующих архитектуру x86 (x86_64) скрипты будут работать, но для других архитектур, например SPARC, ARM, Itanium, скрипты необходимо будет редактировать.
Теперь создайте ярлыки для скриптов на рабочем столе и все готово. Использование uname вместо определенной версии ядра гарантирует, что ваши скрипты будут работать даже после обновления ядра.
Заключение
Как вы могли видеть, реальность не столь сурова, как представлялось ранее. В данном руководстве показаны простые способы заставить мирно сосуществовать VirtualBox и KVM, без удаления одной из программ и постоянных перезагрузок. Архитектура Linux позволяет загружать модули на лету, поэтому единственная процедура, для которой действительно необходима перезагрузка — это обновление ядра системы. В следущих руководствах мы продолжим знакомство с возможностями KVM.
Источник
Qemu-kvm vs Virtualbox
Добрый день, уважаемые линуксисты и сочувствующие. Назрел вопрос — насколько qemu-kvm годна на десктопе в качестве замены virtualbox? Достали уже косяки с vbox при обновлении. Сценарий применения — linux-хост, гостевая win, изредка используется для запуска специфичных прог, типа офиса. Слышал про virt-manager, насколько он хорош? Можно ли использовать только его в качестве гуя, не обращаясь к консольке? Как там со звуком, 3d-ускорением, сложно ли сделать папку обмена?
ну если в венде не нужно 3D, то тупо по RDP ходить. Если нужно, то есть истории успеха проброса видеокарты. К сожалению, virtio gpu пока не готово.
Лично мне virt-manager хватает, то задачи не десктопные.
Можешь потыкать палочкой, если умеешь https://virgil3d.github.io/
в qemu-kvm, в отличие от твоего говнобокса, можно пробосить какое хочешь железо, например видео или звуковую карту, так что вопрос по применению профессионального 3д-ускорения отпадает сам собою.
Вообще это дико, сравнивать вбокс, который не умеет ровно ничего, с божественным qemu-kvm, у которого столько возможностей и фич, что голова пухнет.
А гуями пользуются только простаки, типа тебя.
Спасибо. Проброс видеокарты — адское красноглазие, нет времени и желания этим заниматься, да и карта у меня одна — intel. Значит, эмулируемая видеокарта в qemu пока ниочём, и даже хуже для 3d, чем в Vbox? Ну, остаётся только VMWare Player.
Источник
kvm или virtualbox ?
Интересует скорость работы. Что нужно ? Гонять венду с фотошопом
Ещё есть vmwere кеторая бестрее вертуалбокса.
А ещё она платная.
железо какое? если старое то виртуалбокс. квм требует нормального железа
Полиция по домам не ходит и не проверяет. Для дома сойдёт. А интернет нужно разрешить только бриджам/nat-процессу через которые виртуалка будет ходить в интернет. А остальным vmware-процессам запретить.
Kvm лучше, если видюху пробросить.
qemu-kvm с пробросом видеокарты.
У меня без проброса видеокарты винда (запускаемая с HDD) неприятно так лагала в KVM с qxl. В виртуалбоксе ситуация с ней же сильно лучше. Не знаю почему так — просто наблюдение.
У меня есть виртуальный сервак на kvm с win7(+целебное зелье для разрешения одновременных сессий разных юзеров). Нужно для подключения по rdp windows клиентов и запуска внутри rdp сессии специфичной купленной windows софтины(свод законов, постановлений и т.д.). Работает уже около года, перезагружал за это время раза два. Проблем и зависаний не было.
Ну и естественно тут же посоветовали квм с пробросом, не спросив сколько в наличии видеокарт и мониторов. А нужно по две штуки каждого.
В общем случае для работы с gui из этих двух вариантов только vbox. Как альтернатива — бесплатный вмваре плеер. kvm без проброса это qxl+spice, крайне паршивый экспириенс.
Ставь венду с фотошопом, в виртуящике крути линукс.
kvm без проброса это qxl+spice, крайне паршивый экспириенс.
А у меня положительный опыт, графика быстрая, usb-девайсы пробрасываются.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как создавать виртуальные машины на Linux с помощью KVM
Виртуальная машина на основе ядра
В этом руководстве мы расскажем, как установить KVM и как его использовать, чтобы создать виртуальные машины с такими дистрибутивами как RHEL, CentOS 7 и Fedora 21, основанными на RedHat.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Что такое 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. Давайте перезапустим его.
После того, как Вы перезапустили демона, проверьте его статус с помощью следующей команды:
Теперь давайте перейдем к следующему разделу и создадим виртуальную машину.
Шаг 2: Создание ВМ с помощью KVM
Так как мы установили несколько полезных приложений для управления виртуальными платформами и создания виртуальных машин, одно из них –virt-manager – нам сейчас понадобится.
Несмотря на то, что virt-manager является инструментом, основанным на графическом интерфейсе пользователя, из терминала мы можем запускать его так же, как и из GUI.
После того, как Вы запустите приложение, появится такое окно.
По умолчанию менеджер напрямую подключен к localhost . Но Вы можете использовать тот же инструмент, чтобы выбрать другой хост удаленно. Из вкладки File выберите Add Connection и появится следующее окно.
Поставьте галочку на Connect to remote host и впишите название или IP (Hostname) удаленного сервера. Если Вам нужно устанавливать соединение с удаленным сервером каждый раз, когда запускается менеджер, то поставьте галочку на Auto Connect.
Давайте вернемся к localhost. Прежде чем создавать виртуальную машину, Вы должны решить, где будут храниться файлы. Другими словами, Вам необходимо создать том (виртуальный диск) для вашей виртуальной машины. Правой кнопкой мыши нажмите на localhost и выберите Details, а затем перейдите на вкладку Storage.
Затем нажмите кнопку New Volume (Новый том) и введите название вашего нового виртуального диска (тома). В графу Max Capacity (Максимальная ёмкость) введите требующийся вам объем диска.
Выбранный объем является реальным объемом Вашего диска, который сразу будет предоставлен с Вашего физического диска после завершения установки.
Примечание: технология в области администрирования хранилищ называется thin provision (Тонкое обеспечение). Она используется для выделения только используемого объема хранилища, а не всего доступного объема. Например, Вы создали виртуальный диск размером 60 Гб, но используемого объема у Вас только 20 Гб. С помощью данной технологии жёсткий диск предоставит Вам только 20 Гб, а не 60. Другими словами, выделенный физический объем будет динамически распределяться в зависимости от фактического используемого объема.
Знак нового диска появится в списке.
Найти Ваш новый виртуальный диск Вы сможете по умолчанию с помощью команды /var/lib/libvirt/images .
Наконец, мы готовы к созданию виртуальной машины. Нажмите на кнопку VM на главном экране, и появится окно.
Выберите метод установки для создания ВМ. Мы пока выберем Local install media, а позже обсудим оставшиеся методы.
Теперь мы должны выбрать, какой локальный носитель использовать. У нас есть два варианта:
Давайте выберем ISO-образ и введем его путь.
Важно: к сожалению, для тех, кто использует RHEL или CentOS7, здесь есть баг. Он не даёт установить машину с использованием физического носителя CDROM/DVD. Опция просто будет серая:
И если Вы наведете курсор, то появится сообщение об ошибке: physical cdrom passthrough not supported with this hypervisor (Физический CDROM не поддерживает данный гипервайзер).
Больше информации можете узнать здесь.
Снова вопрос про хранилище. Используем виртуальный диск, который мы недавно создали. Он скоро появится.
На последнем шаге Вам необходимо дать название виртуальной машине.
Если Вы хотите изменить что-то в конфигурации или сделать небольшую адаптацию, поставьте галочку на Customize configuration before install. Затем нажмите на finish и подождите несколько секунд, пока не появится контрольная консоль для вашей гостевой ОС.
Заключение
Вы узнали, что такое KVM, как управлять виртуальной платформой с помощью инструментов GUI, как создать виртуальную машину с помощью этого приложения и много других классных штук.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник