KVM Hypervisor на CentOS 7

KVM – это ПО для виртуализации с открытым исходным кодом, с помощью которого мы можем одновременно создавать и запускать несколько виртуальных машин на базе Linux и Windows. Этот гипервизор является частью ядра операционной системы Linux. В отличие от Xen, KVM не поддерживает паравиртуализацию, то есть, для того, чтобы его использовать, ваш CPU должен поддерживать аппаратную виртуализацию (технологии VT).

Имеется свежеустановленный и немного настроенный CentOS. Небольшой мануал по минимальной настройке – тут.

Прежде чем приступить к установке KVM, давайте проверим, поддерживает ли процессор аппаратную виртуализацию.

grep -E '(vmx|svm)' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority dtherm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority dtherm

Установка KVM и дополнительных пакетов

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils -y

Автозагрузка и старт службы гипервизора

systemctl start libvirtd
systemctl enable libvirtd

Проверка запуска модуля KVM

lsmod | grep kvm
kvm_intel 183720 9 
kvm 578558 1 kvm_intel
irqbypass 13503 1 kvm

Для запуска virt-manager добавим необходимые пакеты

yum install "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y

Перед созданием виртуальных машин создадим виртуальный мост с физическим сетевым интерфейсом. Правим конфиг физического интерфейса:

mcedit /etc/sysconfig/network-scripts/ifcfg-enp2s0
TYPE=Ethernet
BOOTPROTO=static
DEVICE=enp2s0
ONBOOT=yes
BRIDGE=br0

Создаем конфиг интерфейса моста:

mcedit /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.192.50
NETMASK=255.255.255.0
GATEWAY=192.168.192.1
DNS1=192.168.192.1

Перезапускаем сеть:

systemctl restart network

Для удобного управления из Windows необходимо выполнить установку X Window Server – XMing и SSH клиент – PuTTy

При установке XMing оставляем все параметры по умолчанию и просто нажимаем далее. В конце установке XMing уведомит о возможности запуска в фоновом режиме. Мы с этим соглашаемся. После чего в системном трее появится значок X Window server.

Далее потребуется выполнить настройку подключения по SSH через PuTTy. В настройках PuTTy переходим в раздел Connection – SSH – X11. Далее необходимо разрешить X11 Forwarding

После запуска PuTTy запускаем virt-manager

И далее, пользуясь GUI-приложением управляем гипервизором и виртуальными машинами