Новость из категории: Информация

KVM и QEMU

Содержание:
1. Немного теории;
2. KVM и QEMU (Вы читаете данный раздел);
3. AQEMU.
KVM и QEMU
KVM в работе

KVM реализован как модуль ядра (точнее, несколько модулей - основной kvm и платформо-специфичные kvm-intel и kvm-amd). Его код включен в основную ветку ядра, начиная с версии 2.6.20, и сегодня KVM доступен в репозиториях большинства дистрибутивов. После установки KVM у вас должны появиться соответствующие модули, для загрузки которых можно выполнить в консоли из-под суперпользователя команду «modprobe kvm-amd» (или kmd-intel - в зависимости от архитектуры машины). Модуль kvm будет автоматически загружен как зависимость kvm-amd/kvm-intel.

Если при попытке загрузить модули вы получите ошибку "Operation not supported", то аппаратная поддержка виртуализации в машине отсутствует или отключена. Для верности, можно посмотреть флаги в /proc/cpuinfo - среди них должны быть vmx (для Intel) либо svm (для AMD), так что вывод команды:
grep 'vmx|svm' /proc/cpuinfo

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

Модули KVM сами по себе не являются законченным решением виртуализации - их роль заключается в перехвате инструкций ВМ, операций ввода/вывода и отслеживании ряда других событий. Но для эмуляции полноценной машины необходимо выполнять еще достаточно много действий - в частности, необходима эмуляция различных устройств (жесткого диска, сетевой карты и других). Все такие действия возлагаются на QEMU -еще один свободный эмулятор, изначально использовавший бинарную трансляцию и особой производительностью не блиставший (хотя ее можно было увеличить за счет модуля KQEMU - изначально закрытого, но бесплатного; позже модуль был открыт под лицензией GPL). Поскольку QEMU к моменту создания KVM уже имел все необходимые возможности по эмуляции различных устройств, то разработчики KVM решили не изобретать велосипед, а научить два инструмента работать сообща.

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

Действительно, KVM дает существенный выигрыш в производительности эмуляции процессора. Но проект достаточно молодой, и проблемы с ним встречаются. В сети можно найти довольно много сообщений о том, что KVM/QEMU в определенных конфигурациях системы сильно нагружают процессор, даже если гостевая система простаивает. У меня такая ситуация наблюдалась на одной из машин, когда для гостя-WinXP была включена эмуляция звуковой карты AC97. Не стоит также забывать, что потери в скорости могут возникать из-за некачественной эмуляции устройств в QEMU - при высокой нагрузке на диск или сетевую карту внутри ВМ могут проявится серьезные задержки. Для улучшения эмуляции устройств можно воспользоваться Virtio (http://wiki.libvirt.org/page/Virtio), но его использование - тема отдельного разговора.

KVM и QEMU
QEMU

Сам QEMU - это консольный набор инструментов с богатым набором опций. Много возможностей - это хорошо и практично, но для «домашнего» использования нет необходимости изучать их все. К счастью, существуют графические средства управления виртуальными машинами KVM/QEMU, берущие часть забот на себя и предлагающие пользователю интерфейс, схожий с привычными VMware и VirtualBox.



Гораздо больше, чем виртуализация с использованием KVM и QEMU, Вас интересует такой вопрос, как тиражирование dvd (http://mediajet.ru/)? В таком случае, Вам следует обратиться за помощью к опытным специалистам в данной области. На их роль я хотел бы посоветовать Вам сотрудников mediajet.ru.

Рейтинг статьи

Оценка
4/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх