« Назад

Сучасний сервер без системи віртуалізації наразі є швидше вийнятком, ніж правилом. І це не дивно, адже переваг його використання дійсно безліч. Виробнича потужність обладнання постійно зростає, і у адміна з’являється нагода розподіляти ресурси сервера для виконання різноманітних задач. А також виникає можливість заощадити кошти, використовуючи один більш потужний сервер з віртуалізацією замість декількох менш продуктивних. І на додачу –  зручна для адміністрування система управління з повним доступом до віртуального сервера на відстані. Всі ці переваги забезпечують попит на  технології віртуалізації у сучасному ІТ світі та їх беззаперечні перспективи.

Покрокова інструкція з налаштування системи віртуалізації KVM на базі ОС Linux Debian 10 (Buster)

 

Вихідні діні

Щоб виконати налаштування необхідно мати сервер з двома жорсткими дисками для RAID-1. Усі команди виконуватимуться від користувача root. Текстовий редактор nano.

1. Першочергове налаштування

Є декілька варіантів налаштування системи віртуалізації KVM. Розглянемо два з них. В першому випадку розгорнемо віртуальний сервер на lvm-розділі, в другому – використаємо файл-образ .

Для першого варіанту розмітка нашого RAID-массиву має виглядати наступним чином:

PART swap
PART /boot ext3
PART / ext4
PART /data ext4

З розділу /data ми згодом зробимо lvm-розділ.

Для установки на файл-образ  все простіше:

PART swap
PART /boot ext3
PART / ext4

Встановлюємо операційну систему Linux Debian 10 (buster) на дзеркало (RAID-1).

Встановлюємо додаткові пакети:

#apt install nmap tcpdump mc hdparm fail2ban smartmontools parted texinfo exim4-config mailutils host bridge-utils

Додаємо в файл /etc/sysctl.conf наступні рядки:

#nano /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.proxy_arp=1
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.all.proxy_arp=1

Застосовуємо  зміни:

#sysctl -p

2. Конфігуруємо інтерфейси

Якщо віртуальна машина матиме локальну ip-адресу, необхідно додати наступні рядки до файлу /etc/network/interfaces:

#nano /etc/network/interfaces
.
.
.
auto br0
iface br0 inet static
                bridge_ports none
                bridge_maxwait 0
                address локальна ip-адреса
                netmask 255.255.255.0

У випадку, коли віртуальна машина матиме зовнішню ip-адресу, конфигурація мосту виглядатиме інакше:

.
.
.
auto br0
iface br0 inet static
        address ip-адреса  хостової операційної системи
        netmask 255.255.255.255
        bridge_ports none
        bridge_stp off
        bridge_fd 0
        pre-up brctl addbr br0
        up ip route add ip-адреса хостової ОС/32 dev br0
        down ip route del ip-адреса хостової ОС/32 dev br0

3. Створення LVM-розділу (Перший варіант)

Даний розділ статті призначений для варіанту установки віртуальної машини на lvm. Якщо Ви віддаєте перевагу використанню файл-образу для установки, пропустіть цей розділ.

Розмонтуємо розділ, який ми створили для LVM та видалимо інформацію про нього з fstab (в нашому випадку це розділ /dev/md3):

#umount /data/
#nano /etc/fstab
proc /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0

Ініціалізуємо підтримку LVM цим розділом:

#pvcreate /dev/md3

Створимо групу томів, яку назвемо vgvm:

#vgcreate vgvm /dev/md3

Для того, щоб отримати дані про точний обсяг (в TiB) вільного дискового простору, виконайте наступну команду:

#pvdisplay

Створимо логічний розділ LVM на 1Тб:

#lvcreate –L 1Т -n lvmpart vgvm

Перевіримо, що все гаразд:

#lvdisplay

4. Створення  файлу-образу (другий варіант)

Альтернативний  варіант –це створення файлу-образу:

#dd if=/dev/zero of=/home/img/guest.img bs=1024k count=150000

В даному прикладі створюється файл /home/img/guest.img разміром 150 ГБ.

5. Інсталяція  KVM

Встановлюємо необхідні пакети:

#apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libguestfs-tools genisoimage virtinst libosinfo-bin

Вводимо до складу користувача root в групи libvirt та kvm:

#adduser `id -un` libvirt
#adduser `id -un` kvm

Перезавантажуємо систему:

#shutdown -r now

Після перезавантаження перевіряємо працездатність:

#virsh -c qemu:///system list
root@server1:~# virsh -c qemu:///system list
 Id Name                 State
----------------------------------

6. Приклад установки гостьової системи Linux Debian 10 (buster)

Для перевірки списку операційних систем, що підтримуються системою віртуалізації kvm, виконайте наступні команди:

#apt install libosinfo-bin
#osinfo-query os

Для першого варіанта  (інсталяція на lvm-розділ), запуск установок віртуальної машини буде мати наступний вигляд:

#virt-install --connect qemu:///system --arch=x86_64 -n debian10 -r 32000 --vcpus=6 --disk /dev/vgvm/lvmpart,device=disk,bus=virtio -c /home/iso/debian10.iso --vnc --noautoconsole --os-type linux --os-variant debian10 --network=bridge:br0,model=virtio

Для файлу-образу:

#virt-install --connect qemu:///system --arch=x86_64 -n debian10 -r 32000 --vcpus=6 --disk /home/img/guest.img,device=disk,bus=virtio -c /home/iso/debian10.iso --vnc --noautoconsole --os-type linux --os-variant debian10 --network=bridge:br0,model=virtio

де:

--connect qemu:///system URL, по якому йде підключення до KVM,
-n debian10- ім'я хостингової системи,
-r 32000 - обсяг оперативної пам'яті, що виділяється у мегабайтах,
--arch=x86_64  -  архітектура гостьової системи,
--vcpus=6 - кількість віртуальних процесів, відкритих гостю,
--disk /dev/vgvm/lvmpart,device=disk,bus=virtio - розділ lvm, на який встановлюємо віртуальну машину,
--disk /home/img/guest.img,device=disk,bus=virtio - файл-образ, на який встановлюємо гостьову систему,
--os-type=linux - тип операційної системи,
--os-variant debian10 - версія операційної системи,
--network=bridge:br0,model=virtio - міст для нашої гостьової системи.
--vnc Запускаємо VNC для підключення до текстової консолі.

Залишилося додати доступ до віртуальної машини по vnc:

#nano /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
vnc_password = "passwd"

Застосовуємо зміни:

#service libvirtd restart

Встановлюйте операційну систему та користуйтеся перевагами системи віртуалізації.

Хай щастить!

Компанія ТОВ “ІНФОТЕК.УА” надає професійні послуги з обслуговування комп’ютерів організацій

August 22, 2019

Якщо у вас виникли питання

ЗВ'ЯЖІТЬСЯ З НАМИ!

Залишіть свої дані і ми зв'яжемося з вами найближчим часом