Вступ
KVM, що означає Kernel-based Virtual Machine (віртуальна машина на базі ядра), є рішенням для віртуалізації в операційних системах Linux. Воно дозволяє запускати кілька віртуальних машин (ВМ) на одній фізичній машині за допомогою вбудованих у сучасні процесори функцій віртуалізації апаратного забезпечення.
Ось розбір того, що пропонує KVM:
-
Гіпервізор: KVM діє як гіпервізор, що є частиною програмного забезпечення, яке створює та запускає віртуальні машини. Воно використовує розширення віртуалізації, які присутні в сучасних процесорах (такі як Intel VT-x або AMD-V), для забезпечення апаратно-допомаганої віртуалізації.
-
Інтеграція з ядром: KVM інтегрований у ядро Linux, що означає, що воно використовує функціональність ядра та користується постійними поліпшеннями ядра. Ця інтеграція забезпечує кращу продуктивність та стабільність для віртуалізованих середовищ.
-
Повна віртуалізація: KVM підтримує повну віртуалізацію, що дозволяє гостьовим операційним системам працювати без змін. Це означає, що ви можете запускати різноманітні операційні системи, включаючи Linux, Windows та інші, як віртуальні машини на хості з підтримкою KVM.
-
Продуктивність: KVM відомий своєю високою продуктивністю, завдяки підтримці апаратно-допомаганої віртуалізації та тісної інтеграції з ядром Linux. Це дозволяє ефективне використання ресурсів та мінімальний накладення при запуску віртуалізованих завдань.
-
Інструменти управління: KVM можна керувати за допомогою різних інструментів, включаючи утиліти командного рядка, такі як virsh, та графічні інтерфейси, такі як Virt-Manager. Ці інструменти надають адміністраторам можливість створювати, налаштовувати та управляти віртуальними машинами на хостах з KVM.
Загалом, KVM є потужним та універсальним рішенням для віртуалізації в системах на базі Linux, пропонуючи продуктивність, гнучкість та зручність управління для віртуалізованих середовищ.
Встановлення
Перевірка підтримки віртуалізації
Перш ніж встановлювати KVM, переконайтеся, що ваш процесор підтримує віртуалізацію та що вона увімкнена у налаштуваннях BIOS. Більшість сучасних процесорів підтримують віртуалізацію, але краще перевірити ще раз.
Для отримання докладної інформації про перевірку вашого обладнання, будь ласка, зверніться до Arch Wiki - Перевірка підтримки KVM.
Встановлення пакетів
Відкрийте термінал та встановіть необхідні пакети. Це включає утиліту образів диска QEMU qemu
, модуль ядра KVM kvm
та API та інструмент управління віртуалізацією libvirt libvirt
.
sudo pacman -S virt-manager virt-viewer qemu dnsmasq bridge-utils
Налаштування Служби libvirt
Libvirt - це набір інструментів для взаємодії з можливостями віртуалізації ядра Linux. Увімкніть службу libvirt для управління віртуальними машинами.
sudo systemctl enable --now libvirtd.service
Увімкніть автозапуск для типової віртуальної мережі NAT для ваших віртуальних машин:
sudo virsh net-start default
sudo virsh net-autostart default
Потім відредагуйте конфігурацію libvirt у файлі /etc/libvirt/libvirtd.conf
та встановіть параметри:
|
|
Додайте свого поточного користувача до групи libvirt
:
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Наостанок, перезапустіть демона libvirt, щоб застосувати зміни:
sudo systemctl restart libvirtd.service
Після цього ви повинні мати змогу запустити virt-manager
та використовувати віртуалізацію KVM, але якщо ви побачите деякі помилки, спробуйте перезавантажити вашу машину; якщо це не допоможе, перегляньте журнали та конфігурацію вашого демона libvirt.
Увімкніть вкладену віртуалізацію (необов’язково)
Вкладена віртуалізація дозволяє запускати існуючі віртуальні машини на сторонніх гіпервізорах та на інших хмарних сервісах без будь-яких змін у початкових віртуальних машинах або їхніх мережах.
Щоб увімкнути її (тимчасово), скористайтеся наступними командами терміналу:
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1
Потім, щоб перевірити, що вона увімкнена, перевірте результат команди:
cat /sys/module/kvm_intel/parameters/nested
вона повинна надрукувати Y
, якщо вкладена віртуалізація увімкнена.
Щоб зробити це зміну постійною при завантаженні вашої машини, скористайтеся командою:
echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf