Howto Qemu-kvm Debian 8

Автор: vik_kr Дата: . Категория: Статьи

 этом howto мы с вами просто и быстро, шаг за шагом, запустим гипервизор Qemu-KVM в debian 8. 


image

Будем запускать виртуальную машину в qemu-kvm от пользователя username, используя spice, qxl и virtio.
Предполагается, что установлен Debian 8 amd64, с выбранными в tasksel стандартными утилитами и SSH сервером. Доустановим.
 

aptitude install -y firmware-linux bridge-utils etckeeper



Проверим, поддерживает ли наш процессор виртуализацию:

egrep '(vmx|svm)' /proc/cpuinfo


Включим форвардинг, net.ipv4.ip_forward=1

vim /etc/sysctl.conf


Создаем мост br0
Примерный вид /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#allow-hotplug eth0
#iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

 

/etc/init.d/networking restart


Проверим, должно быть похоже «br0 8000.08608ee7dc58 no eth0»

brctl show 


Используя мост, при старте виртуальной машины будут подниматься vnetX интерфейсы

tcpdump -i vnet0 -n


Устанавливаем kvm:

aptitude install qemu-kvm libvirt-bin


Добавляем пользователя в группы kvm:

adduser username kvm
adduser username libvirt


Разрешим доступ для spice и сменим пользователя, под которым все будет работать:

vim /etc/libvirt/qemu.conf


spice_listen = «0.0.0.0»
user = «username»
group = «username»

По большому счету всего готово к работе. 
Без запущенных виртуальных машин хост-система занимает ~150 mb ram
 

Можно пропустить - вариант для продвинутых



Продолжаем конфигурировать под root 

Определяем пулы — где все будет лежать 
конфигурации storage хранятся тут /etc/libvirt/storage/
по умолчанию есть default.xml — хранилище на файловой системе в /var/lib/libvirt/images
Добавляем свое qemu-test-storage:
*-as создает хранилище аналогичное дефолту, т.е. по конфигурации такое же как в default.xml

virsh pool-define-as qemu-test-storage dir --target /home/username/qemu-test-storage/


По умолчанию пул не запущен, стартуем:

virsh pool-start qemu-test-storage


Добавляем созданный пул в автостарт:

virsh pool-autostart qemu-test-storage


Посмотреть все пулы:

virsh pool-list --all


Все домены:

virsh list --all



Регистрируем домен (виртуальную машину) с конфигурацией, описанной в файле corn.xml
Создать xml с конфигурацией (например, для шаблона) проще через virt-manager, чем описывать каждую опцию в virt-install.
Все конфигурации виртуальных машин хранятся в /etc/libvirt/qemu/ 
Вообщем, предполагается, что у нас есть этот файл.

virsh define /home/username/anyfolder/corn.xml


Добавить домен в автозагрузку:

virsh autostart corn


Текущая конфигурация домена:

virsh dumpxml corn


Редактируем домен:

virsh edit corn


Стартуем домен, смотрим URI и подключаемся любым доступным способом.

virsh start corn
virsh domdisplay corn



Что бы установить windows на VirtIO раздел, установщику требуется драйвер из папки viostor комплекта драйверов virtio for windows.
На linux-kvm.org лежат исходники, на fedoraproject.org можно найти собраныеvirt-win.iso 
После установки вам, скорее всего, понадобятся spice windows guest tools

Теперь расширим том домена.
Воспользуемся qemu-img — QEMU disk image utility. В нашем случае том corn.qcow2
Наблюдение — windows 7 мало 10GB, что бы разом выкачать все из центра обновлений и корректно их установить.
Бывает полезно сначало установить «Обновление для Windows 7 (KB2852386)» — позволяет худо-бедно (читай, никак) очищать C:\Windows\winxsx через стандартную «очистку диска» и между перезагрузками, а после использовать цент обновлений. 

Проверим раздел:

cd  /home/username/qemu-qcow2-storage/
qemu-img info corn.qcow2
qemu-img check corn.qcow2


Минимально достаточно следующего:

qemu-img resize corn.qcow2 +10GB


Затем добавляем устройство CD-ROM, «вставляем туда gparted» и все как обычно. Русский язык — 24.
По хорошему надо использовать libguestfs-tools или resize2fs

Для Windows 8.1 нужен wddm драйвер, QXL будет очень медленно, лучше пробросить видекарту хоста
Про OEM-активация Windows очень хорошо написано тут —habrahabr.ru/post/247597 

Всем спасибо.