Рубрики
KVM

KVM / centos / libvirt / yum / virt-install / virsh / sysctl

Ссылка:

https://www.dmosk.ru/miniinstruktions.php?mini=kvm-centos7

Установка:

yum -y install epel-release - установка репазитория epel
yum -y install kvm libvirt qemu-kvm- установка kvm и libvirt
yum -y install bridge-utils - установка ПО для bridge
systemctl start libvirtd  - запустить libvirtd 
systemctl enable libvirtd - добавить libvirtd в автозагрузка

Проверка:

lsmod | grep kvm - проверка поддержки kvm
virsh sysinfo - проверка подключения к KVM

Хранилище:

fdisk -l - просмотрим список физических дисков на хост-сервер
fdisk /dev/sdd - редактируем таблицу разделов диска /dev/sdd ( n - new, p - primary, w - write применить)
mkfs.ext4 /dev/sdd1 - создаем файловую систему ext4 для диска /dev/sdd1 
mkdir /mnt/images  - создаем каталог images
chmod 700 /mnt/images - выставляем на него права
mount -t ext4 /dev/sdd1 /mnt/images
ls -la /mnt/images  - 

Sealinux:

yum provides /usr/sbin/semanage - ищем пакет содержащий программу semanage  ( policycoreutils-python-2.5-17.1.el7.x86_64 )
yum -y install policycoreutils-python - 
semanage fcontext -a -t virt_image_t /mnt/images - 

Настройка сети

yum install bridge-utils - установка ПО для bridge
ip a - показать интерфейсы

vi /etc/sysconfig/network-scripts/ifcfg-XXX
-------------------------------------------
ONBOOT="yes"
TYPE="Ethernet"
BOOTPROTO="none"
DEVICE="XXX"
BRIDGE="br0"
--------------------------------------------


vi /etc/sysconfig/network-scripts/ifcfg-br0
--------------------------------------------
DEVICE="br0"
TYPE="Bridge"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.1.24"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="77.88.8.8"
-----------------или-------------------------

DEVICE="br0"
TYPE="Bridge"
ONBOOT="yes"
BOOTPROTO="DHCP"

--------------------------------------------

systemctl restart network - применить изменения


vi /etc/sysctl.conf
-------------------
net.ipv4.ip_forward=1
-------------------
sysctl -p /etc/sysctl.conf - применяем настройки

systemctl restart libvirtd

Создание виртуальной машины

virt-install --os-variant list - смотрим доступные варианты гостевых операционных систем

virt-install -n FirstTest \
--noautoconsole \
--network=bridge:br0 \
--ram 1024 --arch=x86_64 \
--vcpus=1 --cpu host --check-cpu \
--disk path=/kvm/images/FirstTest-disk1.img,size=16 \
--cdrom /kvm/iso/CentOS-7-x86_64-Minimal-1611.iso \
--graphics vnc,listen=0.0.0.0,password=my_password \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on

 где:

FirstTest — имя создаваемой машины;
noautoconsole — после создания не подключается автоматически к консоли виртуальной машины;
network — тип сети (в нашем примере сетевой мост);
ram — объем оперативной памяти, который будет выделен;
vcpus — количество виртуальных процессоров;
disk — виртуальный диск: path — путь до диска; size — его объем;
cdrom — виртуальный привод с образом системы;
graphics — параметры подключения к виртуальной машины с помощью графической консоли (в данном примере используем vnc); listen — на какой адресе принимает запросы vnc (в нашем примере на всех); password — пароль для подключения при помощи vnc;
os-variant — гостевая операционная система (весь список мы получали командой virt-install --os-variant list, в данном примере устанавливаем Reв Hat 7 / CentOS 7).

Разрешаем автостарт для созданной ВМ:

virsh autostart FirstTest

Подключение к виртуальной машине:

virsh vncdisplay FirstTest
--------------------------
:0 
Это значит, что нужно к 5900 прибавить 0. Если результат команды будет :1 — 5900 + 1 = 5901 и так далее.
--------------------------

firewall-cmd --permanent --add-port=5900-5905/tcp - открываем порт на брандмауэре

Базовые команды управления ВМ:

virsh list --all - получить список созданных машин
virsh start FirstTest - включить виртуальную машину * где FirstTest — имя созданной машины.
virsh shutdown FirstTest - выключить

Управление через веб-интерфейс

0. Для его установки вводим команды:
yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release41.rpm
yum install ovirt-engine

1. После разворачиваем и настраиваем портал:
engine-setup

* после запуска команды система задаст ряд вопросов, на все, кроме ввода пароля, можно ответить по умолчанию (просто нажать Enter).

После окончания установки в браузере вводим https://kvm/ovirt-engine/sso/, где kvm — имя сервера. 
В открывшемся окне вводим логин admin и пароль, который создали при выполнении команды engine-setup. 
После успешного входа можно управлять виртуальными машинами через веб-интерфейс.