KVM активно развивается и имеет все шансы занять лидирующие позиции гипервизора, основанного на Linux, поскольку в отличие от гипервизора Xen, встроен в стандартное ядро Linux и не требует каких-то манипуляций с ядром для запуска виртуальных машин.
Настраивать гипервизор я буду на базе Ubuntu Server 12.04 v2 — на момент написания статьи это последний LTS дистрибутив Ubuntu.
Содержание
Проверка поддержки аппаратной виртуализации
Даже если процессор поддерживает аппаратную виртуализацию, она должна быть включена в BIOS.
Для проверки того, что процессор поддерживает аппаратную виртуализацию, выполним команду:
$ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
Без поддержки аппаратной виртуализации KVM сможет воздавать и запускать виртуальные машины, но работать они будут намного медленнее.
Установка KVM в Ubuntu Server
Для виртуализации однозначно лучше использовать 64-битную систему в качестве гипервизора.
В процессе установки Ubuntu Server выбрал OpenSSH server и Virtual Machine host:
Для создания виртуальной машины мне понадобилось установить только пакет virtinst
sudo aptitude install virtinst
Если вы хотите включить KVM на уже установленной системе, то можно добавить нужные пакеты следующей командой:
sudo aptitude install kvm libvirt-bin virtinst bridge-utils
Если вы используете графический интерфейс, то дополнительно установите
sudo aptitude install virt-manager virt-viewer
Добавляем пользователя в группу libvirtd
sudo adduser `id -un` libvirtd Adding user `itman' to group `libvirtd' ... Adding user itman to group libvirtd Done.
После этого нужно заново зайти в систему.
Настройка сетевого моста для подключения виртуальных машин к реальной сети
Для того, чтобы виртуальные сервера имели прямой доступ к сети, на гипервизоре нужно создать сетевой мост. В Ubuntu для этого редактируем файл /etc/network/interfaces.
Если основной сетевой интерфейс eth0, то заменяем его имя на br0 и добавляем строки
bridge_ports eth0 bridge_stp off bridge_maxwait 0 bridge_fd 0
В моем случае получилась такая конфигурация:
#auto eth0 #iface eth0 inet manual auto br0 iface br0 inet static address 192.168.10.10 gateway 192.168.10.1 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 bridge_ports eth0 bridge_stp off bridge_maxwait 0 bridge_fd 0
Проверка установки KVM
$ virsh -c qemu:///system list Id Name State ----------------------------------
Теперь в Ubuntu есть утилиты для управления виртуальными машинами и выполнены настройки сети для их работы.
Предварительная настройка гипервизора завершена, следующий шаг — создание виртуальной машины.
К сожалению нет отдельной железки для экспериментов с KVM, хочу попрактиковаться на рабочем десктопе. Дистрибутив Mint 17.
При попытке установки kvm libvirt-bin virtinst bridge-utils говорит что они уже установлены, поэтому хотелось бы узнать с какой версии Ubuntu эти пакеты уже установлены по умолчанию.