У даній статті ми розглянемо установку і базове налаштування Гіпервізор KVM на сервері під керуванням Linux CentOS. Покажемо, як створити віртуальну машину в KVM, змінити її налаштування, встановити гостьову операційну систему і основні команди управління ВМ.

КВМ (Kernel-based Virtual Machine) засіб віртуалізації в середовищі Linux, яке використовує апаратну віртуалізацію на базі Intel VT або AMD SVM. За допомогою KVM ви можете створювати ізольовані віртуальні машини з власним віртуальним апаратним забезпеченням: мережевими картами, дисками, відеокартами і іншими пристроями. На віртуальні машини можна уставити будь-яку ОС (не тільки Linux).

Встановлення KVM в CentOS

під час налаштування КВМ на сервері, потрібно почати з перевірки вашого процесора. Потрібно дізнатися, чи підтримує апаратну віртуалізацію CPU, встановлений на вашому сервері. З консолі сервера, виконайте команду:

# cat /proc/cpuinfo | egrep "(vmx|svm)"

Якщо ваш процесор підтримує технологію VT-x, У вас повинен бути приблизно такий висновок:

centos перевірка підтримки апаратної віртуалізації процесором

Якщо ж команда нічого не видала, але ваш процесор точно підтримує віртуалізацію, перевірте, вохможно дана опція відключена в BIOS сервера. шукайте параметри “Технологія віртуалізації Intel” або “SVM MODE”.

На моєму сервері підтримка даної технології включена, тому можна приступати до установки необхідних компонентів в CentOS через пакетний менеджер yum / dnf:

# yum install libvirt libvirt-python libguestfs-tools qemu-kvm virt-install –y

  • qemu-kvm – сам гіпервізор КВМ;
  • libvirt – бібліотеки управління вірилізацією;
  • virt-install – команди для управління віртуальними машинами KVM.

На сервер буде встановлено велику кількість пакетів, стежте, щоб у вас не виникло помилок в процесі установки.

Тепер потрібно додати сервіс libvirtd в автозавантаження і запустити його:

# systemctl enable libvirtd
# systemctl start libvirtd

включити libvirtd в centos linux

Перевірте, завантажилися чи модулі ядра kvm_intel і кв:

[root@localhost /]# lsmod | grep kvm

kvm_intel 188688 0
kvm 636931 1 kvm_intel
irqbypass 13503 1 kvm

Якщо у вас нічого не виводиться, перезавантажте сервер і перевірте повторно.

Налаштування мережі в KVM

Тепер створимо каталоги, в яких будуть зберігатися диски віртуальних машин і iso образи:

# mkdir -p /vz/{disk,iso}

Щоб створені віртуальні машини мали доступ в інтернет, нам потрібно налаштувати мережу через міст. Для цього буде потрібно пакет міст-утилів, Перевірте чи встановлений він в Linux командою:

# rpm -qa | grep bridge-utils

Якщо потрібно, встановіть його:

# yum install bridge-utils -y

Після установки пакетів для KVM, в системі з’явився мережевий інтерфейс virbr0:

# ip a

настройка bridge інтерфейсу для віртуальних машин kvm в linux

Щоб створити мережевий міст (міст), Потрібно налаштувати файл конфігурації для мережевого інтерфейсу сервера:

# cp /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 /etc/sysconfig/network-scripts/ifcfg-enp1s0f0_bak – робимо бекап файлу

# nano /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 – відкриваємо для редагування

Видаліть всі вміст і замініть на наступне:

DEVICE="enp1s0f0"
ONBOOT="yes"
BRIDGE=br0

У вашому випадку, ім’я інтерфейсу може відрізнятися (дивіться через команду ip a).

Після чого створіть файл:

# nano /etc/sysconfig/network-scripts/ifcfg-br0

з вмістом:

DEVICE="br0"
TYPE=BRIDGE
ONBOOT=yes
BOOTPROTO=static
IPADDR="IP_адрес_сервера"
NETMASK="255.255.255.0"
GATEWAY="Основной_шлюз"
DNS1="77.88.8.8"
DNS2="8.8.4.4"

Де вкажіть свої дані: IP-адреса сервера і основний шлюз. Після редагування конфігураційних файлів мережевих інтерфейсів потрібно перезапустити есервіс:

# service network restart

Якщо у вас після рестарту network пропав доступ до сервера, спробуйте перезавантажити його. Іноді це потрібно для коректного налаштування bridge.

Щоб перевірити стан bridge, використовуйте команду:

# brctl show

bridge name bridge id STP enabled interfaces
br0 8000.ac1f6b945206 no enp1s0f0
virbr0 8000.5254003f23cf yes virbr0-nic

Останнім кроком потрібно налаштувати перенаправлення мережевого трафіку:

# echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p

Тепер запустіть сервіс libvirtd:

# service libvirtd restart

На цьому базова настройка KVM закінчена, можна створити віртуальну машину.

KVM: створення віртуальної машини

Перед створенням віртуальної машини, я скачав образ CentOS 8 з офіційного дзеркала в директорію / vz / iso:

# cd /vz/iso && wget https://mirror.yandex.ru/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso

Щоб створити нову віртуалную машину KVM, виконайте:

virt-install -n test-centos
--noautoconsole
--network=bridge:br0
--ram 2048 --arch=x86_64
--vcpus=4 --cpu host --check-cpu
--disk path=/vz/disk/test-centos.img,size=32
--cdrom /vz/iso/CentOS-8.1.1911-x86_64-dvd1.iso
--graphics vnc,listen=IP,password=123456789
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on

  • test-centos – ім’я ВМ;
  • noautoconsole – після створення не потрібно підключатися до консолі віртуальної машини автоматично;
  • network – тип мережі (в нашому випадку bridge);
  • ram – кількість оперативної пам’яті в ВМ;
  • vcpus – кількість ядер процесора (настройка vCPU в KVM);
  • disk – віртуальний диск, path – шлях до диска. size – обсяг (у подальшому його можна розширити / зменшити);
  • сdrom – віртуальний cdrom, в який монтується iso образ для установки гостьовий ОС;
  • graphics – параметри підключення до машини за допомогою графічної консолі. Ми підключаємося через VNC, тому в listen вказує IP сервера, де створили ВМ і пароль для підключення в консолі віртуальної машини (password).

Щоб ВМ завантажувалася автоматично, виконайте:

# virsh autostart test-centos

Підключення до ВМ на KVM через VNC, установка ОС

Щоб підключитися до віртуальної машини через VNC, нам потрібно дізнатися порт, на якому вона працює:

[root@local vz]# virsh vncdisplay test-centos

IP:0

0 означає, що порт для підключення по VNC 5900, якщо у вас буде інший результат, просто додавайте до 5900 цифру, яку видасть вам команда.

Для підключення по VNC до серверів, я використовую утиліту TightVNC. Запустіть її і вкажіть IP-адреса сервера і VNC порт, який ми дізналися раніше (через подвійне двокрапка).

VNC підключення до консолі віртуальної машини в kvm на centos

натисніть “Підключіться“, У вікні, вкажіть пароль, який задали при створенні ВМ. Якщо все зробили правильно, у вас відкриється консоль сервера, на якій запущена установка CentOS (або інший ОС, образ якої ви змонтували).

установка гостьової ОС в kvm

Якщо у вас на сервері встановлено фаєрвол, відкрийте мережеві порти для VNC 5900-5910 в firewalld / iptables, цієї кількості повинно вистачити. Після установки гостьовий ОС на віртуальну машину, запустіть ВМ з консолі сервера:

virsh управління віртуальними машинами

Щоб вимкнути віртуальну машину KVM, використовуйте команду:

# virsh shutdown test-centos

Щоб вивести список всіх зареєстрованих віртуальних машин KVM:

# virsh list --all

На цьому базова настройка сервера для KVM і створення віртуальної машини закінчено. На KVM можна створити необмежену кількість віртуальних машин, все залежить від ресурсів вашого сервера і ваших потреб.

Leave a Reply

Your email address will not be published. Required fields are marked *