[[oktatas:linux:virtualizálás|< Virtualizálás]]
====== KVM ======
* **Szerző:** Sallai András
* Copyright (c) 2019, Sallai András
* Szerkesztve: 2019, 2021
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== A KVM-ről =====
A KVM a Kernel-based Virtual Machine rövidítése, magyarul kernel alapú virtuális gép.
A KVM fejlesztését Avi Kivity kezdte a Qumranet szoftverfejlesztő cégnél, amelyet
2008-ban a Red Hat felvásárolt.
===== CPU támogatás =====
Ellenőrizzük a processzor virtualizációs támogatását.
egrep --color 'vmx|svm' /proc/cpuinfo
Ha nincs vmx vagy svm a cpu jellemzők között, akkor nincs virtualizációs támogatás a processzorban,
az egrep nem ír ki semmit. Ha nincs támogatás a kvm helyett csak qemu virtualizáció lehetséges.
===== Telepítés =====
apt install qemu-kvm libvirt0 bridge-utils virt-manager
A Debian GNU/Linux 11 rendszeren a qemu-kvm helyett a qemu-system-x86 telepszik.
===== Bridge interfész =====
Nézzük meg, a hálózati kártya milyen néven érhető el:
nano /etc/network/interfaces
DHCP esetén:
auto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports enp0s3
bridge_stp off
bridge_maxwait 0
Fix IP esetén:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.10.2
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
dns-nameservers 192.168.10.8 8.8.8.8
dns-search zold.and
bridge_ports enp0s3
bridge_stp off
bridge_maxwait 0
* bridge_stp off -- Spanning Tree Protocol kikapcsolása
* bridge_maxwait -- Ne legyen várakozási idő mielőtt elérhető lesz
Indítsuk újra a gépet:
reboot
Vagy csak egyszerűen:
ifup br0
===== Non-root használat =====
A janos felhasználót (vagy helyette a saját felhasználókat) a libvirt csoportba felvesszük:
# gpasswd -a janos libvirt
A janos felhasználó így sudo nélkül tudja kezelni a virtuális gépeket.
Jelentkezzünk ki, majd újra be.
Az újabb bejelentkezés után az id paranccsal ellenőrizzük a janos felhasználó
bekerült-e a csoportba. A janos felhasználóként kell futtatni:
$ id
===== ISO könyvtárak =====
mkdir /var/lib/libvirt/iso
mv debian-9.8.0-amd64-netinst.iso /var/lib/libvirt/iso
chown libvirt-qemu:libvirt \
/var/lib/libvirt/iso/debian-9.8.0-amd64-netinst.iso
===== CLI felület =====
virt-install \
--virt-type kvm \
--name debian \
--memory 512 \
--cdrom ~/iso/debian.iso \
--disk size=4 \
--os-variant debianstretch
virt-install \
--name debianGep \
--memory 512 \
--os-variant debiansqueeze \
--location http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/ \
--disk size=4 \
--network bridge=br0 \
--hvm \
--virt-type kvm \
--extra-args "console=ttyS0"
* --name
* a virtuális gép neve
* --memory
* memória mérete MiB-ban
* --location
* a terjesztés forrása
* http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/
* --os-variant
* operációs rendszer variáció
* debian9
* --disk opció=érték1,érték2,...
* size=10
* 10 G
* --network
* hálózati bridge
* --hvm
* teljes virtualizáció kérése
* --virt-type
* használt hypervizor
* kvm, qemu, xen
* --extra-args
* extra argumentumok a kernel számára
* "console=ttyS0"
===== GUI kezelőfelület =====
==== Telepítés ====
apt install virt-manager
==== Csoport ====
Ha fentebb kihagytuk volna a felhasználó libvirt csoportba helyezését, akkor tegyük meg,
mivel a virt-manager rendszergazdai jelszót kér induláskor.
Ha felhasználót betesszük a **libvirt csoportba**, engedélyezzük a felhasználónak
a virt-manager használatát, így nem kér root jelszót induláskor.
gpasswd -a janos libvirt
A művelethez ki és be kell jelentkezni.
===== Linkek =====
==== Források ====
* https://wiki.debian.org/KVM (2019)
* https://www.hiroom2.com/2017/06/26/debian-9-bridge-interface/ (2019)
* https://www.hiroom2.com/2017/06/26/debian-9-install-kvm/ (2019)
* https://tech.binary.com/kvm-virtualization-in-debian-9-stretch/ (2019)
* https://manpages.debian.org/jessie/bridge-utils/bridge-utils-interfaces.5.en.html (2019)
* https://computingforgeeks.com/use-virt-manager-as-non-root-user/ (2019)
* https://www.cyberciti.biz/faq/install-kvm-server-debian-linux-9-headless-server/ (2019)
* https://blog.programster.org/set-up-debian-9-kvm-server (2019)
==== Webes felületek ====
* https://www.danpros.com/2017/06/good-and-lightweight-web-based-kvm-manager (2019)
* https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/manage-kvm-qemu-with-kimchi-web-interface.html (2019)
* https://www.linux-kvm.org/page/Management_Tools (2019)