Записка по установке гипервизора KVM/QEMU на CentOS 7. В обновленной ОС немного изменился процесс установки KVM.
KVM подгружается как модуль к ядру Linux (как бы драйвер), поэтому конечно не правильно писать что мы занимаемся установкой того что уже имеется. Вся установка - это процесс инсталяции libvirt и virt-install.
KVM - это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).
Компонент ядра, необходимый для работы KVM, включён в основную ветку ядра Linux начиная с версии 2.6.20 (февраль 2007 года).
QEMU — это свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ.
Проекты KVM и QEMU объединились, и теперь код QEMU включен в KVM.
Простыми словами говоря - KVM занимается эмуляцией процессора, а QEMU - эмуляцией всего остального железа.
libvirt — это свободная, кроссплатформенная библиотека управления виртуализацией. То есть нашим KVM/QEMU.
virt-install – это инструмент командной строки для создания виртуальных машин посредством libvirt.
virt-viewer - это минимальный инструмент для отображения графической консоли гостевой виртуальной машины с использованием протокола VNC или SPICE.
virt-manager (Virtual Machine Manager) — это приложение для управления виртуальными машинами, разработанное Red Hat.
- Создавать ВМ, редактировать параметры ВМ, запускать или останавливать виртуальную машину.
- Просматривать и управленять каждой виртуальной машиной посредством консоли.
- Просматривать производительность и статистиу по каждой виртуальной машине.
- Просматривать всех запущенные виртуальные машины на хосте.
- Можно использовать KVM, Xen или QEMU виртуальные машины, запущенные локально или удаленно.
Поэтому вкратце пробегусь галопом:
# yum install libvirt virt-install virt-viewer -y
# systemctl enable libvirtd
# systemctl start libvirtd
Отдаем диск sdb под хранилище виртуальных машин:
# mkfs.xfs /dev/sdb
# mkdir /mnt/guestvm
# mount /dev/md0 /mnt/guestvm
# chmod 700 /mnt/guestvm
Ставим автомонтирование во время загрузки ОС:
# vi /etc/fstab
/dev/sdb /mnt/guestvm xfs defaults 1 2
Создаем хранилище для ВМ:
# virsh pool-define-as vm_images_dir dir - - - - "/mnt/guestvm"
# virsh pool-build vm_images_dir
# virsh pool-start vm_images_dir
# virsh pool-autostart vm_images_dir
Настраиваем сеть
У хоста KVM IP адрес - 192.168.1.2
Создаем файл интерфейса моста br0 (виртуальный свитч)
# vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="static"
IPADDR="192.168.1.2"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
MTU="1500"
NETMASK="255.255.255.0"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="no"
NAME="System br0"
Приводим настройки интерфейса eth0 к виду:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:95:7A:C6
TYPE=Ethernet
UUID=ec86f87d-070e-4fd9-b570-8d7783de2772
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE=br0
Перезапускаем сеть:
# systemctl restart network
Перезапускаем libvirt:
# service libvirtd reload
Устанавливаем Virt-Manager на сервер с KVM:
# yum install virt-manager xorg-x11-xauth liberation-sans-fonts qemu-kvm -y
Скачайте эти две программы и установите их на свой Windows компьютер, чтобы потом с него управлять KVM:
1. Putty
SSH клиент Putty для Windows можно скачать по ссылке http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
2. VcXsrv
VcXsrv (порт сервера X11 для Windows) можно скачать по ссылке:
Также установите Visual C++ Redistributable for Visual Studio 2015 (64-bit).
Настраиваем ssh на сервере с KVM:
Включите параметры в sshd.conf
# vi /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
# service sshd restart
Настраиваем Putty на клиенте с Windows:
После установки Putty находится в меню ПУСК.
Заходим в Connection ->SSH -> X11
И видим картинку, ставим галку на против пункта- Enable X11 forwarding
Теперь можно создать подключение к KVM серверу, для этого надо зайти в самое верхнее меню - Session
Теперь подключение к серверу KVM - сохранено. Его будет видно в категории Session под названием KVM Server.
Настраиваем VcXsrv на клиенте с Windows
После установки, VcXsrv находится в главном меню ПУСК:
Его надо щелкнуть, после чего появится в трее значек с "X". Это говорит что он запущен.
Запуск virt-manager
Последовательность запуска virt-manager следующая:
- Сперва запускаете VcXsrv (Меню ПУСК-> VcXsrv)
- Далее запускаете putty с параметром - Enable X11 forwarding
- После входа через Putty, в консоле пишете команду:
# virt-manager
Создаем виртуальную машины с Windows XP:
После чего щелкаем два раза по имени ВМ и видим как она работает:
Если вдруг понадобиться поменять настройка конфигурации ВМ, щелкните пиктограмму с лампочкой:
После создания гостя, бывает что дрыгается курсор мыши по центру экрана. Чтобы такого небыло проделываем:
Также не забывайте ставить драйвер Virtio (идет как ISO образ) для жесткого диска и сетевой карты гостевой системы. Это поднимет производительность дисковой и сетевой подсистемы.
Ссылки: